Ver Mensaje Individual
  #3  
Antiguo 06-02-2006
JoseQ JoseQ is offline
Miembro
 
Registrado: jul 2004
Posts: 167
Reputación: 20
JoseQ Va por buen camino
creacion del formulario:

llamada desde la aplicacion:
Código Delphi [-]
procedure TModuloImagenes.ActivarPaciente1Click(Sender: TObject);
begin
formref:=abriractivar(Handle,100,100,wm_user);
end;

creacion en la dll(este codigo esta en el dpr)

Código Delphi [-]
function AbrirActivar(AHandle:THandle;Px,Py,Msgback:integer):longint;  //Jose
var activar:Tactivar;
begin
application.Handle:=AHandle;
activar:= Tactivar.Create(nil);
formref:=longint(activar);
activar.fhandle:=ahandle;
activar.msgdevuelto:=msgback;
activar.Top:=Px;
activar.Left:=Py;
activar.Show;
result :=formref;
end;

cierre del formulario(se ejecuta cnd el formulario envia un mensaje a la aplicacion

llamada en la aplicacion:
Código Delphi [-]
procedure TModuloImagenes.cogeMSG(var msg : Tmessage);
begin
codpac:=msg.WParam;
dm.datosper.Locate('Codigo',codpac,[]);
DM.fotos.Filter:=('Codigo ='+ QuotedStr(dbedit1.text));
DM.fotos.Filtered:=true;
cerraractivar(formref);
end;

codigo en la dll

Código Delphi [-]
procedure CerrarActivar(AFormRef:longint);
begin
if AFormRef > 0 then
  Tactivar(AFormRef).free;
//activar.Close;
end;

no funciona ni con close no free, ni refiriendome al formulario con la variable aformref ni poniendo directamente el nombre del mismo.
Responder Con Cita