delphi FindComponent, FindClass

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/delphi_findcomponent_findclass_95584/page_1 - zur Vollversion wechseln!


aNtraXx schrieb am 14.10.2003 um 09:21

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 schrieb am 14.10.2003 um 22:39

Wirst wohl damit leben und selber für jedes MDIChild extra das FindComponent aufrufen müssen.


aNtraXx schrieb am 15.10.2003 um 07:32

wie meinen?!
das würde ich ohnehin tuen.
mein problem liegt aber darin dass es unter MDI projekten garned funktioniert. clx schon


Ringding schrieb am 15.10.2003 um 08:23

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 schrieb am 15.10.2003 um 08:50

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;


Ringding schrieb am 15.10.2003 um 10:03

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 schrieb am 20.10.2003 um 10:22

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




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025