Seite 2 von 4
Re: Prozedur in DLL ausführen: Invalid memory access.
Verfasst: 05.12.2009 02:35
von DrShrek
Mok hat geschrieben:... aber als ich in der DLL 2 Zeilen dazugegeben habe, bekomme ich immer einen Invalid Memory Access Fehler, wenn ich DLL_OptionWindow() aufrufe. .
Wir brauchen nicht die PB Sourcen, daran haste ja nix geändert.
Wir brauchen die Sourcen zu DLL_OptionWindow() ... da haste ja 2 zeilen reingelegt
Re: Prozedur in DLL ausführen: Invalid memory access.
Verfasst: 05.12.2009 11:06
von Mok
Dr. Shrek hat geschrieben:Wir brauchen die Sourcen zu DLL_OptionWindow()
Theorteisch habe ich die angeblich und praktisch eigentlich eh da reingetan... so quasi...
Re: Prozedur in DLL ausführen: Invalid memory access.
Verfasst: 05.12.2009 11:22
von Kiffi
Mok hat geschrieben:Dr. Shrek hat geschrieben:Wir brauchen die Sourcen zu DLL_OptionWindow()
Theorteisch habe ich die angeblich und praktisch eigentlich eh da reingetan... so quasi...
tscha, Theorie und Praxis. Das ist so 'ne Sache...
Grüße ... Kiffi
Re: Prozedur in DLL ausführen: Invalid memory access.
Verfasst: 05.12.2009 11:32
von Mok
Kiffi hat geschrieben:
tscha, Theorie und Praxis. Das ist so 'ne Sache...

Das gibt's doch nicht
So'n Scheiß ist mir noch nie passiert...
http://em.q-soft.ch/files/get/htpA56tyB ... loaded.zip
Re: Prozedur in DLL ausführen: Invalid memory access.
Verfasst: 05.12.2009 12:10
von Kiffi
Re: Prozedur in DLL ausführen: Invalid memory access.
Verfasst: 05.12.2009 12:14
von Mok
Ja

Aber ich wundere mich, weil vorher hat's doch auch gefunzt... obwohl ich mehrere WaitWindowEvents() hatte (durch den DLL-Aufruf)
Edit:
Wenn ich das so mache wie du, bekomme ich IMA bei Adresse 0.
Zeile:
Code: Alles auswählen
Procedure CallDLL_HelpWindow(lDummy.l)
hDLL = OpenLibrary(0,"op1.dll")
CallDLL_HelpWindow = GetFunction(hDll,"DLL_HelpWindow")
CallFunctionFast(CallDLL_HelpWindow) ;*************************************
CloseLibrary(hDLL)
EndProcedure
Re: Prozedur in DLL ausführen: Invalid memory access.
Verfasst: 05.12.2009 15:52
von HeX0R
Meine Güte, wie wäre es mal mit erst in die Hilfe schauen, und dann das Board belästigen?
Code: Alles auswählen
Procedure CallDLL_HelpWindow(lDummy.l)
If OpenLibrary(0,"op1.dll")
CallDLL_HelpWindow = GetFunction(0, "DLL_HelpWindow")
If CallDLL_HelpWindow
CallFunctionFast(CallDLL_HelpWindow)
EndIf
CloseLibrary(0)
EndIf
EndProcedure
Re: Prozedur in DLL ausführen: Invalid memory access.
Verfasst: 05.12.2009 19:08
von Mok
HeX0R hat geschrieben:Meine Güte, wie wäre es mal mit erst in die Hilfe schauen
Aehm... ich hab's wie Kiffi gemacht... und sein Code steht irgendwie nicht in der Hilfe
HeX0R hat geschrieben:und dann das Board belästigen?
Wenn du ein Nachfragen belästigend findest, dann frage ich mich, warum du überhaupt hier im Forum registriert bist
Edit:
Wenn ich das jetzt so mache, bekomme ich wieder einen IMA bei Adresse 8
Code: Alles auswählen
Procedure CallDLL_OptionWindow(lDummy.l)
If OpenLibrary(0,"op1.dll")
CallDLL_OptionWindow= GetFunction(0, "DLL_OptionWindow")
If CallDLL_OptionWindow
CallFunctionFast(CallDLL_OptionWindow);******************
EndIf
CloseLibrary(0)
EndIf
EndProcedure
Re: Prozedur in DLL ausführen: Invalid memory access.
Verfasst: 05.12.2009 19:58
von Kiffi
Mok hat geschrieben:Aehm... ich hab's wie Kiffi gemacht...
glaub ich nicht.
Mok hat geschrieben:und sein Code steht irgendwie nicht in der Hilfe
glaub ich auch nicht.
Also hier habe ich keinen IMA.
Zeig mal Deinen Thread-Aufruf. Was passiert bei Dir nach
in Raminf.pb?
Grüße ... Kiffi
Re: Prozedur in DLL ausführen: Invalid memory access.
Verfasst: 05.12.2009 20:37
von Mok
Kiffi hat geschrieben:Zeig mal Deinen Thread-Aufruf. Was passiert bei Dir nach
in Raminf.pb?
Grüße ... Kiffi
Code: Alles auswählen
Case #ButtonGadget_1
CallDLL_OptionWindow(Random(32)) ;was da drinne steht is ja wurscht... oder?
If ReadFile(0,"tempConfig.prefs") ; die tempConfig zur Config machen
ClosePreferences()
DeleteFile("Config.prefs")
CloseFile(0)
RenameFile("tempConfig.prefs","Config.prefs")
OpenPreferences("Config.prefs")
EndIf
PreferenceGroup("infSettings") ; und das klumpert dann auslesen
Unit.f = ReadPreferenceFloat("UnitData",1)
UnitName = ReadPreferenceString("UnitName","MB")
refTime = ReadPreferenceLong("RefreshTime",500)