"We are back" « oc.at

delphi FindComponent, FindClass

aNtraXx 14.10.2003 - 09:21 1631 6
Posts

aNtraXx

trailer park king
Avatar
Registered: Apr 2002
Location: Linz
Posts: 6907
hallo!

also wie gesagt die Funktionen

FindChild()
FindComponent()

funktionieren zwar im CLX sehr gut jedoch mit einem MDI Parent und Childs funktioniert es nicht.

gibts da irgendwelche tricks oder kniffs die ich nicht kenne?!

oder gibt es sonst eine lösung?!

bin für jeden tipp dankbar!

lg bernhard

Ringding

Pilot
Avatar
Registered: Jan 2002
Location: Perchtoldsdorf/W..
Posts: 4300
Wirst wohl damit leben und selber für jedes MDIChild extra das FindComponent aufrufen müssen.

aNtraXx

trailer park king
Avatar
Registered: Apr 2002
Location: Linz
Posts: 6907
wie meinen?!
das würde ich ohnehin tuen.
mein problem liegt aber darin dass es unter MDI projekten garned funktioniert. clx schon

Ringding

Pilot
Avatar
Registered: Jan 2002
Location: Perchtoldsdorf/W..
Posts: 4300
Code:
  int count = MDIChildCount;
  TComponent *c;
  for (int i=0; i<count; i++) {
    c = MDIChildren[i]->FindComponent("Shape1");
    if (c != 0)
      return c;
  }

Also bei mir geht das so. Ist zwar C++Builder Code, aber das ist genau das gleiche wie Delphi.

aNtraXx

trailer park king
Avatar
Registered: Apr 2002
Location: Linz
Posts: 6907
hmm ich versteh zwar den c++ code aber ich verstehs ned ganz ihn in delphi code umzuwandeln. zb ich weis ned wie ich den pointer -> umwandle bzw das return
Code:
var
  //frmWork : TForm;
  c: TComponent;
  count: Integer;
  i: integer;
begin

count := MDIChildCount;

for i:=0 to high(count) do
begin
        c := MDIChildren[i]->Findcomponent('Shape1');
        if(c <> nil) then c;
end;
Bearbeitet von aNtraXx am 20.10.2003, 10:01

Ringding

Pilot
Avatar
Registered: Jan 2002
Location: Perchtoldsdorf/W..
Posts: 4300
Code:
for i:=0 to count-1 do
begin
  c := MDIChildren[i].FindComponent('Shape1');
  if(c <> nil) then
  begin
    Result := c;
    Exit;
  end;
end;

So z.B. Ich bin mir aber nicht sicher, ob der Index von MDIChildren in Delphi auch bei 0 beginnt. Ich gehe hier jedenfalls davon aus.

aNtraXx

trailer park king
Avatar
Registered: Apr 2002
Location: Linz
Posts: 6907
hmm tut sich auch nix bei dem source :(

hab halt statt shape einen namen eingetragen den es bei mir gibt. das result geht ned daher hab ich mal auf die schnelle eine MessageBox eingebaut falls er was findet. jedoch fehlanzeige
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz