AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi [DCC Error] E2064 Left side cannot be assigned to
Thema durchsuchen
Ansicht
Themen-Optionen

[DCC Error] E2064 Left side cannot be assigned to

Ein Thema von RWarnecke · begonnen am 4. Okt 2011 · letzter Beitrag vom 4. Okt 2011
Antwort Antwort
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#1

AW: [DCC Error] E2064 Left side cannot be assigned to

  Alt 4. Okt 2011, 18:08
Hallo Ihr beiden,

danke für eure schnellen Antworten. Mit NativeInt oder IntPtr kompiliert er jetzt ohne Fehler durch. Wäre doch vergleichbar mit diesem Beispiel hier, nur ein anderer Typ ?
Delphi-Quellcode:
      {$IFDEF Win32}
        Inc(Integer(lgi01), SizeOf(Pointer));
      {$ELSE}
        Inc(Int64(lgi01), SizeOf(Pointer));
      {$ENDIF}
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.485 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

AW: [DCC Error] E2064 Left side cannot be assigned to

  Alt 4. Okt 2011, 18:26
Wie wäre es mit PByte bzw. um abwärtskompatibel zu bleiben PAnsiChar:

Inc(PByte(lgi01), SizeOf(Pointer));

Ich würde das übrigens so schreiben:
pin := PSENDCMDINPARAMS(PByte(@buffer) + SizeOf(SRB_IO_CONTROL));
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#3

AW: [DCC Error] E2064 Left side cannot be assigned to

  Alt 4. Okt 2011, 18:30
Ich würde das übrigens so schreiben:
pin := PSENDCMDINPARAMS(PByte(@buffer) + SizeOf(SRB_IO_CONTROL));
Du verwirrst mich hier ein wenig. Was macht Deine Zeile anderst als meine ??? Da komme ich jetzt nicht ganz mit vom Verständnis her.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.485 Beiträge
 
Delphi 10.1 Berlin Professional
 
#4

AW: [DCC Error] E2064 Left side cannot be assigned to

  Alt 4. Okt 2011, 18:38
Was macht Deine Zeile anderst als meine ???
Ich habe den Typecast am R-Value und nicht am L-Value. Ist aber Geschmackssache. Zudem nutze ich PByte statt DWORD bzw. IntPtr.
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#5

AW: [DCC Error] E2064 Left side cannot be assigned to

  Alt 4. Okt 2011, 18:49
Hallo Andreas, jetzt komme ich dahinter. Danke für Deine Erklärung.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.505 Beiträge
 
Delphi 12 Athens
 
#6

AW: [DCC Error] E2064 Left side cannot be assigned to

  Alt 4. Okt 2011, 19:37
Was auch immer geht (egal welche Delphiversion) ... PAnsiChar

Für diesen wurde eine schöne Arithmetik eingebaut (1 Byte pro addiertem Wert)


PS: Wenn du del linken Cast nix zuweisen kannst, dann verschiebe den Cast nach rechts


Delphi-Quellcode:
pin := Pointer(PAnsiChar(@buffer) + SizeOf(SRB_IO_CONTROL)); // Pointer kann an alle Pointertypen zugewiesen werden

// oder

pin := PSENDCMDINPARAMS(PAnsiChar(@buffer) + SizeOf(SRB_IO_CONTROL));


// und wäre PIN selbst ein "Pointer", dann könnte man ihm den PAnsiChar direkt zuweisen, ohne zusätzlichen Cast
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:15 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