Autor Beitrag
scientificus
Hält's aus hier
Beiträge: 10

WIN XP
D3
BeitragVerfasst: Mo 10.11.03 15:15 
Ich habe in einem Programm Probleme mit der Verwendung von TMediaPlayer und TUpDown auf einem Formular. Das Problem taucht schon bei sehr simpler Programmgestaltung auf:
Man nehme eine TEdit-Komponente und eine TUpDown-Komponente auf ein Formular und schreibe in die OnClick-Anweisung von UpDown1 folgende Zeile:
ausblenden Quelltext
1:
 if Button = btNext then Edit1.text := 'hallo';					

Funktioniert wunderbar.
Doch jetzt setzt man einfach eine TMediaPlayer-Komponente auf das Formular (wirklich nur draufsetzen!) und beim nächsten Starten gibt es eine Fehlermeldung (die obige Zeile wird markiert), die (in etwa) so lautet:
ausblenden Quelltext
1:
 Inkompatible Typen: TUDBtnType und TMPBtnType					

Offensichtlich bezieht er den Wert "btNext" jetzt auf die TMediaPlayer-Komponente und nicht mehr auf den "Button" von TupDown.
Weiß jemand die Lösung dieses Problems??? :nixweiss:

_________________
Ordnung halten nur die Dummen, das Genie beherrscht das Chaos!


Zuletzt bearbeitet von scientificus am Mo 10.11.03 18:25, insgesamt 1-mal bearbeitet
kasi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 37

Win XP
D5 Ent
BeitragVerfasst: Mo 10.11.03 15:32 
Schreib
ausblenden Quelltext
1:
if Button = ComCtrls.btNext then Edit1.text := 'hallo';					

damit die Button-Definition in der richtigen Unit gesucht wird.

KASI
scientificus Threadstarter
Hält's aus hier
Beiträge: 10

WIN XP
D3
BeitragVerfasst: Mo 10.11.03 18:24 
Ja, vielen Dank für den Tipp. habe mittlerweile auch eine Möglichkeit gefunden:
ausblenden Quelltext
1:
 if Button = TUDBtnType(0) then Edit1.text := 'hallo';					

:idea:
Aber eigentlich ist es schon komisch, dass so ein Problem eintritt, dürfte ja im Prinzip nicht passieren...
Auf jeden Fall DANKE.

_________________
Ordnung halten nur die Dummen, das Genie beherrscht das Chaos!
obbschtkuche
Gast
Erhaltene Danke: 1



BeitragVerfasst: Mo 10.11.03 20:32 
Wenn du zwei Units eingebunden hast, z.B. a und b und in a steht

ausblenden Delphi-Quelltext
1:
2:
type
 TFoo = integer;


und in b steht

ausblenden Delphi-Quelltext
1:
2:
type
 TFoo = string;


und b ist nach a eingebunden, also

ausblenden Delphi-Quelltext
1:
2:
uses
 ...a, b;


Dann ist für den Compiler TFoo = string, da das die letzte Definition dafür war.[/delphi]