Hi,
da Lazarus auf einer Delphiartigen Umsetzung basiert funktioniert das ein oder andere noch nicht.
Vom C++ Builder weiß ich dass ich beim Öffnen einer zweiten Form über Button Click Form Show oder Form ShowModal mein gewünschtes Ergebnis erreiche. Eine Einbindung include *.h ist nötig. Bei Lazarus gibt es keine *.h und ich stehe wohl VOLL auf der Leitung. Wo und wie trage ich hier die Einbindung ein ????
Ich möchte von meiner MainForm mit Button1 eine Form2 Öffnen
mfg
Show oder Show Modal
-
- Lazarusforum e. V.
- Beiträge: 2808
- Registriert: Fr 22. Sep 2006, 10:38
- OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
- Wohnort: Hessen
- Kontaktdaten:
Re: Show oder Show Modal
1. Im uses-Bereich der MainForm (ganz oben im Quelltext) muss die Unit aufgeführt sein, in der die FOrm2 definiert wird, also z.B. unit2. (ich nehme an, dies entspricht in C der Einbindung der *.h)Traugott hat geschrieben: Ich möchte von meiner MainForm mit Button1 eine Form2 Öffnen
2. Doppelklick auf Button1 und es eröffnet sich eine Prozedur für das Ereignis onclick
3. Dort Form2.Show; oder Form2.ShowModal; eintragen.
Möchtest Du von der Form2 aus auch auf die MainForm zugreifen, muss in der zur Form2 gehörenden Unit die Unit der Mainform hinzugefügt werden, und zwar durch ein "uses" unter "implementation", damit es keinen Kurzschluss gibt.
Viele Grüße, Euklid
-
- Beiträge: 770
- Registriert: Sa 21. Feb 2009, 13:46
- OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2)
- CPU-Target: 32Bit
Re: Show oder Show Modal
Euklid hat recht.
.h dateien sind quellcode dateien in C (bzw C++) ( da kenn ich mich leider nur nen bisschen aus).
in Lazarus haben die Dateien die endung .pas, diese wird aber nicht im quellcode erwähnt.
Ziemlich oben in deinem Programm sollte sowas stehen.
Die liste besteht aus den standart units (dateien) die verwendet werden. wenn du jetzt ">> Datei >> Neues Formular" anklickst dann erstellt Lazarus ja eine 2te unit, jetzt musst du beide abspeichern, am besten in den selben Ordner. z.B unit1 und unit2 ( natürlich bessere namen verweden).
Danach in unit1 gehen. F12 --> button holen auf die Form plazieren und makieren. Im Objektinspektor auf Ereignisse und da steht ne tolle liste für alles was es gibt. Onklick makieren, doppelklick in das Feld rein und Lazarus hat nen bisschen für dich erledigt. ( Ich erwähne hier extra den Objektinspektor, da beim doppelklick auf den Button immer nur das "StandartEreignis" erstellt wird. Man aber wissen sollte das man noch mehr Möglichkeiten hat ).
Soweit ich weis ist showmodal noch nen bisschen buggy (hab ich lange nicht mehr benutzt , könnte sich schon geändert haben ).
showmodal bewirkt im gegensatzt zu show ja das nur noch Form2 benutzbar wird. Und Form1 solange nicht mehr anklickbar ist. (Alternative Form1.Enabled := False).
.h dateien sind quellcode dateien in C (bzw C++) ( da kenn ich mich leider nur nen bisschen aus).
in Lazarus haben die Dateien die endung .pas, diese wird aber nicht im quellcode erwähnt.
Ziemlich oben in deinem Programm sollte sowas stehen.
Code: Alles auswählen
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs;
Die liste besteht aus den standart units (dateien) die verwendet werden. wenn du jetzt ">> Datei >> Neues Formular" anklickst dann erstellt Lazarus ja eine 2te unit, jetzt musst du beide abspeichern, am besten in den selben Ordner. z.B unit1 und unit2 ( natürlich bessere namen verweden).
Danach in unit1 gehen. F12 --> button holen auf die Form plazieren und makieren. Im Objektinspektor auf Ereignisse und da steht ne tolle liste für alles was es gibt. Onklick makieren, doppelklick in das Feld rein und Lazarus hat nen bisschen für dich erledigt. ( Ich erwähne hier extra den Objektinspektor, da beim doppelklick auf den Button immer nur das "StandartEreignis" erstellt wird. Man aber wissen sollte das man noch mehr Möglichkeiten hat ).
Soweit ich weis ist showmodal noch nen bisschen buggy (hab ich lange nicht mehr benutzt , könnte sich schon geändert haben ).
showmodal bewirkt im gegensatzt zu show ja das nur noch Form2 benutzbar wird. Und Form1 solange nicht mehr anklickbar ist. (Alternative Form1.Enabled := False).
Code: Alles auswählen
Signatur := nil;
Re: Show oder Show Modal
Hi,
nach dem eintrag in uses hats gefunzt.
Vielen Dank.
nach dem eintrag in uses hats gefunzt.
Vielen Dank.