DLL stoppt Programm

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

EPS

Betreff: DLL stoppt Programm

BeitragFr, Okt 17, 2008 9:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallöchen, ich hänge hier an einer Merkwürdigkeit fest.

Ich habe eine DLL geschrieben und rufe deren Prozeduren auf (ist übrigens nicht meine erste). NACH dem Aufruf der jeweiligen Prozedur bleibt BB im nächstfolgenden Befehl hängen, egal ob dies ein Print ein Debuglog oder sonstwas ist.

D.h. im Debugmodus muß ich auf die grüne Ampel klicken und erst dann geht es weiter.

Ohne Debugmodus bleibt es logischerweise stehen und ich kann nix machen. Es hängt sich aber nicht direkt auf, also ich bekomme keine Sanduhr - es bleibt einfach nur stehen.

Ebenso läuft es nach dem Klick auf die Ampel Anstands- und vor allem Fehlerlos. D.h. sämtliche Handles etc. stimmen auch.

Wie kann denn bitte sowas sein?
mGUI - Graphical User Interface für Blitz3D...Informationen gibt es hier

Man kann sich öfter als zweimal im Leben halb tot lachen.
 

ChristianK

BeitragFr, Okt 17, 2008 13:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Hast du in der Userlib die richtige Anzahl an Parametern? Zu viele oder zu wenige können manchmal komisches Verhalten verursachen. Smile
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

EPS

BeitragFr, Okt 17, 2008 16:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Jap, hab ich. Ist auch leicht nachzuvollziehen, es gibt nur einen Parameter.
mGUI - Graphical User Interface für Blitz3D...Informationen gibt es hier

Man kann sich öfter als zweimal im Leben halb tot lachen.

tft

BeitragSa, Okt 18, 2008 6:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo.....

bei so einem verhalten stimmt die auf dem Stack gelagerte rücksprung adresse nicht. Das kann zum einen an einem Fehlenden Parameter, oder duch einen Parameter geschehen der auf den Stack gelegt, aber nicht abgerufen wurde. Dabei spielt auch die notation der Variablen eine rolle. BB übergibt immer Inter mit 4 Byte. Wenn du jetzt aber nur 2 Byte vom Stack holst ........ BOOM, Es gibt noch mer möglichkeiten. Zum Beispiel ein Schreiben auf adresse 0. Je nach Debugger kann die mit einer Fehlermeldung oder eben nicht quitiert werden. Am besten schreibste eine Dammy function ohne Parameter . Wenn nichtmal die Funktioniert. Dann stimmt was nicht mit dem Aufruf der funktion. Debuggen ist halt eine mühsame angelegenheit

Gruu TFT
TFT
https://www.sourcemagic.ch
Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!!

EPS

BeitragSa, Okt 18, 2008 18:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke für die Erklärung - zumindest hab ich jetzt eine Idee wonach ich suchen muß.
mGUI - Graphical User Interface für Blitz3D...Informationen gibt es hier

Man kann sich öfter als zweimal im Leben halb tot lachen.

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group