Einzelnen Beitrag anzeigen

Benutzerbild von majornudelholz
majornudelholz

Registriert seit: 22. Nov 2015
15 Beiträge
 
Delphi XE7 Professional
 
#1

Mit TButton über FindComponent auf Objekt in anderer Unit zugreifen

  Alt 27. Jun 2016, 22:33
Hallo!

Ich habe mal wieder ein Problem... und zwar weiß ich nicht, wie ich auf ein Object(TButton) mittels FindComponent aus einer anderen Unit zugreifen kann.
Hier eine Idee von mir, die soweit keine Fehlermeldungen liefert, bis auf das Delphi TButton nicht erkennt, doch weiß ich nicht, wie ich dieses Problem lösen soll.

USpiel (Unit2) Kopf:
Delphi-Quellcode:
unit USpiel;

interface

uses Vcl.Dialogs, Classes, SysUtils, Forms;

type TLevel = 1..16;
type TZufallszahlen = 1..4;
type TSpiel = class(TComponent)
  private
    byLevel : TLevel;
    byFragenNr : Integer;
  public
    constructor Create;
    destructor Destroy;
    procedure FragenHolen(Level:Integer; Form: TForm);
    procedure IncLevel;
    procedure Optisch(Ereignis: Integer);
    function LevelHolen() : Integer;
    function AntwortRichtig(BAntwort: string) : Boolean;
end;
Prozedur in USpiel (Unit2):
Delphi-Quellcode:
procedure TSpiel.FragenHolen(Level:Integer; Form :TForm);
  var FragenAnzahl, LineAnzahl, FragenLine, LineNr, I, c : Integer;
      MngZufallszahlen : Set of TZufallszahlen;
      Zufallszahl : TZufallszahlen;
      sl : TStringList;
  begin
    [ ...... ] //ausgelassen
            c := 0;
            while (c < 5) do
              begin
                Zufallszahl := Random(4)+1;
                if not (Zufallszahl in MngZufallszahlen) then
                  begin
                    MngZufallszahlen := MngZufallszahlen + [Zufallszahl];
                    inc(c);
                    TButton(Form.FindComponent('AntwortButton'+ IntToStr(c))) := sl[Fragenline + Zufallszahl];
                  end
              end;
          finally
            sl.free;
          end;
      end
  else
    Optisch(2);
  end;

Mein Problem liegt hier:

TButton(Form.FindComponent('AntwortButton'+ IntToStr(c))) := sl[Fragenline + Zufallszahl]; Meine Frage ist also: Wie schaffe ich es, dass TButton erkannt wird? Wenn ich UHaupt(Unit1) in die Uses schreibe, treten Probleme mit der Erkennung von Methoden aus Unit2 (USpiel) auf...
Hat einer eine Idee? Bin für jeden Gedankenanstoß dankbar

MfG
MajorNudelholz
  Mit Zitat antworten Zitat