Illegal Type conversion "TObject to LongInt"

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
harrybonn
Beiträge: 101
Registriert: Fr 7. Jan 2011, 15:18

Illegal Type conversion "TObject to LongInt"

Beitrag von harrybonn »

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?

Mathias
Beiträge: 6162
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"

Beitrag von Mathias »

Zeig mal einen Programm-Ausschnitt, wo der Fehler ensteht ?

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

harrybonn
Beiträge: 101
Registriert: Fr 7. Jan 2011, 15:18

Re: Illegal Type conversion "TObject to LongInt"

Beitrag von harrybonn »

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


harrybonn
Beiträge: 101
Registriert: Fr 7. Jan 2011, 15:18

Re: Illegal Type conversion "TObject to LongInt"

Beitrag von harrybonn »

OK, danke Theo, zur Not kann ich die Variablen durch ein DWord ersetzen...

Christian
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"

Beitrag von Christian »

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/

harrybonn
Beiträge: 101
Registriert: Fr 7. Jan 2011, 15:18

Re: Illegal Type conversion "TObject to LongInt"

Beitrag von harrybonn »

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

Code: Alles auswählen

 
var
  IX: PtrUint;
begin
  IX := PtrUint (lbNames.objects[L]);
 


und

Code: Alles auswählen

  if Tadresse (AdressList.items[IX]).markiert ...
 


OK, ja?

Antworten