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