Clases y propiedades

Estimado Experto:
Espero me puedas ayudar en lo siguiente:
1.- En una rutina para envío de email, me da un error de Licencia de Clase, algo así, es de MSMAPI.MapiSession
COmo soluciono para que se ejecute esta rutina.
2.- Necesito Crear Una Rutina, para automazizar el cambio de Propiedades en un Formulario, por ejemplo: Click en Cambiar: Luego se cambie thisformset. Form.txtFecha.enabled=.t.
a
thisformset.form.txtFecha.enabled=.f.
Pero el cambio sea hasta nuevamente ir a Cambiar, es decir no se pierda cuando se sale del Formulario
Gracias por tu colaboración
Atentamente.
Johnny
[email protected]

1 respuesta

Respuesta
1
1)
Fíjate con este prg de ejemplo, si seguís con problemas, decime el S.O. que tienes y version de Vfp que usas.
Local pcPara, pcAsunto, pcCuerpo, paFichEnviar, plMostrarDialogo
IF EMPTY(pcPara)
pcPara = "direccion@de_correo.es"
ENDIF
IF EMPTY(pcAsunto)
pcAsunto = "<Asunto>"
ENDIF
IF EMPTY(pcCuerpo)
pcCuerpo = ""
ENDIF
IF EMPTY(paFichEnviar)
paFichEnviar = ""
ENDIF
LOCAL oform
oform = CreateObject("form")
oform.addobject("Session1","olecontrol","MSMAPI.mapiSession")
IF TYPE('oform.Session1') <> 'O'
MESSAGEBOX('No se ha podido instanciar la aplicación de correo.', 64, 'Atención')
RELEASE oform
RETURN .F.
Endif
Oform. Addobject("Message1","olecontrol","MSMAPI.mapiMessages")
IF TYPE('oform.Message1') <> 'O'
MESSAGEBOX('No se ha podido instanciar la aplicación de correo.', 64, 'Atención')
RELEASE oform
RETURN .F.
ENDIF
oform.Session1.LogonUI = .t.
*- Si no se pone la propiedad a .F. y en OUTLOOK está puesto trabajar sin conexión
*- se cuelga
oform.Session1.DownloadMail=.f.
oform.Session1.signon
oform.Message1.sessionid = oform.Session1.sessionid
oform.Message1.compose
oform.Message1.RecipDisplayName = pcPara
oform.Message1.msgsubject = pcAsunto
oform.Message1.msgnotetext = pcCuerpo
*- Si no es un array, lo crea
IF TYPE('paFichEnviar[1]') = 'U'
LOCAL lcFileEnviar
lcFileEnviar = paFichEnviar
DIMENSION paFichEnviar(1)
paFichEnviar(1) = lcFileEnviar
ENDIF
LOCAL lnContFiles
lnContFiles = 1
FOR lnCount = 1 TO ALEN(paFichEnviar,1)
*- Si existen los archivos
IF FILE(paFichEnviar(lnContFiles))
oform.Message1.AttachmentIndex = lnContFiles - 1
oform.Message1.AttachmentPathName = paFichEnviar(lnContFiles)
oform.Message1.AttachmentPosition = lnContFiles - 1
lnContFiles = lnContFiles + 1
Endif
Endfor
Oform. Message1. Send(plMostrarDialogo)
Oform. Session1. Signoff
Release oform
2)
Pones en una variable global(estado=.t.) El valor de la propiedad, y en el init del form en cuestión llamas la propiedad asignando la variable.
thisformset.form.txtFecha.enabled=estado

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas