DLL Importer für andere Sprachen

Anwendungen, Tools, Userlibs und anderes nützliches.
Benutzeravatar
remi_meier
Beiträge: 1078
Registriert: 29.08.2004 20:11
Wohnort: Schweiz

Beitrag von remi_meier »

Danke!

Also ich hoffe, dass nun auch /fb funktioniert. Bin gerade zu faul es auch
zu testen :roll: . Ev. mach ich das noch, oder jemand sonst ist so lieb :mrgreen:
Zumindest die Syntax wird akzeptiert.

Link ist immer noch
http://remi.secretly.de/downloads/headergen.exe
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Der haut nicht hin :mrgreen:

Code: Alles auswählen

' Rename the .lib into .a to let the Linker find the library!
#INCLIB "test".a ' < .a ???

DECLARE SUB Test (a AS INTEGER, b AS STRING, c AS SINGLE)
DECLARE SUB Hallo ()
also das .a gehört da meiner Meinung nach nicht hin.
SUB ist falsch, da die DLL-Funktionen was zurückgeben, kann also nur
FUNCTION heissen.

Ich sehe gerade, Ergebnisse werden garnicht erkannt, bzw. evtl. nur bei ProcedureDLL.l ?

// Nachtrag:
Okay, du gehts davon aus, das .l usw. angegeben sind, vielleicht
zusätzlich nach ProcedureReturn suchen, ich lasse .l fast immer weg.

// Nachtrag2 :wink:
Habs mit FB getestet, bekomme es nicht zum laufen. Naja, hab auch schon
ewig nichts mehr mit gemacht, die Syntax ist nicht mein Ding :mrgreen:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
remi_meier
Beiträge: 1078
Registriert: 29.08.2004 20:11
Wohnort: Schweiz

Beitrag von remi_meier »

Ja, ich gehe davon aus, dass ein Rückgabetyp angegeben wird. Anders
geht es leider nicht. Ein ProcedureReturn muss auch nix heissen (kann
ja zum Abbrechen der Prozedur verwendet werden). Das musst du leider
schreiben :D

Das ".a" werd ich noch an den richtigen Ort setzen, aber vorher halt doch
mal versuchen zu testen :| . Ob es hingehört oder nicht, weiss ich nicht.
Einige schreiben sogar, dass der Dateiname noch ein "lib" davor haben
muss. Werd wohl testen müssen.

Thx!
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Eine Sub macht in einer exportieren DLL Funktion aber nicht viel Sinn und
ProcedureReturn ohne was gibt 0 als Long zurück, also ist es eine Funktion
:mrgreen:
oder schlechter Coding Stil. Procedure mit Suffix finde ich häßlich und nehme
es meist nur für Strings weils sonst nicht funktionieren würde.

Meiner Meinung nach kann man bei einer DLL in 99,9% aller Fälle von einer
Funktion ausgehen.

Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
remi_meier
Beiträge: 1078
Registriert: 29.08.2004 20:11
Wohnort: Schweiz

Beitrag von remi_meier »

Ne, ProcedureReturn ohne was gibt den Inhalt von EAX zurück, kann also
alles Mögliche sein. Genau das machen VOID-Funktionen. Aber ich kann
ja für die faulen wie dich nen Parameter hinzufügen :mrgreen:

Wieso sollte eine DLL nicht auch Subs drin haben? Also ich könnte mir
da einiges vorstellen.

Aber: Ich kriege dieses FB mit Import-Lib einfach nicht gebacken! Am
Ende muss ich sie mit DYLIB() dynamisch laden :freak:
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

remi_meier hat geschrieben: Wieso sollte eine DLL nicht auch Subs drin haben? Also ich könnte mir
da einiges vorstellen.
Ja, aber selten exportiert, bzw. wenn, dann
sollte sie doch wenigstens erfolg oder nichterfolg zurückgeben.
remi_meier hat geschrieben: Aber: Ich kriege dieses FB mit Import-Lib einfach nicht gebacken! Am
Ende muss ich sie mit DYLIB() dynamisch laden :freak:
Würde ich auch so sehen. DYLIB sollte reichen.

Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
remi_meier
Beiträge: 1078
Registriert: 29.08.2004 20:11
Wohnort: Schweiz

Beitrag von remi_meier »

Also FreeBasic sollte nun gehen (ein kleiner Test war mal positiv). Dann
gibts noch die Option /deftype:<type> <)
/deftype:long z. B...
Antworten