Dll Não Exibe Informações correta

Delphi

14/08/2007

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

Curtidas 0

Respostas

Massuda

Massuda

14/08/2007

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.


GOSTEI 0
Sremulador

Sremulador

14/08/2007

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...


GOSTEI 0
Sremulador

Sremulador

14/08/2007

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;



GOSTEI 0
Massuda

Massuda

14/08/2007

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


GOSTEI 0
POSTAR