Illegal Type conversion "TObject to LongInt"
Illegal Type conversion "TObject to LongInt"
Wollte gerade mal mit Lazarus 1.26 mein Programm neu kompilieren, erhalte aber den im Betreff genannten Fehler gemeldet und die Kompilierung bricht ab.
Mit vorherigen Versionen wurde hier nichts angemeckert.
Kann man das diese Prüfung irgendwie abschalten, denn ich habe wenig Lust, jetzt an tausenden von Stellen irgendwelche Änderungen vorzunehmen?
Oder eine Möglichkeit das zu umgehen?
Mit vorherigen Versionen wurde hier nichts angemeckert.
Kann man das diese Prüfung irgendwie abschalten, denn ich habe wenig Lust, jetzt an tausenden von Stellen irgendwelche Änderungen vorzunehmen?
Oder eine Möglichkeit das zu umgehen?
-
- Beiträge: 6919
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Illegal Type conversion "TObject to LongInt"
Zeig mal einen Programm-Ausschnitt, wo der Fehler ensteht ?
Hast du zufällig eine Mix aus 32Bit und 64Bit Linux ?
Hast du zufällig eine Mix aus 32Bit und 64Bit Linux ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
Re: Illegal Type conversion "TObject to LongInt"
z.B.: (lbNames ist eine TListbox):
Code: Alles auswählen
Var
ix: LongInt;
begin
ix := LongInt (lbNames.objects[L]); // <-- Hier wird gemeckert (weiß ja, das ist keine gute Idee, aber weitverbreitet :? )
Zuletzt geändert von Lori am Mo 4. Jan 2016, 12:48, insgesamt 1-mal geändert.
Grund: Highlighter
Grund: Highlighter
Re: Illegal Type conversion "TObject to LongInt"
OK, danke Theo, zur Not kann ich die Variablen durch ein DWord ersetzen...
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
Re: Illegal Type conversion "TObject to LongInt"
DWord macht doch keinen Sinn, wenn dann doch PtrInt wie von theo vorgeschlagen
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
Re: Illegal Type conversion "TObject to LongInt"
Ja, muss ich wohl, denn DWord geht nicht.
Ich benötige die Variable, um damit als Index in einer Liste zugreifen zu können.
Somit wäre
und
OK, ja?
Ich benötige die Variable, um damit als Index in einer Liste zugreifen zu können.
Somit wäre
Code: Alles auswählen
var
IX: PtrUint;
begin
IX := PtrUint (lbNames.objects[L]);
Code: Alles auswählen
if Tadresse (AdressList.items[IX]).markiert ...