alguem me ajuda com dll? nao sei oq acontece ....

Delphi

26/02/2004

seguinte to ´aprendendo´ a mexer com dll agora .. e to tendo umas dificuldades ...

[b:a4b33b481e]minha dll:[/b:a4b33b481e]
library server;

uses
  SysUtils, Classes, Dialogs;

{$R *.res}

function listaserver(Numero,Lista: Integer; Server: String):string; stdcall; export;
begin
 if (Lista = 1) then Result := ´localhost´;
 if (Numero = 1) then Result := ´1´;
end;

exports
 listaserver;
begin
end.



[b:a4b33b481e]no meu projeto eu coloquei la ...[/b:a4b33b481e]
 function listaserver(Numero,Lista: Integer; Server: String):string; stdcall; external ´server.dll´;


[b:a4b33b481e]e chamei a funçao assim:[/b:a4b33b481e]
 showmessage(listaserver(0,1,´´));


ele retorna a string localhost mas em seguida retorna um erro ...´invalid ponter operation´ uma coisa assim ....

alguem sabe oq estou fazendo de errado?

valeuz!!!!


ahhh jah ia eskecendo .. jah vo por no mesmo topico q eh mais facil ... alguem ae sabe como eu faço pra comparar 2 datas...

ex ... verficiar se 25/02/2004 eh menor q 27/022004

valeuz denovo pessoal! :)


Salsa

Salsa

Curtidas 0

Respostas

Salsa

Salsa

26/02/2004

poxa ninguem sabe oq estou fazendo de errado???


GOSTEI 0
Cebikyn

Cebikyn

26/02/2004

Não se deve usar [b:72909d31c6]strings[/b:72909d31c6] como resultado de funções de DLLs, nem como parâmetros. Vc deve usar PChar, PWideChar, ShortString, etc... no lugar.

Se for de extrema necessidade o uso de Strings, vc deve declarar [b:72909d31c6]ShareMem[/b:72909d31c6] (para evitar o tipo de erro que vc obteve) como primeira unit na cláusula uses da DLL e do DPR.

Qq dúvida deixe uma msg como resposta.


GOSTEI 0
Cebikyn

Cebikyn

26/02/2004

poxa ninguem sabe oq estou fazendo de errado???

Para obter respostas mais rápidas, vc deve colocar um título mais descritivo em seu tópico, só isso. Além de obter respostas rápidas, vc evita ter seu tópico bloqueado ou editado por um moderador.


GOSTEI 0
Adriano Santos

Adriano Santos

26/02/2004

Integer pode usar na dll, não teria que usar outro tipo neste caso ?


GOSTEI 0
Cebikyn

Cebikyn

26/02/2004

Integer pode, o problema mesmo são strings. Algumas funções da própria API do Windows usam integer (as funções da API vem de dlls).


GOSTEI 0
Salsa

Salsa

26/02/2004

valeuz .. agora rolou ....

ah agora q me liguei q fiz um nome de topico nada a ver mesmo ahaiahiuahiaauhihaiua

foi mal ae povo!


GOSTEI 0
POSTAR