Adolfo_Z 0 Denunciar post Postado Outubro 10, 2006 Amigos, tenho uma DLL na qual possue uma função conforme descrito abaixo: ********************************************************* function LeIni (NomeArquivo, Colchete, Parametro: String): String; stdcall; var ArqIni : TIniFile; Texto: String; begin ArqIni := tIniFile.Create(NomeArquivo); Try Texto := ArqIni.ReadString(Colchete, Parametro, Texto); Result := Texto; Finally ArqIni.Free; end; end; ********************************************************* No aplicativo a função esta declarada conforme abaixo: function LeIni (NomeArquivo, Colchete, Parametro: String): String; stdcall; external 'x.DLL'; É utiliza normalmente, e funciona normalmente retornando o valor solicitado. O problema começa quando o aplicativo que a chamou é fechado, a seguinte mensagem de erro aparece: "Invalid pointer operation" quando estou executando o aplicativo do delphi7 e quando executo o aplicativo atraves do seu .exe ele diz que o aplicativo encontrou um problema e precisa ser fechado, a mesma função quando colocada dentro do progroma não apresenta problemas. Existem na dll outras funções mais simples que funcionam normalmente. Obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Outubro 10, 2006 Faz um teste, declara ShareMem no Uses na DLL, mas precisa ser o primeiro a ser declarado... Uma outra forma de solução: http://www.codexterity.com/fastsharemem.htm Compartilhar este post Link para o post Compartilhar em outros sites
Adolfo_Z 0 Denunciar post Postado Outubro 11, 2006 Marcio, Fiz o que você propos mais o erro continua.... alguem me falou alguma coisa como registrar a dll. Alguem sabe como se faz issu???Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Outubro 11, 2006 Acredito que o registro da DLL não irá influencia, isto esta parecendo mais erro de memória mesmo, tanto que no link acima eles explicavam justificando justamente isto, o controle de memória, mas estranho não ter funcionado, vou tentar simular aqui isto tb... Compartilhar este post Link para o post Compartilhar em outros sites
Adolfo_Z 0 Denunciar post Postado Outubro 11, 2006 Valeu Marcio.... Obrigado Compartilhar este post Link para o post Compartilhar em outros sites