Komponente einbinden
-
Hallo,
ich möchte die Komponenten TTrackBar anlegen, da einiges umgeschrieben wurde und somit sollte die komponente während der Laufzeit angelegt werden. Wie mache ich das?
-
ich hab es so versucht:
TObject *TrackBar = new TrackBar();doch das funktioniert nicht, da kommt ein Fehler :"Cannot convert Int* to System::TObject*"
-
TTrackBar* myTrackBar = new TTrackBar();sollte funktionieren...
-
Da kommt der Fehler: "Could not find a match for 'Comctrls::TTrackBar::TTrackBar()'"
-
Ähmm... (mein Lieblingswort) willst du sie zur Lauf- oder Entwurfszeit einbinden? Beim ersteren solltest du wohl erst noch die benötigten Units mit einbinden.
-
Naja die Komponente sollte dann eingebunden werden, wenn das Form erstellt wird! Wenn du mit Units die *.h & *.cpp für meine TrackBar-Komponente meinst, die sind bereits in das Projekt eingebunden!Oder meinst du was Anderes?
-
Das ist keine Antwort auf meine Frage... Aber mir fällt gerade auf: Bist du dir sicher dass der Konstruktor von TTrackBar keine Parameter (Owner) benötigt?
-
also in meiner .h-Datei für die TrackBar gibt es diese Funktion: __fastcall virtual TrackBar(Classes::TComponent AOwner);
auf die müsste ich doch irgendwie mit dem new zugreifen können um die Komponente zu erstellen oder etwa nicht?
-
doch wenn ich das so mache: TrackBar* myTrackBar = new TrackBar(Owner);
dann läuft es auch ohne Fehler durch, aber erstellt mir die Komponente nicht
-
Dann versuchs mal mit
TTrackBar *tb = new TTrackBar(this); tb->Parent = this;Wobei sich mir immer noch der Sinn eines solchen Anlegens verschließt. Warum nicht einfach in der IDE auf's Form ziehen, starten und schon hat sich's... ?
-
Danke das funktioniert! Das ich das nicht einfach draufziehe hat seine Gründe. Liegt daran das jemand die Funktionen für die TrackBar etwas umgeschrieben hat und nun testen möchte ob es funktioniert. Aber danke dir für deine Hilfe!