Frage zu DLL / MAV
Übersicht

CoffeeBetreff: Frage zu DLL / MAV |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi,
ich hab eine DLL mit folgender Funktion: Code: [AUSKLAPPEN] int math_add(int one, int two) { return one+two; }; Wenn ich die nun in BB benutzen möchte, erhalte ich das Ergebnis, aber mit anschließender MAV. UNd was das ganze noch witziger macht, wenn ich in BB dann: Code: [AUSKLAPPEN] Print math_add(1,2) Print "lol" ausführe, erhalte ich keine MAV, sondern "unknown runtime exception". ich bin mir relativ sicher, dass ich in der DLL noch irgendwas machen muss. aber ich bin auch genau nach tutorial hier im board vorgegangen... compiler ist GCC... |
||
*Mjam* |
![]() |
Willi die Rübe |
![]() Antworten mit Zitat ![]() |
---|---|---|
Poste mal deinen gesamten Code, vllt. ist ja doch ein Fehler drin.
Achja, mach mal ein ganz einfaches End hintendran, denn deswegen hatte ich auch mal nen unauffindbaren Fehler ![]() |
||
Ich habe keine Lösung, aber ich bewundere das Problem.
Tehadon Q6600, MSI Neo2-FR, 4GB Ram, nVidia 7800 GTX At the Farewell Party visit: MySpace | Homepage |
Coffee |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
tatsache, das "end" hats gelöst oO danke | ||
*Mjam* |
ChristianK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Das liegt nicht am End, sondern daran, dass die Funktion nicht __stdcall ist. Alle DLL-Funktionen müssen für Blitz diese Aufrufkonvention nutzen, damit der Stack nicht überläuft. Bei wenigen Aufrufen macht sich das kaum bemerkbar, aber wenn du sowas hier:
Code: [AUSKLAPPEN] While True
math_add(1,2) Wend mit einer Funktion machst, die nicht __stdcall ist, wird das Programm in ein paar Sekunden abstürzen. |
||
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group