Delphi LIB/DLL in Xbase++
Moderator: Moderatoren
Delphi LIB/DLL in Xbase++
Hallo,
habe eine Delphi DLL/LIB mit Funktionen die ich gerne in Xbase++ verwenden möchte. Der Zugriff über die DLL geht ohne Probleme, aber das geht leider immer nur über DllLoad() und DllCall(). Ich würde die Funktionen gerne ganz normal aufrufen, ohne erst die DLL zu laden, also über die LIB. Das funktioniert aber irgendwie nicht. Habe die LIB mit pragma library eingebungen, aber beim linken sagt er mir "unresolved symbol". Geht das garnicht oder was mache ich falsch?
Vielen Dank
Gruß Jan
habe eine Delphi DLL/LIB mit Funktionen die ich gerne in Xbase++ verwenden möchte. Der Zugriff über die DLL geht ohne Probleme, aber das geht leider immer nur über DllLoad() und DllCall(). Ich würde die Funktionen gerne ganz normal aufrufen, ohne erst die DLL zu laden, also über die LIB. Das funktioniert aber irgendwie nicht. Habe die LIB mit pragma library eingebungen, aber beim linken sagt er mir "unresolved symbol". Geht das garnicht oder was mache ich falsch?
Vielen Dank
Gruß Jan
- brandelh
- Foren-Moderator
- Beiträge: 15699
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 68 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: Delphi LIB/DLL in Xbase++
Hi,
DllLoad() etc. ist der elegante Weg, weil man alles schön steuern kann.
Bequemer ist DLLFUNCTION() -> Handbuch
Auf jeden Fall musst du einmalig im PRG Code die externen Funktionen per DLLFUNCTION referenzieren,
danach kannst du sie normal benutzen.
DllLoad() etc. ist der elegante Weg, weil man alles schön steuern kann.
Bequemer ist DLLFUNCTION() -> Handbuch
Auf jeden Fall musst du einmalig im PRG Code die externen Funktionen per DLLFUNCTION referenzieren,
danach kannst du sie normal benutzen.
Gruß
Hubert
Hubert
Re: Delphi LIB/DLL in Xbase++
Hi Hubert,
da hast du schon recht, dass es eleganter ist, aber ich möchte dieses Gerüst eigentlich nicht haben. Also anstatt
nHandle := DllLoad("hubert.dll")
DllCall(nHandle, DLL_STDCALL, "test", 1)
möchte ich das einfach so machen
#pragma library("hubert.lib")
test(1)
Also die Funktionen nach Einbindung der LIB einfach so wie ganz normale Xbase Funktionen benutzen.
Jan
da hast du schon recht, dass es eleganter ist, aber ich möchte dieses Gerüst eigentlich nicht haben. Also anstatt
nHandle := DllLoad("hubert.dll")
DllCall(nHandle, DLL_STDCALL, "test", 1)
möchte ich das einfach so machen
#pragma library("hubert.lib")
test(1)
Also die Funktionen nach Einbindung der LIB einfach so wie ganz normale Xbase Funktionen benutzen.
Jan
- brandelh
- Foren-Moderator
- Beiträge: 15699
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 68 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: Delphi LIB/DLL in Xbase++
Hi,
du musst auf jeden Fall jede Funktion per DLLFUNCTION zuerst dem XBase++ System bekannt geben.
Diese könntest du natürlich dann in eine XYZ-DLL.CH schreiben und includen
du musst auf jeden Fall jede Funktion per DLLFUNCTION zuerst dem XBase++ System bekannt geben.
Diese könntest du natürlich dann in eine XYZ-DLL.CH schreiben und includen
Gruß
Hubert
Hubert
- brandelh
- Foren-Moderator
- Beiträge: 15699
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 68 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: Delphi LIB/DLL in Xbase++
Was meinst du jetzt damit ?JanR hat geschrieben:Geht das auch mit Klassen?
Delphi Klassen ?
Ich habe keine Ahnung, sorry
Gruß
Hubert
Hubert
Re: Delphi LIB/DLL in Xbase++
Genau, mit Klassen in einer DLL. Mit Funktionen geht es ja problemlos.
-
- UDF-Programmierer
- Beiträge: 92
- Registriert: Di, 19. Dez 2006 19:37
- Wohnort: Düsseldorf
- Kontaktdaten:
Re: Delphi LIB/DLL in Xbase++
Hallo JanR,
lade Dir mal die Demo 'Fast Report for Xbase' von Sergey Spirin
http://www.paritetsoft.ru/frax.htm herunter.
Ein sehr guter Reportgenerator und viele Beispiele von DLL-Aufrufen
aus Xbase heraus.
Gruß
Jürgen
lade Dir mal die Demo 'Fast Report for Xbase' von Sergey Spirin
http://www.paritetsoft.ru/frax.htm herunter.
Ein sehr guter Reportgenerator und viele Beispiele von DLL-Aufrufen
aus Xbase heraus.
Gruß
Jürgen
- Lewi
- 1000 working lines a day
- Beiträge: 830
- Registriert: Di, 07. Feb 2006 14:10
- Wohnort: Hamburg
- Danksagung erhalten: 2 Mal
Re: Delphi LIB/DLL in Xbase++
Der Hinweis auf FRAX in Hinblick auf die Einbindung einer Delphi-DLL ist ein guter Hinweis. FRAX selbst ist eine DLL, die unter Delphi entwickelt wird. Die Aufrufe von Klassen, Methoden und Klassen-Acsess-Variablen erfolgt über xBase++ Warper Funktionen, die wiederum an an die DLL weitegeleitet werden.
Gruß, Olaf
Gruß, Olaf