Allgemeine Fragen zur PROFAN Programmierung

Views (Heute): 249690 (11126)

| Suchen
| Zurück zur Übersicht

Autor | Thema: Hilfe Roland, was macht Profan da !!!!
Thorsten
| Datum:26.05.01 14:24 (galaxy@mrk-soft.de) |
Hallo Roland, was macht Profan beim beenden mit dem Fenster ???? Ich nutze eine DLL, dort gibt es eine Funktion INIT, zum Inistalisieren der DLL, genauer, es werden Struckturen zum Arbeiten angelegt. Als Parameter bei Init steht in der doku, das Hwnd angegeben werden soll. Darauf habe ich folgendes umgesetzt: def init(1) !"xdll.dll","dllinit" def dlldelete() !"xdll.dll","dlldelete" ..... im Code dll& = UseDll("xdll.dll") print init(%hwnd) 'Init !!!!! Die DLL arbeitet korrekt, alles funktioniert nach wunsch. Beim Programmbeenden wird mittels dlldeelte() FreeDll dll& END alles wieder freigegeben, noch läuft Profan, beendet sich beim beenden mit EMD mit einem Anwendungsfehler, Expension in Profan, felher bei Adresse xxx, lesen von xxxxx. Nun kommts, lasse ich beim INIT das %Hwnd weg oder geb da irgendetwas ein, ist die dll zwars nicht inistalisiert, rückgabe ist ein fehlerwert bei init, aber profan bringt keinen fehler. Was macht also hier Profan beim beenden des Programms, bzw. darf man %hwnd nicht für Dlls werwenden, die dort Messages versenden.
Roland G.- Hülsmann
| Datum: 26.05.01 14:49 (rgh-soft@t-online.de) |
Hallo Thorsten! Ich nehme an, die Funktion INIT in Deiner DLL erwartet einen LongInt als Parameter. Daher solltest Du %Hwnd vorher in einem Longint zwischenspeichern und diesen dann übergeben. Das ist sicherer. Ansonsten kann ich dazu nichts sagen, ohne die DLL zu kennen. Sollte das Problem immer noch auftauchen, würde ich vermuten, daß die DLL irgendetwas nicht ordentlich freigibt, was beim Beenden des aufrufenden Programmes zum Crash führen kann. Es kann natürlich auch sein, daß die DLL mit dem Window, dessen Handle Du übergeben hast (in dem Fall das Hauptfenster von PROFAN), etwas anstellt, was sich mit dem ordentlichen Beenden von PROFAN und dem damit verbundenen Schließen des Hauptfensters nicht verträgt.

| Zurück zur Übersicht