Seite 1 von 2
PBCompiler.exe
Verfasst: 17.11.2005 14:06
von Tsuki-Namida
Hallo,
Naja ich bin neu hier aber auch in PureBasic. Ich habe vorher zwar mit Ruby (RGSS) umherhantiert aber nicht wirklich gelernt. PureBasic soll meine Erste Programmiersprache werden die ich richtig lernen möchte.
Soviel zu mir.
Mein Prolem:
Ich habe mir Pure Basic insalliert und auch gleich die ersten Zeilen geschrieben. Allerdings habe ich beim Testen ein Proplem.
Wenn ich teste kommt mein Programm Fenster für einen kurtzen moment (ein paar msec.) und verschwindet wieder, ich bin mir aber 100% sicher das kein Befehl im Text vorhanden ist der das Programm Schließt.
Es wird auch keine Fehlermeldung angezeigt.
Um fieleicht dennoch testen zu können habe ich eine EXE erstellt um sie dann zu Starten. Wenn ich Diese *.exe öffnen möchte erscheit (ein paar msec.) die Sanduhr bei der Maus und das wars.
Den Namen des Themas "PBCompiler.exe" habeich gewählt weil ich ganz stark vermute das es an dieser exe liegt da sie ja für das übersetzen zuständig ist.
Ich hoffe mal das es irgent eine lösung dafür gibt und/oder jemand weis wie man das beheben könnte.
Ich bin zwar sicher das es nicht am Text liegt aber ich werde ihn dennoch hier Posten damit ihr seht das, da kein befhl zum schlißen ist.
Code: Alles auswählen
; PureBasic Visual Designer v3.90 build 1360
IncludeFile "GeneratedIncludeFile.pb"
If #Button_0=1
PrintN("#String_0 #String_1 #String_2")
EndIf
Verfasst: 17.11.2005 14:19
von nco2k
hi und willkommen,
pb ist genau die richtige wahl, als erstsprache.
zu deinem problem, dir fehlt vermutlich eine ereignisschleife:
Code: Alles auswählen
If OpenWindow(0, 0, 0, 480, 360, #PB_Window_SystemMenu | #PB_Window_ScreenCentered, "fenster")
Repeat
WinEvent.l = WaitWindowEvent()
Until WinEvent = #PB_Event_CloseWindow
EndIf
End
im visual designer kannst du unter den projektoptionen Ereignis-Schleife mitliefern aktivieren.
aber ich persönlich würde lieber ohne den visual designer arbeiten (zumindest am anfang), um den quelltext kommst du bei pb nicht drum herum und umso früher du dich damit auseinandersetzst, umso besser.
studieren geht über probieren.
c ya,
nco2k
Verfasst: 17.11.2005 14:21
von mardanny71
Veröffentliche mal die Include File, die Du mit dem Visual Desinger erstellt hast.
Eigentlich sollte der eine Hauptschleife mitliefern(meist Repeat - Until)
Irgentwie kommt es nicht zum Aufruf dieser Schleife.
Grüße an alle
mardanny71
Re: PBCompiler.exe
Verfasst: 17.11.2005 14:22
von Kiffi
Hallo Magix-Soft <Kain>,
versuch mal folgendes:
Code: Alles auswählen
IncludeFile "GeneratedIncludeFile.pb"
Open_Window0()
Repeat
WaitWindowEvent = WaitWindowEvent()
EventGadgetID = EventGadgetID()
Select WaitWindowEvent
Case #PB_Event_Gadget
Select EventGadgetID
Case #Button_0
MessageRequester("DeinProgramm", "String0: " + GetGadgetText(#String_0) + " / String1: " + GetGadgetText(#String_1) + " / String2: " + GetGadgetText(#String_2))
EndSelect
Case #PB_Event_CloseWindow
Quit = 1
EndSelect
Until Quit = 1
Zur Erklärung: Es reicht nicht nur, das Fenster aufzubauen. Du musst in
der nachfolgenden Schleife auf die Ereignisse reagieren.
Schau Dir mein Beispiel mal etwas genauer an. Wenn etwas nicht klar ist:
Fragen!
Die Zeile "[c]Open_Window0()[/c]" ist übrigens nur von mir geraten. Schau mal
nach, wie die Prozedur in '[c]GeneratedIncludeFile.pb[/c]' heisst.
Grüße ... Kiffi
Verfasst: 17.11.2005 14:32
von Tsuki-Namida
@nco2k und mardanny71
Euch habe ich leider nicht ganz verstanden

okay das mit dem selberschreiben leuchtet ein
@Kiffi
Bei Deinen Text bekomme ich einen fehler in Zeile 1
Hier die PBV Datei
[/url]
Verfasst: 17.11.2005 14:38
von Kiffi
> Bei Deinen Text bekomme ich einen fehler in Zeile 1
bitte demnächst auch den Fehlertext mitposten. Wir sind keine Hellseher
Ich vermute, dass die GeneratedIncludeFile.pb-Datei nicht gefunden wird.
Dann musst Du die Zeile so erweitern, dass dort der komplette Pfad steht.
Code: Alles auswählen
IncludeFile "KompletterPfadZu\GeneratedIncludeFile.pb"
Grüße ... Kiffi
Verfasst: 17.11.2005 14:43
von nco2k
@Magix-Soft <Kain>
wie ich vorhin bereits sagte, fehlt dir die (repeat) ereignisschleife. wenn du im visual designer auf Projekt > Projekt Optionen gehst, findest du dann ein kästchen "Ereignis-Schleife mitliefern" dieses aktivierst du dann.
so sieht das ganze dann aus:
Code: Alles auswählen
; PureBasic Visual Designer v3.92 build 1460
IncludeFile "GeneratedIncludeFile.pb"
Open_Window_0()
Repeat ; Start of the event loop
Event = WaitWindowEvent() ; This line waits until an event is received from Windows
WindowID = EventWindowID() ; The Window where the event is generated, can be used in the gadget procedures
GadgetID = EventGadgetID() ; Is it a gadget event?
EventType = EventType() ; The event type
;You can place code here, and use the result as parameters for the procedures
If Event = #PB_EventGadget
If GadgetID = #String_0
ElseIf GadgetID = #String_1
ElseIf GadgetID = #String_2
ElseIf GadgetID = #Button_0
ElseIf GadgetID = #Button_1
ElseIf GadgetID = #Combo_0
EndIf
EndIf
Until Event = #PB_Event_CloseWindow ; End of the event loop
End
;
ohne diese schleife wird dein fenster erstellt und weil dann nichts weiter passiert bzw. abgefragt wird und somit das fenster nichts weiter zu tun hat, einfach wieder geschlossen. diese schleife wird so of wiederholt bis das fenster geschlossen wird und in jedem schleifendurchgang wird mit WaitWindowEvent() ein ereignis im fenster abgefragt, ob ein button gedruckt wurde etc. ich kann dir jetzt nicht alles auf die schnelle erklären, aber im forum und auf der robsite findest du das eine oder andere tutorial, welches dir weiterhelfen wird. les einfach alles in ruhe (mehrmals) durch.
c ya,
nco2k
Verfasst: 17.11.2005 14:44
von Tsuki-Namida
Kiffi hat geschrieben:> Bei Deinen Text bekomme ich einen fehler in Zeile 1
bitte demnächst auch den Fehlertext mitposten. Wir sind keine Hellseher
Ich vermute, dass die GeneratedIncludeFile.pb-Datei nicht gefunden wird.
Dann musst Du die Zeile so erweitern, dass dort der komplette Pfad steht.
Code: Alles auswählen
IncludeFile "KompletterPfadZu\GeneratedIncludeFile.pb"
Grüße ... Kiffi
Okay ab sofort mit der meldung...sorry
Ich habe den Pfad jetzt mit eingegeben, mich ereicht leider immer noch eine fehler meldung:
"Zeile 1: Error in the included file 'Mein Fad zum Verzeichnis\Fenster 1.pbv' Line 1: syntax Error !"
Verfasst: 17.11.2005 14:52
von Kiffi
> "Zeile 1: Error in the included file 'Mein Fad zum Verzeichnis\Fenster 1.pbv'
die PBV-Datei darfst Du nicht includen, sondern (wie ich bereits 2mal
geschrieben habe) die "GeneratedIncludeFile.pb".
Hintergrund: Der Visual Designer speichert das Projekt in einer binären Datei
mit der Endung PBV ab. Diese Datei kann nur vom Visual Designer
verarbeitet werden. Die vom VD generierten Sourcen speichert er mit der
Endung PB ab. Davon beinhaltet eine Datei den Code zum Aufbau des
Fensters (darin steht u.a. [c]OpenWindow()[/c]). Und genau diese Datei musst Du
includen.
Grüße ... Kiffi
Verfasst: 17.11.2005 15:02
von Tsuki-Namida
@Kiffi
Ahh Danke! Das habe ich jetzt endlich kapiert.
@nco2k
Jetzt habe ich auch verstanden wie du es gemeinthattest.... ich bekomme das fenster jetzt angezeigt...
Ich bedanke mich fürs erst für eure hilfe

Ich hoffe nur das ich jetzt auch weiter komme
