Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

savoine

Erro ao criar a DLL em rutime

Recommended Posts

programa, quando executo na minha maquina ele cria o arquivo DLL blz, porem quando executo o mesmo arquivo em outro micro ele da a mensagem que o sistema não pode iniciar pois esta faltando a bendita da DLL.

 

Unit:

unit CreateDLL;

interface

uses
  Winapi.Windows, System.Classes, System.SysUtils, Vcl.Forms;

procedure gerarDLL;

implementation

{$R eCISHook.res}

procedure gerarDLL;
var
  Path: String;
  Res: TResourceStream;
begin
  //MessageBox(0, 'Gerardll!','', mb_IconHand);
  Path := ExtractFilePath(Application.ExeName) + 'eCISHook.dll';

  Res := TResourceStream.Create(HInstance, 'eCISHook', 'DLL'); 
  Try
    Res.SavetoFile(Path);
  Finally
    Res.Free;
  End;
end;

initialization
begin
  gerarDLL;
end;

end.

Source do Projeto

program eCISClient;

{$R *.dres}

uses
  Windows,
  System.SysUtils,
  System.Win.ComObj,
  Winapi.ActiveX,
  MidasLib,
  Vcl.Forms,
  CreateDLL in 'CreateDLL.pas',
  DMCLient in 'DMCLient.pas' {DM: TDataModule},
  CISClient in 'CISClient.pas' {FormCISClient},
  uProxyClient in 'uProxyClient.pas',
  uUtil in '..\Persistent\uUtil.pas',
  uWMI_Parametros in '..\Persistent\Entity\uWMI_Parametros.pas',
  uEntities in '..\Persistent\uEntities.pas';
......
end.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola amigo Bom dia....

 

Como vc ta chamando esta dll ?

 

assim ?

Procedure SuaProcedure(CONECTOR : TSQLConnection; DS : TDataSource);External'Suadll.Dll';

Aki

 

http://www.planetadelphi.com.br/dica/3463/criando-dlls-no-delphi

 

Tem como chamar diferente...rsrsrs...as vezes vc ta chamando a DLL antes de criar....OU vc poe para verificar se existe,se Existe Roda o Programa e se não cria a dll...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvido: inclui a oção "delayed" no final da chamada da DLL.

 

procedure InitHook(const CallBack: THookCallback); register; external 'eCISHook.dll' delayed;
procedure UnHook; register; external 'eCISHook.dll' delayed;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.