Forum: PC-Programmierung wxWidgets+ DialogBlocks Problem


von Marc (Gast)


Lesenswert?

Hallo Leute habe angefangen wie man Programme programieren kannzu 
lernen, bin aber leider auf ein Problem gestossen.

Wenn ich in cpp-file bei DialogBlocks ein Befehl reinschreibe und dann 
auf Save drücke geht alles was ich aufgeschriebn habe verloren und dann 
steht nur das was vorher stand da.

Sogar wenn ich nur include Dateien versuche einzubinden. Wird alles beim 
speichern gelöscht. Warum weis ich nicht!!

Kann mir da jemand helfen??


Gruss Marc

von Marc (Gast)


Lesenswert?

diese Zeile verschiwindet immer!

EVT_BUTTON( ID_BUTTON6, StartMenue::OnButton4Click )

von J. S. (engineer) Benutzerseite


Lesenswert?

Hast Du die Vollversion von Dialog Blocks? Ich kenne das nicht so genau, 
verwende den wxDesigner. Kann sein, dass man da nicht speichern kann.

Am Besten fragst Du mal in der WxWidgets newsgroup direct.

von Marc (Gast)


Lesenswert?

Hallo help!!!

So will ich es haben

      BEGIN_EVENT_TABLE( Start, wxDialog )

      ////@begin Dialog event table entries

      EVT_BUTTON( ID_BUTTON2, Start::OnButton2Click )

      ////@end Dialog event table entries

uns so sieht es nach dem Speichern aus!!

     BEGIN_EVENT_TABLE( Dialog, wxDialog )

     ////@begin Dialog event table entries
     ////@end Dialog event table entries

      END_EVENT_TABLE()


Warum??

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Schreibst Du das da von Hand hin? Da wird vielleicht das Problem liegen; 
DialogBlocks verwaltet die zwischen den speziellen Kommentaren liegenden 
Zeilen und beschreibt den Bereich neu.

Probiere mal aus, die betreffende Zeile hinter den abschließenden 
Kommentar, aber natürlich noch vor die Zeile END_EVENT_TABLE() zu 
schreiben.

von Marc (Gast)


Angehängte Dateien:

Lesenswert?

danke,
dass habe auch später ausprobiert, was natürlich geklappt hat.
Habe auch ein kleines Programm mit Buttons geschrieben.
Und wollte mit einem Button "Abrechen" diese Fenster schließen lassen, 
leider geht es nicht, programmiert ist glaube alles richtig.

Deswegen wollte ich zwischen diesen Kommentaren diese Befehle 
reinschreiben, wie Bei Sammple Projekten, weil ich dachte, dass das 
Zumachen deswegen nicht geht.

könntet Ihr mir vielleicht sagen warum es nicht geht.

Das Programm ist im Anhang.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Die Kommentare sind nur Kommentare, beim Compilieren werden sie 
ignoriert. Sie sind nur dazu da, um von DialogBlocks erzeugte/gewartete 
Abschnitte zu kennzeichnen.

Solange Dein Eventeintrag zwischen BEGIN_EVENT_TABLE und END_EVENT_TABLE 
steht, ist diesbezüglich alles richtig.

Kennst Du das wxWidgets-Buch von (u.a.) Julian Smart?

Dank Bruce Perens' Open-Source-Reihe kann man sich das hier
http://www.phptr.com/content/images/0131473816/downloads/0131473816_book.pdf
legal frei herunterladen.

Vielleicht hilft Dir ja dieses Buch.

von Marc (Gast)


Lesenswert?

nach diesem buch habe ich programmiert!

von noname (Gast)


Lesenswert?

Hallo,

DialogBlocks schreibt immer nur zwischen solche Blöcke:

     ////@begin Dialog event table entries
     ////@end Dialog event table entries

Wenn da was drin steht, was nicht rein soll,  wird es gelöscht. Um Dein 
Ziel zu erreichen musst Du e so:

     BEGIN_EVENT_TABLE( Dialog, wxDialog )

     ////@begin Dialog event table entries
     ////@end Dialog event table entries

      // Eigene Events
      EVT_BUTTON( ID_BUTTON2, Start::OnButton2Click )

      END_EVENT_TABLE()

machen, dann wird es nicht gelöscht.

Oder einfach im Editor Deinen Button anklicken, unter Events den 
entsprechenden Eventz auswählen, dann wird der Eintrag in die 
Event-Tabelle und die Funktion autoimatisch generiert.

Gruß,
Sebastian

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.