GARANTIR DESCONTO

Fórum Dll Não Exibe Informações correta #344494

14/08/2007

0

Amigos, estou construindo uma dll para mostrar alguns relatórios, e estou tentando passar os parametros para ela, mas não consigo passar o parametro correro, o que deve esta ocorrendo;

Dll

Procedure Relatorio(Count: PChar); cdecl; export;
begin
 showmessage(Count^);

 if Dados=nil then
    Application.CreateForm(TDados, Dados);

 Application.CreateForm(TR1, R1);
  try
  R1.ShowModal;
  finally
  R1.Release;
  FreeAndNil(R1);
 end;
end;


Chamada

Procedure Relatorio(Count: Pchar); External ´reportsf.dll´;


Relatorio(´TESTE´);



Já tentei de diversas maneiras, mas quando no showmessage não aparece uns caracteres estranhos ele aparece apenas um, alguem saberia dizer o que e


Sremulador

Sremulador

Responder

Posts

14/08/2007

Massuda

Acho que você não precisa escrever ´Count^´, basta apenas Count.

Um ponto importante... a não ser que você esteja usando os packages padrão do Delphi tanto no seu programa como na DLL, o Application da DLL não será o mesmo do programa (não tenho certeza, mas acho que nem Application existe, é nil). Crie seus forms usando o construtor Create dos forms.


Responder

Gostei + 0

15/08/2007

Sremulador

Já tentei com o count^, porem não funcionou, já tentei de tudo, mudei várias vezes o fonte, mas nd, o que poderia ser...


Responder

Gostei + 0

16/08/2007

Sremulador

Amigos, simplesmente mudei para double funcionou, com um pequeno problema, no campo conta, tenho que jogar as informações do documento e do documento o da conta pois não sei de que forma as informações ficam invertidas...

Function Relatorio(Conta, Tipo, Documento: double): Pchar; cdecl; export;
begin
 if Dados=nil then
    Application.CreateForm(TDados, Dados);

 Application.CreateForm(TR1, R1);
  try
  R1.OpenQuery(Documento, Tipo, Conta, true);
  R1.Tag:= Round(Conta);
  finally
  R1.Release;
  FreeAndNil(R1);
 end;
 FreeAndNil(Dados);
end;



Responder

Gostei + 0

16/08/2007

Massuda

...não sei de que forma as informações ficam invertidas
remova o [b:8f6160f51e]cdecl[/b:8f6160f51e].


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar