![]() |
inkompatible types - wer weiss rat
`Hallo,
bekomme immer einen Compiler Error: (Incompatible Types) WIes0? (Delphi XE6)
Delphi-Quellcode:
und dann weiter unten die Routine:
..
interface uses System.SysUtils, System.Classes,System.SyncObjs,Generics.Collections,System.DateUtils,System.Types {$IFDEF ANDROID} ,android.hardware.usb.HID {$ENDIF} ; .. // das richte Type is in android.usb.HID TRichtung = (UP=1, DOWN=2, NONE=0); TUSB=class private function FReadReportRichtung(board:word):android.hardware.usb.HID.TRichtung; function FMyReSetReportRichtung(board:word):android.hardware.usb.HID.TRichtung; property ReadReportRichtung[board: word]: android.hardware.usb.HID.TRichtung read FReadReportRichtung write FMyReSetReportRichtung ; property ReadReportValid[board: word]: boolean read FReadReportValid; // function AllReadReportData(board: word; wert: double; richtung: TRichtung; valid: boolean): string ; end;
Delphi-Quellcode:
Kann man nur string oder intergers in eine Property schreiben? Mein Typ is TRICHTUNG.
function TUSB.FMyReSetReportRichtung(board:word):android.hardware.usb.HID.TRichtung;
begin Result:=android.hardware.usb.HID.TRichtung(None); end; DANKE für die HIlfe mfg walter |
AW: inkompatible types - wer weiss rat
Hallo,
nimm mal das TRichtung weg. Heiko |
AW: inkompatible types - wer weiss rat
Moin...8-)
@TE: Warum nur mußte ich deinen Beitrag mehrfach lesen? :gruebel: Vieleicht zeigst du uns mal die entsprechende Codestelle (Deklarationen). Dann wird alles viel klarer. :wink: |
AW: inkompatible types - wer weiss rat
Moin...:P
Delphi-Quellcode:
...ein Setter ist eine procedure und hat kein Result.
function TUSB.FMyReSetReportRichtung(board:word):android.hardware.usb.HID.TRichtung;
begin Result:=android.hardware.usb.HID.TRichtung(None); end; Nimm mal deine Getter und Setter Funktionen weg, setze den Cursor in diese Zeile
Delphi-Quellcode:
und drücke SHIFT+CTRL+C
property ReadReportRichtung[board: word]: android.hardware.usb.HID.TRichtung read FReadReportRichtung write FMyReSetReportRichtung ;
Damit werden die korrekten Prozedurrümpfe erstellt. PS: Ich habe mit der Delphi-Referenz Suche auf die Schnelle keinen Eintrag für TRichtung gefunden. Was ist das? Ich glaube eher du brauchst nur eine "Standard" Property ohne Getter und Setter und ohne Index.
Delphi-Quellcode:
FReadReportRichtung: TRichtung;
. . property ReadReportRichtung: TRichtung read FReadReportRichtung write FReadReportRichtung ; |
AW: inkompatible types - wer weiss rat
Wenn man sich an die Naming-Conventions hält, dann kann man sich von der IDE sehr schön unter die Arme greifen lassen:
Delphi-Quellcode:
Jetzt noch innerhalb der Klassen-Deklaration ein beherztes SHIFT-STRG-C und die Setter- und Getter-Methoden werden von der IDE perfekt deklariert und auch gleich als leere Methodenrümpfe implementiert. Ausfüllen, fertig.
TUSB=class
private property ReadReportRichtung[board: word]: android.hardware.usb.HID.TRichtung read GetReadReportRichtung write SetReadReportRichtung; end; Weniger Arbeit, weniger Fehler, mehr Zeit für den Abwasch (TomatoBrotomat) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:21 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz