Autor Beitrag
canada
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Sa 06.03.04 20:24 
Erstmal Hi!,

Ich habe schon gesucht obs hier etwas zu diesem Thema gab, hab aber nichts gefunden Poste es jetzt mal, nebenbei, es gibt hier gute Infos :!: Ich habe in der letzten Zeit schon etwas selbst rum expandiert, habs trotzdem bis jetzt net selbst hin bekommen deswegen mal die Frage an euch, ob Ihr es vielleicht wisst wie das geht??

Ich möchte gerne so ein Fenster in mein Proggi haben
mitglied.lycos.de/robertpuegner/db_2.jpg
mitglied.lycos.de/robertpuegner/db_3.jpg (naturlich ohne den Inhalt :wink: )

einzigster Unterschied ist, das ich das auf einen Button legen will:
mitglied.lycos.de/robertpuegner/db_1.jpg (der Impressum)

kurz, wenn ich auf den Button drücke (Impressum), sich so ein Fenster öffnet.

nutze Delphi 7

schon mal thx!

Moderiert von user profile iconTino: IMG-Tags entfernt; Titel geändert; Topic verschoben.
grayfox
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 800

win98, winXP
D4 Standard; D6 Personal
BeitragVerfasst: So 07.03.04 00:08 
hallo canada!

ich bin mir nicht ganz sicher, ob ich deine frage richtig verstanden habe. kann es sein, dass du so etwas suchst?

ausblenden Delphi-Quelltext
1:
2:
3:
4:
begin
  Form2.ShowModal;
  Form2.Free
end


diese 2 zeilen trägst du in den OnClickEvent deines buttons und schon wird die form geöffnet.

oder du erstellst die form zur laufzeit, dann sieht das so aus:
aber nicht drauf vergessen, form2 aus der liste der selbständig erzeugten formulare zu entfernen.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
begin
  Form2:= TForm.Create(self);
  Form2.ShowModal;
  Form2.Free
end



Zitat:
einzigster Unterschied ist, das ich das auf einen Button legen will

was willst auf einen button legen?

mf, stefan

Moderiert von user profile iconPeter Lustig: Code- durch Delphi-Tags ersetzt
obbschtkuche
Gast
Erhaltene Danke: 1



BeitragVerfasst: So 07.03.04 00:11 
grayfox hat folgendes geschrieben:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
begin
  Form2.ShowModal;
  Form2.Free
end


Das Free würde ich da mal weg lassen, sonst krachts wenn der user 2x auf den Button klickt.

Moderiert von user profile iconPeter Lustig: Code- durch Delphi-Tags ersetzt
canada Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: So 07.03.04 10:58 
ich mein das so,
wenn ich zb. Beispiel, wie auf den ersten beiden Bildern zusehen ist, auf "About" klicke sich das Fenster "About Web Browser" öffnet, soweit klar?!

Jetzt möchte ich aber so etwas in mein Proggi einbauen, nähmlich wenn ich den Button "Impressum" (Bild 3) anklicke, sich auch so ein Fenster öffnet (Bild 2), jetzt verständlich erklärt??

thx
rokdd
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 329

Win XP
D6
BeitragVerfasst: So 07.03.04 11:13 
hallo canada,
der source dafür wurde doch schon oben gepostet... was gibts denn da noch für ein Problem?


Rokdd
grayfox
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 800

win98, winXP
D4 Standard; D6 Personal
BeitragVerfasst: So 07.03.04 14:45 
hallo obbschtkuche!

sorry, bei meinem ersten code-schnippsel ist das FREE natürlich zuviel des guten, sonst findet beim nächsten mal öffnen delphi kein formular mehr ;)

Zitat:
beim zweiten must du es beim schliesen des programmes einfügen (OnClose) !

das wäre aber ganz ungeschickt, wenn du die form erst beim schliessen des programmes free'st. denn es wäre ja denkbar, dass der user sich das formular öfters anzeigen lässt, und somit räumst du nur die letzte instanz aus dem speicher.

Zitat:
und Form2:= TForm.Create(self); muss bei OnCreate rein

und so würde ich es gar nicht machen - denn dann würde das formular erstellt, auch wenn der user den button nicht klickt.

mit deinem vorschlag kannst die form gleich in der liste der beim programmstart zu erzeugenden formularen belassen. das macht nämlich genau dasselbe...

und dass man eine unit, die man verwenden will, einbindet, hatte ich aber schon vorausgesetzt :D
grayfox
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 800

win98, winXP
D4 Standard; D6 Personal
BeitragVerfasst: So 07.03.04 15:03 
hallo canada!

dann versuch ich mal licht ins dunkel zu bringen, denn ich habs ja auch verursacht :twisted:

- du erstellt das formular, das zu anzeigen willst
- gibst ihm den namen 'AboutDlg'
- speicherst es unter 'AboutFrm.pas' ab
- in deinem programm wählst mit [File] - [use Unit] 'AboutFrm' aus
- und verschiebst es in [Project] - [Options] von 'auto-create forms' nach 'available forms'

so weit, so gut.
danach doppelklickst du den 'ImpressumBtn' und trägst in seinen OnClickEvent folgendes ein

ausblenden Delphi-Quelltext
1:
2:
3:
  AboutDlg:= TAboutDlg.Create(self);
  AboutDlg.ShowModal;
  AboutDlg.Free;


[für fortgeschrittene]
ausblenden Delphi-Quelltext
1:
2:
3:
4:
  with TAboutDlg.Create(self) do begin
    ShowModal;
    Free
  end;


somit wird dir dein formuar auf buttonclick angezeigt. dabei ist es völlig egal, mit welchem button du es öffnest - du brauchst ihm nur in seinen OnClickEvent mitteilen, was er zu tun hat
ich hoffe, dass es nun taghell geworden ist :)

mfg, stefan

Moderiert von user profile iconMotzi: Code- durch Delphi-Tags ersetzt.
Motzi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2931

XP Prof, Vista Business
D6, D2k5-D2k7 je Prof
BeitragVerfasst: So 07.03.04 15:26 
@grayfox: und was is mit den Resource-Schutblöcken - auch als SEH-Frame (Structured Exception Handling) bekannt..? :roll:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
  AboutDlg:= TAboutDlg.Create(self);
  try
    AboutDlg.ShowModal;
  finally
    AboutDlg.Free;
  end;


[für fortgeschrittene]
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
  with TAboutDlg.Create(self) do
    try
      ShowModal;
    finally
      Free
    end;

_________________
gringo pussy cats - eef i see you i will pull your tail out by eets roots!
grayfox
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 800

win98, winXP
D4 Standard; D6 Personal
BeitragVerfasst: So 07.03.04 17:45 
hallo motzi!

danke fürs tags-ersetzen! du machst das echt super! ;)
setzt du beim anzeigen von aboutboxen wirklich schutzblöcke? normalerweise sollte ja das programm dort nicht abstürzen, da nur etwas angezeigt und nichts eingegeben oder berechnet wird, das zu fehlern bzw programmabstürzen führen könnte.

mfg, stefan
canada Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: So 07.03.04 19:19 
ertsmal danke, danke, ...

desweiteren ist mein Problem/ Frage geklärt, habs mit der Variante gemacht und es geht:

ausblenden Delphi-Quelltext
1:
2:
3:
begin 
  Form2.ShowModal; 
end


und ein neus Form und Unit genommen, ...

Moderiert von user profile iconMotzi: Quote- durch Delphi-Tags ersetzt.
Motzi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2931

XP Prof, Vista Business
D6, D2k5-D2k7 je Prof
BeitragVerfasst: So 07.03.04 21:26 
grayfox hat folgendes geschrieben:
setzt du beim anzeigen von aboutboxen wirklich schutzblöcke? normalerweise sollte ja das programm dort nicht abstürzen, da nur etwas angezeigt und nichts eingegeben oder berechnet wird, das zu fehlern bzw programmabstürzen führen könnte.

Mach ich (soweit möglich) eigentlich immer in allen Fällen in denen ich Objekte erzeuge oder zur Laufzeit Speicher reserviere..! Einfach für den Fall, dass auch alles korrekt wieder freigegeben wird wenn ein Fehler auftritt, und das kann so ziemlich immer passieren (welcher Natur auch immer)...

_________________
gringo pussy cats - eef i see you i will pull your tail out by eets roots!