Seite 1 von 2

RunProgram: Bilder werden nicht geladen

Verfasst: 27.10.2008 18:40
von DrNo
Hallo,
Wenn ich ein Unterprogramm eines Programmes von mir mit RunProgram("data\new.exe") starte, dann werden nie die Images im gestarteten Programm angezeigt. Wenn ich es manuell starte dann schon. Woran liegt den dass?

Verfasst: 27.10.2008 18:47
von ts-soft
Am fehlendem dritten Parameter

Verfasst: 27.10.2008 18:50
von RSBasic
@DrNo
Wenn du ein Bild mit Paint öffnen möchtest:

Code: Alles auswählen

RunProgram("mspaint.exe","Bild.bmp","",0)
Aber wenn du ein Bild mit deinem eigenen Programm öffnen möchtest, dann musst du erst den Parameter bei deinem Programm ermitteln:
Parameter$ = ProgramParameter()

\\Edit:
@ts-soft
Achso stimmt.

Verfasst: 27.10.2008 18:57
von ts-soft
Ich denke mal, RSBasic hat die Frage nicht verstanden.

Die zu startende Exe findet ihre Bilder nicht, da der Pfad nicht gesetzt wird,
diesen kann man im dritten Parameter übergeben. Das Programm ist
anscheinend zu blöd, selbst den Pfad zur eigenen Exe einzustellen.

Verfasst: 27.10.2008 19:50
von Bisonte
Bei solchen Fehlern gewöhnt man sich schnell an, die Pfade in jedem Programm immer selbst festzulegen bzw. rauszufinden (und das als erstes z.B. GetCurrentDirectory() )

Verfasst: 27.10.2008 20:00
von DrNo
Bisonte hat geschrieben:Bei solchen Fehlern gewöhnt man sich schnell an, die Pfade in jedem Programm immer selbst festzulegen bzw. rauszufinden (und das als erstes z.B. GetCurrentDirectory() )
Hab ich gemacht, klappt aber trotzdem nicht.
Schlag mich doch TS...

Verfasst: 27.10.2008 20:14
von ts-soft
Okay, ich hau gleich :lol:
entweder in der New.exe:

Code: Alles auswählen

SetCurrentDirectory(GetPathPart(ProgramFilename()))
Oder im anderen Programm:

Code: Alles auswählen

RunProgram("data\new.exe", "", {pfad zur new.exe}) 
PS: GetCurrentdirectory kann nicht funktionieren, wenn Du nicht die zweite
Variante nutzt, das verweist nämlich sonst nicht automatisch auf das eigene
Verzeichnis. Sollte man sich also merken, GetCurrentDirectory zeigt nur
auf das eigene Verzeichnis, wenn "Ausführen in" angegeben wurde, oder
bei start mit doppelklick in irgendeinem Dateimanager.

Verfasst: 27.10.2008 20:41
von DrNo
okay habs mit der 2. Variante gemacht und jetzt gehts :allright: Danke schön!

Verfasst: 28.10.2008 00:53
von Bisonte
ts-soft hat geschrieben:...PS: GetCurrentdirectory kann nicht funktionieren, wenn Du nicht die zweite
Variante nutzt, das verweist nämlich sonst nicht automatisch auf das eigene
Verzeichnis. Sollte man sich also merken, GetCurrentDirectory zeigt nur
auf das eigene Verzeichnis, wenn "Ausführen in" angegeben wurde, oder
bei start mit doppelklick in irgendeinem Dateimanager.
Und wieder was dazugelernt ;)

Naja... bisher ein Programm das ein eigenes Programm aufruft hab ich bisher auch noch nie gebraucht... passte bisher immer in eines ;)

Verfasst: 28.10.2008 01:08
von Kaeru Gaman
...dafür gibts doch GetExePath..?

btw. wie ist das eigentlich... gilt die CurrentDirectory systemweit oder nur Taskweise?

wenn Ersteres der Fall ist, kann die doch sonstwas zurückliefern, wenn man die mit nem anderen Prog ändert...