Seite 7 von 13

Verfasst: 29.03.2009 17:36
von ts-soft
Dann sollte RSBasic doch mal überprüfen ob die Dateien im EditorGadget mit
ReadFile geöffnet wurden und mit CloseFile auch geschlossen wurden!

Verfasst: 29.03.2009 18:07
von RSBasic
@ts-soft
Es wird nur per RunProgram() die PB-Datei geöffnet.

\\Edit:
Hab mal im Quellcode durchgeguckt.
Alle Funktionen, bei denen mit ReadFile()/OpenFile() geöffnet werden, werden danach auch wieder mit CloseFile() geschlossen.

Verfasst: 29.03.2009 19:14
von Bisonte
RSBasic hat geschrieben:\\Edit:
Hab mal im Quellcode durchgeguckt.
Alle Funktionen, bei denen mit ReadFile()/OpenFile() geöffnet werden, werden danach auch wieder mit CloseFile() geschlossen.
Und die werden auch erreicht ?

Es ist sehr schnell passiert, dass in einem Knäuel von Bedingungen ein CloseFile() umgangen wird...

Vielleicht kannst du ja mal kurz erläutern, wie Du der IDE die Codezeilen "unterjubelst".... da wird vermutlich der Rottweiler eingeschlafen sein...

Verfasst: 29.03.2009 19:24
von ts-soft
> Vielleicht kannst du ja mal kurz erläutern, wie Du der IDE die Codezeilen "unterjubelst".
mit RunProgramm("source.pb")

Verfasst: 29.03.2009 19:39
von RSBasic
@Bisonte
Per RunProgram()

Außerdem hat es anscheinend damit nix zu tun, weil wenn ich ein Beispiel-Code* in einer EXE kompiliere und dann PB öffne und dann anschließend meine kleine Beispiel-EXE öffne und auf den Button "PureBasic" drücke, dann schmiert mein Beispiel-Programm ebenfalls ab :? Warum?

*

Code: Alles auswählen

EnableExplicit

Define EventID
Define Quit

If OpenWindow(0,0,0,500,250,"Window",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
  ButtonGadget(1,10,10,100,20,"PureBasic",0)
  
Repeat
EventID=WaitWindowEvent()
If EventID=#PB_Event_Gadget
  Select EventGadget()
    Case 1
      RunProgram("C:\...\Code.pb","","",0);Pfad muss natürlich angepasst werden!
  EndSelect
EndIf
If EventID=#PB_Event_CloseWindow
  Quit=1
EndIf
Until Quit=1
EndIf

Verfasst: 29.03.2009 20:33
von Little John
RSBasic hat geschrieben:Außerdem hat es anscheinend damit nix zu tun, weil wenn ich ein Beispiel-Code* in einer EXE kompiliere und dann PB öffne und dann anschließend meine kleine Beispiel-EXE öffne und auf den Button "PureBasic" drücke, dann schmiert mein Beispiel-Programm ebenfalls ab :? Warum?
Bei mir funktioniert das prima, ich schaffe es nicht das zum Absturz zu bringen (PB 4.30 unter Windows XP Pro SP3). Komisch.

Gruß, Little John

Verfasst: 29.03.2009 20:36
von Falko
>>> RunProgram("C:\...\Code.pb","","",0)


Wie machst Du das mit dem Pfad?
Wird der relativ zum WinAPILib-Verzeichnis angegeben, oder ist er
wie hier fest mit C: belegt?

Zum verknüpften WAL habe ich nun meine ganzen PB-Versionen (x86 und x64)
nun nochmal testweise jeweils eine Verknüpfung mit dem
Startparameter Laufwerk:\F:\PureBasic_4\PureBasic.exe /PORTABLE
vergeben, damit ihre Einstellungen in ihren jeweiligen
Verzeichnissen gespeichert werden.

Nun geht das jetzt bei mir auch nicht mehr, wenn die WAL-Lib verknüpft ist.



Gruß Falko

Verfasst: 29.03.2009 20:37
von Falko
Little John hat geschrieben:
RSBasic hat geschrieben:Außerdem hat es anscheinend damit nix zu tun, weil wenn ich ein Beispiel-Code* in einer EXE kompiliere und dann PB öffne und dann anschließend meine kleine Beispiel-EXE öffne und auf den Button "PureBasic" drücke, dann schmiert mein Beispiel-Programm ebenfalls ab :? Warum?
Bei mir funktioniert das prima, ich schaffe es nicht das zum Absturz zu bringen (PB 4.30 unter Windows XP Pro SP3). Komisch.

Gruß, Little John
Auch, wenn du zuvor Purebasic erst startest und dann erst die WinApiLibrary?

Interessant.

Verfasst: 29.03.2009 20:43
von RSBasic
Falko hat geschrieben:>>> RunProgram("C:\...\Code.pb","","",0)
Wie machst Du das mit dem Pfad?
Das ist egal, ich hab das nur als Beispiel angegeben.

Verfasst: 29.03.2009 22:17
von Little John
Falko hat geschrieben:Auch, wenn du zuvor Purebasic erst startest und dann erst die WinApiLibrary?
Wenn ich das mache, stürzt die WinApiLibrary auch bei mir ab.

Ich bezog mich auf das Beispiel von RSBasic in diesem Beitrag. Allein das verursacht ja bei ihm Probleme, wie er schreibt.
Wenn ich das als EXE-Datei compiliere, bringe ich's nicht zum abstürzen. Auch nicht, wenn ich zuvor Purebasic starte und dann erst das Programm.

Gruß, Little John