Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Auf LabeledEdit in anderer Unit zugreifen?


StrikeLucky - Di 13.04.10 18:22
Titel: Auf LabeledEdit in anderer Unit zugreifen?
Moin Moin,

Ich möchte gerne auf ein LabeledEdit in einer anderen Unit zugreifen.
Insgesamt sinds 5 LabeledEdits (LabeledEdit0, LabeledEdit1, usw.), direkt ansprechen geht hier leider nicht.
Deshalb wollte ich es erst über FindComponent machen, hab aber gelesen das es bei FindComponent oft zu Problemen kommen kann und man es lieber über ein Array macht.
Nun wie macht man das am besten über ein Array?

Hier der entsprechende Code:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
      for i := 0 to 3 do
      begin
        Position := Pos(Search[i], shtml.Text);
        if Position <> 0 then
        begin
          PositionEx := PosEx(SearchEx[i], sHtml.Text, Position + Length(Search[i]));
          if PositionEx <> 0 then
          begin
             //Hier soll auf die LabeledEdits zugegriffen werden, die LabeledEdits sind durchnummeriert
          end;
        end;
      end;


LG Lucky


Narses - Di 13.04.10 18:44

Moin!

Die Unit, in der die LabledEdits sind in die uses-Klausel rein (sagen wir mal, das ist Unit2), dann einfach:

Delphi-Quelltext
1:
Unit2.Label1.Caption := 'Test';                    
cu
Narses


StrikeLucky - Di 13.04.10 18:59

So wird das aber wahrscheinlich nichts....


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
      for i := 0 to 3 do
      begin
        Position := Pos(Search[i], shtml.Text);
        if Position <> 0 then
        begin
          PositionEx := PosEx(SearchEx[i], sHtml.Text, Position + Length(Search[i]));
          if PositionEx <> 0 then
          begin
            Form2.LabeledEdit0.Text := Kopiertertext;
            Form2.LabeledEdit1.Text := Kopiertertext];
            Form2.LabeledEdit2.Text := Kopiertertext;
            Form2.LabeledEdit3.Text := Kopiertertext;
          end;
        end;
      end;


In jeden Label solle natürlich verschiedene Werte stehen. Search und SearchEx sind beides statische Arrays mit jeweils 4 Inhalten. Dann habe ich noch ein dynamisches Array "Found" (Länge 4), dieses soll dann bei PositionEx gefüllt. Found[i].... Und der Inhalt aus Found soll dann den Labels übergeben werden.
Also wird das so mit deinen Vorschlag nicht funktionieren oder?


Narses - Di 13.04.10 19:16

Moin!

user profile iconStrikeLucky hat folgendes geschrieben Zum zitierten Posting springen:
So wird das aber wahrscheinlich nichts...
[...]
In jeden Label solle natürlich verschiedene Werte stehen. Search und SearchEx sind beides statische Arrays mit jeweils 4 Inhalten. Dann habe ich noch ein dynamisches Array "Found" (Länge 4), dieses soll dann bei PositionEx gefüllt. Found[i].... Und der Inhalt aus Found soll dann den Labels übergeben werden.
Äh, hä? :?

user profile iconStrikeLucky hat folgendes geschrieben Zum zitierten Posting springen:
Also wird das so mit deinen Vorschlag nicht funktionieren oder?
Hast du´s mal ausprobiert? :nixweiss: ;)

cu
Narses


StrikeLucky - Di 13.04.10 19:20

Hihi xD
ich weis nicht wie ich das beschreiben soll :D

Ja habs probiert... läuft so nicht, aber egal, ich weise die Werte jetzt einfach erst nach der for Schleife zu und schon funktioniert es :)

Trotzdem Danke für deine Hilfe :)


Narses - Di 13.04.10 20:31

Moin!

user profile iconStrikeLucky hat folgendes geschrieben Zum zitierten Posting springen:
ich weis nicht wie ich das beschreiben soll :D

Ja habs probiert... läuft so nicht, aber egal, ich weise die Werte jetzt einfach erst nach der for Schleife zu und schon funktioniert es :)
Hm, du wolltest möglicherweise direkt eine Änderung in der GUI sehen, so dass bei mehrfachen Änderungen an den EditLabels direkt was zu sehen ist, auch wenn die Schleife noch läuft? :gruebel:

Oder was meinst du mit "läuft so nicht"? :nixweiss: ...ist jetzt auch keine nobelpreisverdächtige Fehlerbeschreibung... :roll: :?

cu
Narses