Dialogfenster zum Selbermachen?

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
AlterMann
Beiträge: 238
Registriert: So 13. Dez 2009, 09:43
OS, Lazarus, FPC: Lazarus 3.0 (rev lazarus_3_0) FPC 3.2.2 i386-win32-win32/win64
CPU-Target: x86 64Bit
Wohnort: Niederösterreich

Dialogfenster zum Selbermachen?

Beitrag von AlterMann »

Hallo
Ich bins wieder. :mrgreen:

Nachdem ich, nicht zuletzt dank eurer Hilfe mein kleines Einstiegsprogramm für die Tiefkühltruhe fertig habe, dachte ich mir ich könnte ja eines meiner alten Programme in die Jetztzeit portieren.

Läuft soweit ganz gut, aber:
Ich möchte ein Dialogfenster öffnen, welches ein paar Komponenten trägt (TRadiogroup mit Knöppen, 2 Buttons, 2 SpinEdits ...) bis man Ok, (oder Abbrechen) drückt, exclusiv im Vordergrund steht und aus dem ich ein paar Werte an das Hauptprogramm übergeben (od. übernehmen) kann.

Mein erster Versuch (Einfügen einer zweiten Form v. Typ TForm) hakt naturgemäß etwas.

Erstens ist diese nicht Exclusiv (d.h. man kann im Hauptprogramm weiter lustig herumklicken) zweitens hat Lazarus eine eigene Unit dafür errichtet,dh. der Datenaustausch ist eine Einbahnstraße.

In der Lazarus IDE findet sich aber wohl kein Dialogfeld das man sich selbst zusammenklicken kann.
Wie löst man das am besten?

Danke für eure Aufmerksamkeit
Christian
Früher war alles besser. Und aus Holz!

Benutzeravatar
theo
Beiträge: 10904
Registriert: Mo 11. Sep 2006, 19:01

Re: Dialogfenster zum Selbermachen?

Beitrag von theo »

AlterMann hat geschrieben:Hallo
Erstens ist diese nicht Exclusiv (d.h. man kann im Hauptprogramm weiter lustig herumklicken) zweitens hat Lazarus eine eigene Unit dafür errichtet,dh. der Datenaustausch ist eine Einbahnstraße.
Das ist schon richtig so.
Du musst das zweite Formular mit Form2.ShowModal aufrufen, damit dein erster Punkt erfüllt ist.
Hin und her kommunizieren kannst du auch. Einfach einmal im interface Bereich von Unit1 folgendes machen:
uses Unit2;
Eventuell auch in der Unit2 im implementation Bereich
uses Unit1.

AlterMann
Beiträge: 238
Registriert: So 13. Dez 2009, 09:43
OS, Lazarus, FPC: Lazarus 3.0 (rev lazarus_3_0) FPC 3.2.2 i386-win32-win32/win64
CPU-Target: x86 64Bit
Wohnort: Niederösterreich

Re: Dialogfenster zum Selbermachen?

Beitrag von AlterMann »

theo hat geschrieben: Du musst das zweite Formular mit Form2.ShowModal aufrufen, damit dein erster Punkt erfüllt ist.

Unglaublich, daß das so einfach sein wird, hätte ich mir nicht träumen lassen.

Hin und her kommunizieren kannst du auch. Einfach einmal im interface Bereich von Unit1 folgendes machen:
uses Unit2;
Eventuell auch in der Unit2 im implementation Bereich

Das war's. Ich hab's im Interfacebereich bei beiden versucht.

uses Unit1.
Danke vielmals!
Früher war alles besser. Und aus Holz!

RSE
Beiträge: 462
Registriert: Mi 30. Jul 2008, 13:11
OS, Lazarus, FPC: WinXP SP3 (L 0.9.28.2 FPC 2.2.4)
CPU-Target: 32Bit
Kontaktdaten:

Re: Dialogfenster zum Selbermachen?

Beitrag von RSE »

AlterMann hat geschrieben:Das war's. Ich hab's im Interfacebereich bei beiden versucht.
Du solltestgrundsätzlich Units wenn möglich erst im Implementation-Bereich einbinden. Nur wenn sie automatisch durch Lazarus eingebunden werden oder du sie in den Kassendefinitionen oder woanders im Interfacebereich benötigst, gehören sie auch im Interfacebereich eingebunden.
Seit er seinen neuen Computer hat, löst er alle Probleme, die er vorher nicht hatte!

AlterMann
Beiträge: 238
Registriert: So 13. Dez 2009, 09:43
OS, Lazarus, FPC: Lazarus 3.0 (rev lazarus_3_0) FPC 3.2.2 i386-win32-win32/win64
CPU-Target: x86 64Bit
Wohnort: Niederösterreich

Re: Dialogfenster zum Selbermachen?

Beitrag von AlterMann »

Jetzt, wo Ihr das sagt: Das war bei BP ja auch nicht anders.

Es ist schon grauslich was man in 20Jahren alles vergißt ... :(
Früher war alles besser. Und aus Holz!

RSE
Beiträge: 462
Registriert: Mi 30. Jul 2008, 13:11
OS, Lazarus, FPC: WinXP SP3 (L 0.9.28.2 FPC 2.2.4)
CPU-Target: 32Bit
Kontaktdaten:

Re: Dialogfenster zum Selbermachen?

Beitrag von RSE »

Das Vergessen hat ja auch Vorteile! Das Leben wäre grausam, wenn man nicht vergessen könnte...
Seit er seinen neuen Computer hat, löst er alle Probleme, die er vorher nicht hatte!

AlterMann
Beiträge: 238
Registriert: So 13. Dez 2009, 09:43
OS, Lazarus, FPC: Lazarus 3.0 (rev lazarus_3_0) FPC 3.2.2 i386-win32-win32/win64
CPU-Target: x86 64Bit
Wohnort: Niederösterreich

Re: Dialogfenster zum Selbermachen?

Beitrag von AlterMann »

Wie wahr! :D

Aber um ehrlich zu sein, man muß sich ganz schön am Riemen reißen um selbst auf Lösungen zu kommen.
Seit es Google und Unmengen an Foren gibt, ist die Versuchung groß geworden nur mehr "fremde Federn" zusammenklicken zu wollen.
Und meiner Konzentrationsfähigkeit sind die Mengen an Informationen auch nicht gerade zuträglich ...

Ich bin aber froh, hier gelandet zu sein. Hier wird unheimlich schnell und kompetent geholfen.
Lazarus scheint das Schicksal vieler (freier) Projekte zu teilen, daß die Dokumentation hiner der Entwicklung ordentlich hinterherhinkt. (Ich versteh' es ja, ich schreib auch hundertmal lieber ein Programm als daß ich eins dokumentiere ... :oops: )
Und da ist es natürlich sehr hilfreich wenn man jemanden Fragen kann als erst in der (leider recht lückenhaften) Dokumentation, dann auf 100 untauglichen Googlefundstellen und zuvor noch im Lazarusquelltext nichts brauchbares zu finden.
Früher war alles besser. Und aus Holz!

Benutzeravatar
theo
Beiträge: 10904
Registriert: Mo 11. Sep 2006, 19:01

Re: Dialogfenster zum Selbermachen?

Beitrag von theo »

AlterMann hat geschrieben: Lazarus scheint das Schicksal vieler (freier) Projekte zu teilen, daß die Dokumentation hiner der Entwicklung ordentlich hinterherhinkt.
Naja, dokumentiert ist das schon, du findest es bloss nicht. ;-)

http://lazarus-ccr.sourceforge.net/docs ... modal.html" onclick="window.open(this.href);return false;

http://www.delphi-treff.de/sprachen/obj ... ammaufbau/" onclick="window.open(this.href);return false;

AlterMann
Beiträge: 238
Registriert: So 13. Dez 2009, 09:43
OS, Lazarus, FPC: Lazarus 3.0 (rev lazarus_3_0) FPC 3.2.2 i386-win32-win32/win64
CPU-Target: x86 64Bit
Wohnort: Niederösterreich

Re: Dialogfenster zum Selbermachen?

Beitrag von AlterMann »

theo hat geschrieben:Naja, dokumentiert ist das schon, du findest es bloss nicht. ;-)
Das stimmt wohl. Zum Teil auch, weil ich oft nicht weiß ob es das was ich suche überhaupt gibt.
Die Vokabel "Modal" z.B. hätte ich wahrscheinlich nicht mit dieser Funktion in Zusammenhang gebracht.


Ich hoffe daß zu Lazarus irgendwann Bücher von Drittanbietern erscheinen, wie es sie seinerzeit zu BP gegeben hat.
Eine solche Zusammenfassung kann man (mehr oder weniger) ganz durchlesen um einmal zu sehen, welche Möglichkeiten es eigentlich gibt.

Aber ich will nicht meckern, Lazarus ist ein recht ausgereiftes, ordentlich gepflegtes Projekt mit dem man fein arbeiten kann.

Grüße
Christian
Früher war alles besser. Und aus Holz!

Scotty
Beiträge: 768
Registriert: Mo 4. Mai 2009, 13:24
OS, Lazarus, FPC: Arch Linux, Lazarus 1.3 r44426M FPC 2.6.4
CPU-Target: x86_64-linux-qt/gtk2
Kontaktdaten:

Re: Dialogfenster zum Selbermachen?

Beitrag von Scotty »

Wenn nicht zu viele Sachen da rein müssen, gäbe es auch die Funktion CreateMessageDialog().

Code: Alles auswählen

aMsgDlg:=CreateMessageDialog('Nachricht',mtxyz,...);
try
  aCheckBox:=TCheckBox.Create(aMsgDlg);
  ...
  if aMsgDlg.ShowModal=mrOk then ...
finally
  aCheckBox.Free;
  aMsgDlg.Free;
end;

RSE
Beiträge: 462
Registriert: Mi 30. Jul 2008, 13:11
OS, Lazarus, FPC: WinXP SP3 (L 0.9.28.2 FPC 2.2.4)
CPU-Target: 32Bit
Kontaktdaten:

Re: Dialogfenster zum Selbermachen?

Beitrag von RSE »

Hm, dann muss aber auch jeder Sch... zur Laufzeit eingestellt werden: Parent, Left, Top, Width, Anchors, Text, Checked, Event-Handler-Prozeduren, ... eben alles, was du sonst (teils umbemerkt) im Form-Designer tust, und das für jedes Control einzeln. Das macht also wirklich nur Sinn, wenn es nur einzelne Controls sind, die auf die Form drauf müssen.
Seit er seinen neuen Computer hat, löst er alle Probleme, die er vorher nicht hatte!

Euklid
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: Dialogfenster zum Selbermachen?

Beitrag von Euklid »

AlterMann hat geschrieben: Ich hoffe daß zu Lazarus irgendwann Bücher von Drittanbietern erscheinen, wie es sie seinerzeit zu BP gegeben hat.
Eine solche Zusammenfassung kann man (mehr oder weniger) ganz durchlesen um einmal zu sehen, welche Möglichkeiten es eigentlich gibt.
Ein Buch zu Lazarus ist bereits in Arbeit... ... alle hoffen auf eine baldige Veröffentlichung: http://www.amazon.de/gp/product/3936546 ... 393654638X" onclick="window.open(this.href);return false;

Für FreePascal gibt es bereits ein Handbuch, das ich selbst auch nutze: http://www.amazon.de/Free-Pascal-2-Hand ... 876&sr=1-1" onclick="window.open(this.href);return false;

Beide Bücher sind von den Entwicklern mitverfasst worden. Auch im Internet befindet sich eine gute englische Dokumentation zu Freepascal und mittlerweile auch eine brauchbare zu Lazarus. Wir haben vor einiger Zeit ein paar Links dazu hier zusammengesucht: http://www.lazarusforum.de/viewtopic.php?f=21&t=79" onclick="window.open(this.href);return false;

Speziell zu FreePascal finde ich diesen Link sehr hilfreich: http://www.freepascal.org/docs.var" onclick="window.open(this.href);return false;

Viele Grüße, Euklid

AlterMann
Beiträge: 238
Registriert: So 13. Dez 2009, 09:43
OS, Lazarus, FPC: Lazarus 3.0 (rev lazarus_3_0) FPC 3.2.2 i386-win32-win32/win64
CPU-Target: x86 64Bit
Wohnort: Niederösterreich

Re: Dialogfenster zum Selbermachen?

Beitrag von AlterMann »

Euklid hat geschrieben: Ein Buch zu Lazarus ist bereits in Arbeit...
Das hab ich natürlich schon gesehen, als ich schauen wollte ob es ein Buch gibt. Hoffentlich ist es bald fertig.

Danke für die zahlreichen Antworten
Christian
Früher war alles besser. Und aus Holz!

Antworten