AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi dynamisch erzeugte objekte ansprechen
Thema durchsuchen
Ansicht
Themen-Optionen

dynamisch erzeugte objekte ansprechen

Ein Thema von KoRn117 · begonnen am 9. Okt 2003 · letzter Beitrag vom 9. Okt 2003
Antwort Antwort
KoRn117

Registriert seit: 24. Sep 2003
Ort: Hessen
50 Beiträge
 
Delphi 7 Enterprise
 
#1

dynamisch erzeugte objekte ansprechen

  Alt 9. Okt 2003, 14:36
hilfe ein problem

mit diesen code erzeuge ich shapes und dem namen Shape0, Shape1,Shape2,...

Delphi-Quellcode:
for reihen:=0 to AICs-1 do
begin
  for i := 1 to 8 do//ALEDs do
    begin
    // SHAPE ERZEUGEN
    ShapeX := TShape.Create(form1);
    ShapeX.Name :='Shape'+inttostr(AnzahlShapes+1); // plus eins weil nur wenn es 8 leds sind dann nur eine 7 darin steht
    ShapeX.Parent := form1;
    // und INITALISIEREN
    shapex.Width := 16;
    shapex.Height := 16;
    shapex.Top := (i*16);
    shapex.Left := 179+(reihen*16);
    shapex.Shape := stCircle;
    shapex.Brush.Color := clMaroon;
    //shapex.FreeOnRelease;
    inc(AnzahlShapes);
  end; // ende der for 1 to ALEDs
end; // for reihen 1 to AICs
und ich will sie in einer anderen procedure ansprechen, einzeln.

aber ich weiß nicht wie das geht ist mein erstes projekt mit dyn. erzeugten objekten.

hatte es versucht mit
ShapeX.Shape0.brush.color
und
Shape0.brush.color

aber es geht nicht - helft mir biiiitte

korn117
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#2

Re: dynamisch erzeugte objekte ansprechen

  Alt 9. Okt 2003, 14:38
versuche mal activeControl: blödsinn
findcomponent müßte es sein
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#3

Re: dynamisch erzeugte objekte ansprechen

  Alt 9. Okt 2003, 14:46
Es ist nicht noetig den Shapes Namen zu geben. Die Komponentennamen sind eher in der IDE wichtig.
Dort legt dir die IDE gleich noch eine Variable in der Klasse an und benutzt dabei den Namen.
Fuer selbst erzeugte Komponenten musst du dir selbst Variablen anlegen.

Delphi-Quellcode:
  TMyForm = class(TForm)
  ....
  public
    ShapeList: array [1..8] of TShape;
  .....
  end;

....

begin
  for i := 1 to 8 do//ALEDs do
    begin
    // SHAPE ERZEUGEN
    ShapeList[I] := TShape.Create(form1);
    ShapeList[I].Parent := form1;
Das ist jetzt ein bischen vereinfacht. Du brauchst wahrscheinlich ein 2 dimensionales Array.
Jetzt kannst du mit ShapeList[1] auf die 1. Komponente zugreifen usw.
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#4

Re: dynamisch erzeugte objekte ansprechen

  Alt 9. Okt 2003, 14:49
das ist die weitaus elegantere variante
  Mit Zitat antworten Zitat
IronEddie

Registriert seit: 9. Okt 2002
13 Beiträge
 
#5

Re: dynamisch erzeugte objekte ansprechen

  Alt 9. Okt 2003, 14:49
du solltest deine dynamischen objekte in einem array of TShape (oder of pointer) speichern...

also z.B.

var shapes : array [0..7] of TShape;

und dann mit

shapes[0] := TShape.Create(form1);
shapes[0].Parent := form1;

erzeugen.

dann kannst du über das array auf die shapes zugreifen
  Mit Zitat antworten Zitat
IronEddie

Registriert seit: 9. Okt 2002
13 Beiträge
 
#6

Re: dynamisch erzeugte objekte ansprechen

  Alt 9. Okt 2003, 14:50
ok, war jemand schneller!
  Mit Zitat antworten Zitat
KoRn117

Registriert seit: 24. Sep 2003
Ort: Hessen
50 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: dynamisch erzeugte objekte ansprechen

  Alt 9. Okt 2003, 15:15
vielen dank leute das war der richtige denkanschub/wissen den/was ich brauchte.

danke!!!

  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 18:09 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