AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zur Laufzeit erzeugtes Objekt ansprechen

Ein Thema von Berserker · begonnen am 2. Mär 2008 · letzter Beitrag vom 2. Mär 2008
Antwort Antwort
Benutzerbild von Berserker
Berserker

Registriert seit: 15. Dez 2002
Ort: Chemnitz
164 Beiträge
 
Delphi 6 Professional
 
#1

Zur Laufzeit erzeugtes Objekt ansprechen

  Alt 2. Mär 2008, 16:21
Hallo Gemeinde.

Zur zeit programmiere ich mal wieder an meiner Artikelverwaltung herum. (man muss ja etwas tun )

Ich erzeuge zur laufzeit Edit-Felder welche auch einen Namen bekommen.
Nur wie kann ich diese auch ansprechen, um die Werte auszulesen.

Delphi-Quellcode:
  with TPBEdit.Create(frmARTIKELEDIT) do begin
    Parent := self;
    ReadOnly := true;
    Name := 'edLIEFTXT100';
    AutoSize := false;
    Font.Size := 9;
    Font.Color := clNavy;
    Left := 8;
    Top := 5;
    Width := 393;
    Height := 23;
    Parent := LiefPanel
end;
Der Name wäre also edLIEFTXT100.
Nun will ich edLIEFTXT100.Text lesen. Wie kann man dies bewerkstelligen?

MFG, Ronny
  Mit Zitat antworten Zitat
s-off
(Gast)

n/a Beiträge
 
#2

Re: Zur Laufzeit erzeugtes Objekt ansprechen

  Alt 2. Mär 2008, 16:23
Hallo,

Du hast Dir die Antwort doch schon selber gegeben:

edLIEFTXT100.Text
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

Re: Zur Laufzeit erzeugtes Objekt ansprechen

  Alt 2. Mär 2008, 16:25
Hi,

TEdit(FindComponent('edLIEFTXT100')).Text := 'halloo'; Gruß
Neutral General
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Zur Laufzeit erzeugtes Objekt ansprechen

  Alt 2. Mär 2008, 16:25
Entweder du hast eine Referenz auf den Speicherbereich, oder du suchst bei dem entsprechenden owner nach dem Namen:
(Form1.FindComponent('edLIEFTXT100') as TEdit).Text := 'bla'; edit: @Neutral General: Bitte mit as
Dominik
Wer anderen eine Grube gräbt, hat ein Gruben-Grab-Gerät!
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Zur Laufzeit erzeugtes Objekt ansprechen

  Alt 2. Mär 2008, 16:26
Wenn du die Objekte später noch einmal brauchst, solltest du sie in einem Feld deiner Formularklasse speichern. Dann kannst du vorgehen, wie es s-off vorgeschlagen hat. Andernfalls brauchst du FindComponent, was aber aus Geschwindigkeitsgründen unbedingt vermieden werden sollte.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#6

Re: Zur Laufzeit erzeugtes Objekt ansprechen

  Alt 2. Mär 2008, 16:26
hi,

dazu setzt du eine Variable (als Member einer Form oder auch als globale Variable) und erzeugst daraus dein Feld
könnte so aussehen:
Delphi-Quellcode:
var edLIEFTXT100: TPBEdit;
begin

// with TPBEdit.Create(frmARTIKELEDIT) do begin <-- Das hier nicht
edLIEFTXT100 := TPBEdit.Create(frmARTIKELEDIT);
with edLIEFTXT100 do
//...

end;
rollstuhlfahrer

PS: ich dann mal auch
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
Benutzerbild von Berserker
Berserker

Registriert seit: 15. Dez 2002
Ort: Chemnitz
164 Beiträge
 
Delphi 6 Professional
 
#7

Re: Zur Laufzeit erzeugtes Objekt ansprechen

  Alt 2. Mär 2008, 16:29
Mit den Vars wollte ich auch schon so machen.
Jedoch erstelle ich in einer Scrollbox Panels mit Editfeldern.
Ich muss jedoch für jeden Lieferanten eine Zeile mit je 4 Feldern erzeugen und da die sich immer mal ändern, kommen neue dazu oder es fällt einer weg, werde ich es erstmal mit der FindComponent-Vairante von Neutral General probieren.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:57 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