AGB  ·  Datenschutz  ·  Impressum  







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

Programmoberfläche dynamisch erzeugen

Ein Thema von meisteralex · begonnen am 7. Sep 2007 · letzter Beitrag vom 7. Sep 2007
Antwort Antwort
Seite 2 von 2     12   
meisteralex

Registriert seit: 22. Nov 2005
173 Beiträge
 
#11

Re: Programmoberfläche dynamisch erzeugen

  Alt 7. Sep 2007, 09:32
wie würde ich denn nun am besten z.b. eine tabelle dynamisch erstellen lassen ?
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#12

Re: Programmoberfläche dynamisch erzeugen

  Alt 7. Sep 2007, 09:34
mit welcher Komponente würdest du denn eine Tabelle darstellen wenn du es nicht dynamich machst? mit genau der gleichen solltest du es auch machen wenn es dynmich erzeugt wird.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.268 Beiträge
 
Delphi 11 Alexandria
 
#13

Re: Programmoberfläche dynamisch erzeugen

  Alt 7. Sep 2007, 11:05
Zitat von SirThornberry:
psst! Jemandem der damit anfängt Objekte zu erzeugen sollte gar nicht erst auf die Idee kommen etwas nicht frei zu geben.
Und es schadet ja nicht wenn er es frei gibt.
Ich stimme dir in dieser Beziehung vollkommen zu.

Ich wollte damit nur angeben, daß es möglich ist, daß das Objekt (TButton) an einer anderen Stelle freigegeben werden "kann" und man sich schon überlegen muss, wann man mit deiner Variante die Buttons freigibt. Sollte die andere Stelle "schneller" mit der Freigabe sein als du, dann läufst du mit deiner Variante in eine Exception. Wie gesagt, dein array bekommt einfach nicht mit, wenn die Buttens von einer anderen Stelle freigegeben werden. Wenn schon, dann solltes du bei der Freigabe dich überzeugen, daß der Zeiger in deinem array tatsächlich auf eine noch gültige instanz zeigt. (Einfach mit components und componentcount prüfen)

Teilweise ist es ja auch gewünscht, daß ein anderes Objekt sich um die Freigabe meiner manuell erzeugen Objekte kümmert. Siehe TObjectList mit "ownsobjects:=true". Würdest du dich dort auch um die Freigabe deiner erzeugten Objekte kümmern? Die gleiche Ausnahme sehe ich in Objekten vom Type TComponent. Wenn ich einen Owner angebe, dann weiss ich, dass ich die Kontrolle abgeben kann.



Gerd
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.268 Beiträge
 
Delphi 11 Alexandria
 
#14

Re: Programmoberfläche dynamisch erzeugen

  Alt 7. Sep 2007, 11:09
Zitat von mkinzler:
Dann aber FreeAndNil()
Das ist im Falle von SirThornberry code eingendlich egal. Mit FreeAndNil wird lediglich der Zeiger im Array auf nil gesetzt. Das Array setzt er aber mit setlength auf die Größe 0, nachdem er alle objekte freigegeben hat.

Gerd
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 23:25 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