FPQCALL - Function is not declared [ERLEDIGT]

Hier können die Unterschiede, Fehler und Probleme zwischen den Versionen bzw. bei der Migration besprochen werden

Moderator: Moderatoren

Antworten
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2823
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

FPQCALL - Function is not declared [ERLEDIGT]

Beitrag von georg »

Hallo,


da ich gerade ein wenig Zeit habe, experimentiere ich mal wieder mit der 2.0 Build 817.

In Bearbeitung habe ich ein grösseres Programm, das nur Teile (DLLs) verwendet, die mir auch im Xbase++-Sourcecode vorliegen, sowie die OT4XB.

Genau da hakt es. In einer DLL wird diese Anweisung (aus der .ppo-Datei) ausgeführt:

Code: Alles auswählen

function mysql_init(  pMysql  ) ;local _fp_ := nGetProcAddress( "libmysql" , iif(.F.,,"mysql_init") )   ;return ( NIL , FpQCall( _fp_ ,"__pt" +  "__pt"  ,@ pMysql ) )
Klar, die DLL enthält ein

Code: Alles auswählen

#PRAGMA Library("ot4xb.lib")
Und in dem Programm, das diese DLL verwendet, ist auch ein entsprechendes #PRAGMA drin. Und ein

Code: Alles auswählen

REQUEST fpqcall
Nützt alles nichts. Wenn ich das Programm mittels xppdbg starte und über das Command Interface "fpqcall()" eingebe, kommt als Ergebnis NIL. (Klar, keine Parameter etc. - aber kein Hinweis, dass die Funktion nicht verfügbar sei.)

Im Einsatz habe ich die aktuelle Version, die Pablo bereithält. Ich habe auch kontrolliert, dass keine älteren Versionen, Include-Dateien etc. vorhanden sind.

Also gehe ich erst einmal zurück zur 355, in der Hoffnung, dass einer von Euch eine bessere Idee hat.
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: FPQCALL - Function is not declared

Beitrag von ramses »

Hallo Georg

wie sieht den der Source-Code der Funktion aus?

Ein Return mit 2 Parameter finde ich komisch. Wird FpQCall deshalb gar nicht eingebunden?

Gruss Carlo
Valar Morghulis

Gruss Carlo
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2823
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

Re: FPQCALL - Function is not declared

Beitrag von georg »

Hallo, Carlo -


der Source-Code sieht so aus:

Code: Alles auswählen

DLL libmysql IMPORT mysql_init AS POINTER32 ;
             PARAM  pMysql  AS POINTER32
Daher habe ich das Ergebnis des Precompilers gepostet. Der ppo-Code sieht unter der 355 identisch aus. Und es ist ja auch nicht der Compiler, der rumjammert, sondern erst die Laufzeitumgebung, die nicht in der Lage ist, fpqCall zu lokalisieren.
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2823
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

Re: FPQCALL - Function is not declared

Beitrag von georg »

So, ich muss vermelden: "Error in front of device"

Die MySQL-API libmysql.dll fehlte. Das führte zu der Fehlermeldung, dass die Funktion nicht gefunden wurde. Der Verweis auf fpqcall() bezog sich auf die Funktion, in der ein Argument fehlte.

Gut, gelöst.
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Antworten

Zurück zu „Unterschiede Version 1.9 <-> 2.0“