Seite 2 von 3
Verfasst: 10.01.2007 18:17
von remi_meier
Ok, Kommentare wohl eher '
Also, mit /out: kann man einen Ausgabepfad wählen, mit /name: einen
eigenen Grundnamen für die DLL wählen (gilt auch für die erzeugten
Dateien). Und mit /prf werden nun .ph Dateien erstellt. Ich hoffe, es
ist alles korrekt.
Verfasst: 10.01.2007 18:26
von ts-soft
Aber Float darfste ruhig zulassen, den Pointer zu nem Float kann man nachbilden.
Schreibste nur, das 4Byte Float erwartet wird. Nur den Datentyp also solches
gibts nicht.
// Nachtrag:
Statt:
Code: Alles auswählen
' not supported types: Test(= External("test.dll", "Test",; ' a&, b$, cerror, Ergebnis void
Hallo(= External("test.dll", "Hallo"; ' Ergebnis void
sowas:
Code: Alles auswählen
Test(= External("test.dll", "Test",; ' a&, b$, c 4-Byte Fload, Ergebnis void
Hallo(= External("test.dll", "Hallo"; ' Ergebnis void
PS: Die Syntax ist okay so!
Verfasst: 10.01.2007 18:37
von remi_meier
Soll ich dann auch noch Quads erlauben? Ihr mögt ja anscheinend zu
tricksen

Verfasst: 10.01.2007 18:40
von ts-soft
Quad mach keinen Sinn, danke für die Nachfrage
Aber es gibt ja nunmal viele DLLs die Floats erwarten, Quad eher weniger.
Verfasst: 10.01.2007 18:46
von remi_meier
Ok, ich habe Floats nun auch erlaubt. Auch als Rückgabetyp, da das eigentlich
bei stdcall gleich funktioniert wie Doubles, ausser dass die Genauigkeit
dann abnimmt. Hoffe das funktioniert auch in Profan

Verfasst: 10.01.2007 19:24
von ts-soft
Dann kannste dich ja an FreeBasic, VB (ist fast gleich), usw. ranmachen
Nachtrag zu Profan:
Profan kennt zwar nur Double, aber es gibt eine Funktion Single(Double!) zum übergeben an DLLs
Verfasst: 10.01.2007 19:38
von remi_meier
Kannst du mir sagen, ob das hier:
http://209.85.135.104/search?q=cache:KF ... on~von~API)Funktionen.txt+freebasic+dll+aufrufen&hl=de&gl=de&ct=clnk&cd=8&client=opera
mit den Import-Libs von PB funktioniert? Oder gibt es da einen anderen
Standardweg?
Verfasst: 10.01.2007 19:43
von Fabio
Hmm, ansich ne coole sache, aber was nützt es wenn man die in PB erstellten
Dll z.b an einen BlitzBasic programmiere der kein PB hat, nicht weiter geben darf.
Verfasst: 10.01.2007 19:45
von HeX0R
Warum sollte das so sein ?
Verfasst: 10.01.2007 19:52
von ts-soft
importiert die lib
Code: Alles auswählen
declare function ChooseColor alias "ChooseColorA" (byval as LPCHOOSECOLORA) as BOOL
geht dann ohne dll angabe.
Die Import libs von PB sollten funktionieren wenn man sie mit der Endung *.a versieht
Die Endung für die INC-Dateien ist *.bi (dies ist das einzig sichere in diesen Aussagen)
Ich glaube, da solltest Du Dir FB laden und testen
Gruß
Thomas