Frage zu DLL / MAV

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Coffee

Betreff: Frage zu DLL / MAV

BeitragSa, Aug 09, 2008 14:41
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, Aug 09, 2008 16:37
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Laughing
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

BeitragSa, Aug 09, 2008 18:57
Antworten mit Zitat
Benutzer-Profile anzeigen
tatsache, das "end" hats gelöst oO danke
*Mjam*
 

ChristianK

BeitragSo, Aug 10, 2008 13:00
Antworten mit Zitat
Benutzer-Profile anzeigen
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

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group