AGB  ·  Datenschutz  ·  Impressum  







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

Eigenschaften von erzeugten Komponenten

Ein Thema von Maya · begonnen am 10. Aug 2011 · letzter Beitrag vom 10. Aug 2011
Antwort Antwort
Seite 3 von 4     123 4      
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#21

AW: Eigenschaften von erzeugten Komponenten

  Alt 10. Aug 2011, 14:44
Du hast ja beim Erzeugen einen Owner angegeben, daher musst Du die Komponenten nicht selbst freigeben, das übernimmt der Owner, das ist nämlich seine Aufgabe.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Maya
Maya

Registriert seit: 15. Jun 2011
Ort: Potsdam-Mittelmark
107 Beiträge
 
Delphi 2010 Enterprise
 
#22

AW: Eigenschaften von erzeugten Komponenten

  Alt 10. Aug 2011, 14:47
Also müsste ich die Groupboxen freigeben?
Problem an der Sache ist aber, dass auch wenn ich die Form schließe und sie wieder öffne mit 'ner anderen Auswahl, motzt Delphi-Lein 'rum, weil einige Komponenten schon unter gewisse Namen vorhanden sind. D.h. sie sind nicht freigegeben wurden.

So und um mal meinen Gedankengang zu Ende zu führen: ich müsste die Groupboxen freigeben (sind zweie), wo die LabeledEdits drinne sind und beim neuen OnShow-Ereignis des Fensters neu erzeugen, ja?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#23

AW: Eigenschaften von erzeugten Komponenten

  Alt 10. Aug 2011, 14:51
Der Owner ist das Formular, der Parent dürfte die jeweilige GroupBox sein. Während der Owner sich um den Speicher kümmert ist der Parent für die Darstellung zuständig. Aber das nur am Rande. Willst Du wirklich bei jedem OnShow-Eventaufruf die Komponenten neu erzeugen? Vielleicht wäre es dann einfacher, das Formular dynamisch anzulegen und freizugeben.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Maya
Maya

Registriert seit: 15. Jun 2011
Ort: Potsdam-Mittelmark
107 Beiträge
 
Delphi 2010 Enterprise
 
#24

AW: Eigenschaften von erzeugten Komponenten

  Alt 10. Aug 2011, 14:58
Das Formular komplett dynamisch anlegen möchte ich eigentlich nicht, weil es immer komplett gleich aussieht, bis auf die knapp 15 LabeledEdits und max. 6 Comboboxen (je nach Auswahl), welche dynamisch erzeugt werden. Das sind ja auch nicht die einzigen Komponenten auf den Formularen.

Gibt es denn dann nicht eine Möglichkeit, das Formular richtig zu schließen und bei jeden Aufruf neu zu kreiieren, also nicht nur einfach anzuzeigen? Dann wären die Komponenten doch freigegeben und mein Problem eigentlich gelöst.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#25

AW: Eigenschaften von erzeugten Komponenten

  Alt 10. Aug 2011, 15:01
Das meinte ich ja. Du kannst das Formular in den Projektoptionen aus der Liste der automatisch erstellten Formulare entfernen. Dann erzeugst Du es zur Laufzeit und stellst im OnClose die Action auf caFree. Das sollte eigentlich funktionieren, wenn ich nichts vergessen habe.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Maya
Maya

Registriert seit: 15. Jun 2011
Ort: Potsdam-Mittelmark
107 Beiträge
 
Delphi 2010 Enterprise
 
#26

AW: Eigenschaften von erzeugten Komponenten

  Alt 10. Aug 2011, 15:10
Ok, das kannte ich noch gar nicht, jetzt hab ich aber ein ganz anderes Problem.
Wie ich ja schon erwähnte, wird vorher eine Auswahl getroffen und je nach dem wird dann das Formular erstellt. D.h. ich übergebe an die Unit frmneuerEintrag eine Variable (1,2 oder 3) und dementsprechend werden dann die Komponenten hingebastelt.

Somit sieht mein Quelltext in dem Auswahlformular wie folgt aus:

Delphi-Quellcode:
procedure TAuswahl.Hausmitteilung1Click(Sender: TObject);
begin
   Postart:=3;
   neuer_Eintrag.Postart:=Postart;
   neuer_Eintrag.ShowModal;
Jetzt kommt nämlich immer nach der Auswahl eine Fehlermeldung bzgl. einer Zugriffsverletzung. Ist ja auch klar, wenn das Formular noch gar nicht erzeugt ist, wie soll es da ja auch auf die Variable zugreifen?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#27

AW: Eigenschaften von erzeugten Komponenten

  Alt 10. Aug 2011, 15:12
Delphi-Quellcode:
procedure TAuswahl.Hausmitteilung1Click(Sender: TObject);
begin
   Postart:=3;
   //Formular erzeugen
   neuer_Eintrag := Tneuer_Eintrag.Create(nil);
   neuer_Eintrag.Postart:=Postart;
   neuer_Eintrag.ShowModal;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Maya
Maya

Registriert seit: 15. Jun 2011
Ort: Potsdam-Mittelmark
107 Beiträge
 
Delphi 2010 Enterprise
 
#28

AW: Eigenschaften von erzeugten Komponenten

  Alt 10. Aug 2011, 15:16
Ja, ich denke gerne mal viel zu komplizierten. Dachte, ich muss schon wieder tief in die Trickkiste greifen.

Ich wünsche mir einen Danke-Button hier her!
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#29

AW: Eigenschaften von erzeugten Komponenten

  Alt 10. Aug 2011, 15:21
Du gibst aber auch hoffentlich das Formular wieder frei (wie gesagt, z.B. über die CloseAction des Formulars im OnClose)?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Maya
Maya

Registriert seit: 15. Jun 2011
Ort: Potsdam-Mittelmark
107 Beiträge
 
Delphi 2010 Enterprise
 
#30

AW: Eigenschaften von erzeugten Komponenten

  Alt 10. Aug 2011, 15:34
Also ich hab in dem Formular im OnClose-Ereignis dieses "Action:=caFree;" stehen, keine Sorge. Ich werde mich bloß noch mal etwa genauer mit der CloseAction beschäftigen, aber erst nach meinen langen WE. XD
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 4     123 4      


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 11:44 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