AGB  ·  Datenschutz  ·  Impressum  







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

Parent rausfinden

Ein Thema von Moony · begonnen am 23. Nov 2007 · letzter Beitrag vom 26. Nov 2007
Antwort Antwort
Moony

Registriert seit: 29. Jul 2003
Ort: Essen
454 Beiträge
 
Delphi 2010 Professional
 
#1

Parent rausfinden

  Alt 23. Nov 2007, 16:28
Hallo zusammen,

ich füge zur Laufzeit ein Frame in eine Form mehrmals hinzu. Das funktioniert soweit wunderbar, mein Problem ist das Killen dieser. Wenn ich alle wieder freimache ist alles ok. Will ich jedoch ein Frame freimachen, bei dem ich gerade eine Aktion gemacht habe, geht das nicht, weil ich irgendwie nicht das richtige Parent von der untergeordneten Komponente bekomme.
Ich habe das foglendermaßen versucht:

Delphi-Quellcode:
var
  fr : TSearchFields;
  i : Integer;
begin
...
  fr := (cmbSearch.Parent) as TSearchFields; // diese Komponente ist dem TSearchFields untergeordnet und wurde gerade angewählt
  for i := 0 to fmSearch.GroupSearchFields.ControlCount - 1 do
  begin
    if fmSearch.GroupSearchFields.Controls[i] is TSearchFields then // das ist mein Frame statisch generiert
    begin
      myFrame := fmSearch.GroupSearchFields.Controls[i] as TSearchFields; // myFrame:TSearchFields; wird dynamisch erzeugt
      if myFrame.Name = fr.Name then
      begin
        myFrame.Free;
        Exit;
      end;
    end;
  end;
...
end;

Sprich: Ich habe in der Combobox einen bestimmten Eintrag ausgewählt und möchte das Frame von dieser Combobox wieder entfernen.

Danke im Voraus.

Gruß, Moony
Ich weiß, daß ich nichts weiß! Sokrates
  Mit Zitat antworten Zitat
Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#2

Re: Parent rausfinden

  Alt 26. Nov 2007, 08:36
Dein Problem verstehe ich nicht so ganz. Du willst von einen gegebenen Control auf das Frame schießen, auf das sich das Control befindet?

Vlt. hilft dir das?!
Delphi-Quellcode:
function GetParentFrame(AControl: TControl): TFrame; // Ungetestet
begin
  While not (Control is TFrame) and (AControl.Parent <> nil) do
    Control := Control.Parent;
  If Control is TFrame then Result := TFrame(Control)
    else Result := nil;
end;
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#3

Re: Parent rausfinden

  Alt 26. Nov 2007, 08:47
Zitat von Moony:
Hallo zusammen,

Sprich: Ich habe in der Combobox einen bestimmten Eintrag ausgewählt und möchte das Frame von dieser Combobox wieder entfernen.

Danke im Voraus.

Gruß, Moony
das ist unmöglich solange ein zugriff auf die combo stattfindet schließlich ist das frame
dann noch immer ein bestandteil dieser wenn du es als parent in die combo gelegt hast.

Zumindest habe ich das so verstanden

Also es darf kein zugriff auf die combo stattfinden dann kannst du das frame auch entfernen.

gruss
  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 14:31 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