Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Comparar dato llamado de Dll (https://www.clubdelphi.com/foros/showthread.php?t=50081)

Alexander 07-11-2007 18:16:03

Comparar dato llamado de Dll
 
Hola a todos.

He llamado una función que hice en una dll, pero al comprar el dato que me envio la dll, hay error de "Invalid Pointer Operation"

Código Delphi [-]
{$IFNDEF MYDLL}
function OpenFileConfig( pNombre: String) : String;
  StdCall External 'MYDLL.dll';
{$ENDIF}
 
 // en el botón hago
 
  Ruta := OpenFileConfig('archivo_.ini');
  if Ruta = '' then

al hacer el if aborta con el error de "Invalid Pointer Operation".

Como puedo comparar un dato String que biene de una función externa.

Gracias

dec 08-11-2007 00:04:54

Hola,

Puede que el compilador se "pare" en la línea de la condición, pero, para mí que el problema es anterior, justamente, cuando llamas a "OpenFileConfig". Es decir, no se trata de que no puedas comparar dos cadenas, diría yo, sino que, el error se da al intentar usar "OpenFileConfig".

La verdad es que no estoy muy puesto en el tema. Se me ocurre que el "stdcall" no deba estar ahí, puesto que la función de la DLL retorna un "String". Tal vez sea que dicha función no debería retornar un "String", sino un "PChar", por lo que he dicho ahora mismo en este hilo, o acaso no basta con declarar como "externa" la función de marras, sino que, hay que "cargar" la DLL y buscar el procedimiento, antes de ejecutarlo...

Quizás algún otro compañero puede aportar alguna otra cosa al respecto. :)


La franja horaria es GMT +2. Ahora son las 06:55:49.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi