Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Eine Form mehrfach anzeigen (https://www.delphipraxis.net/4882-eine-form-mehrfach-anzeigen.html)

S - tefano 15. Mai 2003 15:03


Eine Form mehrfach anzeigen
 
Hi,

erstmal: Sorry wenns hier nich hingehört, war mir nich so sicher.
Wer die Vorgeschichte zu meiner Frage wissen will, der möge sich bitte diesen Beitrag von mir im TCP/IP- Forum ansehen.
Jetz aber mein Problem.
Ich will eine Form, die ganz normal mit Unit und .dfm in meinem Projekt drin is, mehrmals anzeigen. Undzwar nicht so, dass man sie einfach öfter sieht, sondern dass quasi auch die Unit mit ihren Variablen bei jedem Aufruf nen neuen Speicherbereich bekommt. Also quasi als würd man ein Programm mehrmals starten. Dann isses ja auch mehrmals da und jede vom Programm verwendete Variable existiert für jedes der Programme einmal im Speicher.
Geht das überhaupt so ganz normal mit Units? Oder muss ich mich da irgendwie in Richtung DLL orientieren?
Wer immer noch nich weiß was ich meine, mir is grad nochn gutes Beispiel eingefallen, was sich auch auf mein Problem bezieht: ICQ. Da gibt es ja auch ein normales Telegramm- Fenster was mehrfach geöffnet werden kann.

Danke schonmal für eure Hilfe.

Bis dann,

S - tefano

Touchdown 15. Mai 2003 17:07

Erzeuge einfach 4 Instanzen über einen Pointer der Formularklasse und du hast 4 unterschiedliche Speicherbereiche mit jeweils gleichem Inhalt.

Wo ist da das Problem? :mrgreen:

S - tefano 15. Mai 2003 17:29

Hi,

Problem Nr. 1: Hab keine Ahnung von Pointern...
Problem Nr. 2: So wie ich das seh hätt ich dann in jedem Fall ne begrenzte Anzahl an Instanzen zur Verfügung. Ich will ja so viele wie der User gerade will öffnen können.

Bis dann,

S - tefano

Touchdown 15. Mai 2003 18:37

Delphi-Quellcode:
PointeraufKlasse : TMeinFormular; // Pointer : Klasse;
Es gibt keine logische Begrenzung, mit dem dummen Formular kannste dir den ganzen Speicher vollhauen.

Vielleicht noch ein wenig F1 und da nach 'create' suchen, dann sollte dir ein Licht aufgehen.

S - tefano 15. Mai 2003 19:27

Hi,

wieder zwei Probleme:
1. Gibts unter F1-> create seeeeeeeeehr viele Punkte, und
2. Funktionierts nich.

Delphi-Quellcode:
var
 pointerdings: TOKRightDlg;
begin
{ pointerdings.Create(self); }
 pointerdings.Show;
end;
Je nach dem, ob ich das Create ausklammere oder nicht. Beim Ausklammern passiert garnix (woran das wohl liegt), und wenn ich es nicht ausklammere kommt ne Exception vonwegen "A component named Button2 already exists". Hab das Ganze in das OnClick- Ereignis von Button2 auf Form1 implementiert.
Der Dialog heißt wirklich so und steht in der uses- Liste. Auf dem Dialog hab ich alle Buttons entfernt.
Wenn ich jetzt den Dialog direkt aufrufe, krieg ich ne ähnliche Exception die dann das Bevel auf dem Dialog betrifft, dieses existiere ebenfalls schon.
Hmhmhm, vielleicht erklärst du mir das Ganze mal näher oder gibst mir genauere Anhaltspunkte in der Delphi- Hilfe.
Danke schonmal.

Bis dann,

S - tefano

Touchdown 15. Mai 2003 21:22

Es scheinen viele hier Probleme mit der Hilfe zu haben, ich persönlich finde sie sehr gut!

So initialisiert man eine Klasse zu einem Objekt:
Delphi-Quellcode:
var
  Pointer : THilfeLesenKannKeinSchwein;
begin
  Pointer := THilfeLesenKannKeinSchwein.create;
  Pointer.show;
  // über das Zerstören des Objektes sollte man sich auch Gedanken machen
end;
:mrgreen:

S - tefano 15. Mai 2003 22:40

Hi,

wunderbar! Danke, klappt prima!
Nur hast du vergessen, dass du dem create nen Parameter (ich hab self genommen) übergeben musst.
Danke nochmal!

Bis dann,

S - tefano :firejump:

Touchdown 16. Mai 2003 10:15

Wobei der Parameter 'self' nicht sich selber meint, sondern das Formular wo das Create ausgerufen wird!

Wird gerne verwechselt!

Motzi 16. Mai 2003 10:42

Schau dir mein Pointer-Tut an (unter www.x-spy.net/personal)... da wird genau das gemacht was du willst - Multiple Instanzen einer Form

S - tefano 16. Mai 2003 13:13

Hi,

jo, das mit dem self weiß ich zum Glück (bin da bei meiner ersten Komponente drüber gestolpert).
@Motzi:
Ufffff. Bin ja mal gespannt ob ich mich da dieses Wochenende wohl dran setz. Scheinst dir aber ganz schön Arbeit gemacht zu haben, deine Seite is auch nich schlecht.
Aber auch so nochmal danke für eure Ideen, bin begeistert wie leicht das ohne viel Code funktioniert hat.
Hoffe mein Prog so bald wie möglich fertig zu bekommen, damit ichs hier vorstellen kann.

Bis dann,

S - tefano


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:19 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz