Ver Mensaje Individual
  #7  
Antiguo 11-07-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Reputación: 25
__cadetill Va por buen camino
por ejemplo, una llamada completa a una dll

**** programa principal (o llamador)
Código:
unit tal;
interface
uses ....
type ....
end; //del type

Const
     MyDll = 'MyDll.dll';
var
  MyFunctionInDll : function ( hWnd : THandle;....): Integer stdcall;

implemantation

uses.....

procedure TMyForm.Button1Click(Sender: TObject);
var Handle: THandle;
begin
     Handle := LoadLibrary(MyDll);
      if Handle <> 0 then
       begin
         @MyFunctionInDll  := GetProcAddress(Handle, 'MyFunctionInDll');
         try
           if @MyFunctionInDll <> nil then
           begin
                MyFunctionInDll ( Self.Handle, .....);
           end;
         finally
                FreeLibrary(Handle);
         end;
       end; //  Fin del IF del Han
end;
******* La dll

Código:
library MyDll;

uses
.....

function MyFunctionInDll ( hWnd : THandle; .....) : integer; stdcall; export;
var iValRet: Integer;
begin
     Application.Handle := hWnd;
     MyFormInDll := TMyFormInDll.Create(Application);
     try
        iValRet := MyFormInDll.ShowModal;
     finally
            FreeAndNil(MyFormInDll);
     end;

     Result := iValRet;
end;

exports MyFunctionInDll;

begin
end.
Espero que ahora lo tengas algo mas claro
Responder Con Cita