Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Formular mit Komponenten in laufender Anwendung erstellen. (https://www.delphipraxis.net/70555-formular-mit-komponenten-laufender-anwendung-erstellen.html)

TBx 1. Jun 2006 14:23

Re: Formular mit Komponenten in laufender Anwendung erstelle
 
Ja, ich kann Deutsch. Wenn Du Dir mal andere Posts von mir anguckst, wirst Du herausfinden, daß ich immer ein Hope it helps ans Ende setze.
Außerdem solltest Du dich vielleicht erst einmal selbst der korrekten deutschen Sprache befleißigen, bevor Du Dich beschwerst.
Und was die englische "Benamselung" meines Codes angeht: Delphi spricht auch kein Deutsch!

Außerdem hast Du meinen Post offensichtlich nicht wirklich richtig gelesen, sonst würdest Du nicht darauf verweisen, daß Du bereits Deine Prozedur so deklarierst:
Delphi-Quellcode:
procedure Status1Click;
In meinem Post stand:

Procedure YourProcedure (Sender: TObject)

Schau mal in der Hilfe unter TNotifyEvent nach.
Da findest Du dann die notwendigen Informationen.

Hope it helps

onlinekater

EDatabaseError 1. Jun 2006 14:29

Re: Formular mit Komponenten in laufender Anwendung erstelle
 
procedure Status1Click(Sender: TObject);
begin
showmessage('mmep');
end;

geht auch nicht und zwar mit dem gleichen Fehler...

:zwinker: ja...ich hatte es nämlich so und dnn auch mal ohne probiert und eben das falsche online gestellt ;-)

Dax 1. Jun 2006 14:35

Re: Formular mit Komponenten in laufender Anwendung erstelle
 
Kein Wunder das es nicht geht. Es muss schon ne Methode einer Objektinstanz sein...

EDatabaseError 1. Jun 2006 14:39

Re: Formular mit Komponenten in laufender Anwendung erstelle
 
@Dax könntest du bitte ein Beispiel oder einen Link dazu geben???

TBx 1. Jun 2006 14:47

Re: Formular mit Komponenten in laufender Anwendung erstelle
 
Liste der Anhänge anzeigen (Anzahl: 1)
angehängt mal ein Beispiel



Gruß

onlinekater

EDatabaseError 1. Jun 2006 14:50

Re: Formular mit Komponenten in laufender Anwendung erstelle
 
:wall: so gehts doch nicht. IMHO liegt das an dem Array.

TBx 1. Jun 2006 15:38

Re: Formular mit Komponenten in laufender Anwendung erstelle
 
Poste doch mal die komplette Unit (bitte als Anhang).
Dann kann ich gerne mal drüber schauen.

Gruß

onlinekater

oldmax 1. Jun 2006 16:56

Re: Formular mit Komponenten in laufender Anwendung erstelle
 
Hi

Nun, ich versteh, das du verzweifelst...

Also, versuch dich mal vom Array zu lösen

Type
....
TMyForm = Class(TForm)
MyButton : TButton;
MyList : TStringlist;
MyEdit : TEdit;
MyxObject: TxObject;
//Was heissen soll, alle deine Elemente, die du in der Form brauchst, definierst du in Variablen
// und nun die benötigten Prozeduren und Funktionen
Procedure MyProc(....);
Function MyFunc(....):MyVar;
//und was du sonst noch brauchst.....

end;

In der Variablendeklaration setzt du deine Variable für dein Object

var
......
MyForm : TMyForm; // oder sonstige abgeleitete Objecte...
.....
MyStringList : TStringList; // manchmal nützlich, wenn man auf seine Objecte zurückgreifen möchte ...
// weil über
MyStringList.AddObject(xObject.Name,xObject); //das Object gespeichert wird
//und dies zum Auffinden
t:=MyListe.IndexOf(ObjName); // t ist eine Integervariable...
if MyListe.Objects[ t ] is TMyObject then
begin
(MyListe.Objects[ t ] as TMyObject).TeilObject.OnClick:=(MyListe.Objects[ t ] as TMyObject).TeilObject_Click;
....

//in diesem Fall war TMyObject ein TPanel mit Checkboxen, hier als Teilobject benannt....
// die OnClick-Methode muß zur Entwurfszeit geschrieben, zur Laufzeit den erzeugten Objecten zugewiesen werden
end;

So, nun zu deinen Form-Objecten

Wenn du immer nur eines erzeugst, so brauchst du keine Liste,folgende Anweisung erledigt das und erzeugt dir ein Formular, welches du aber erst wieder schleißen mußt, bevor ein neues erzeugt werden kann.
Application.CreateForm(TMyForm, MyForm);
MyForm.Visible:=False;
MyForm.ShowModal;
MyForm.Free;


ansonsten probier mal
Application.CreateForm(TMyForm, MyForm);
MyForm.Name:='MyForm'+intToStr(Zaehler);
MyStringList.AddObject(MyForm.Name,MyForm);

vergiss aber nicht, den Eintrag zu löschen, wenn du das Object schließt.....

Viel Spass und tob dich erst mal aus

Gruß oldmax


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:30 Uhr.
Seite 2 von 2     12   

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