Einzelnen Beitrag anzeigen

Benutzerbild von RWarnecke
RWarnecke

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

[DCC Error] E2064 Left side cannot be assigned to

  Alt 4. Okt 2011, 18:18
Hallo zusammen,

ich stehe irgendwie auf dem Schlau. Die folgende Zeile funktioniert unter XE2 32Bit hervorragend und unter 64Bit gibt es die Meldung wie im Titel.

Delphi-Quellcode:
var
  FFileHandle : Cardinal;
  TmpSerial : array[1..20] of AnsiChar;
  i, j : integer;
  buffer : array [0..sizeof (SRB_IO_CONTROL) + sizeof (SENDCMDOUTPARAMS)] of AnsiChar;
  p : SRB_IO_CONTROL absolute buffer;
  pin : PSENDCMDINPARAMS;
  dummy : dword;
  pOut : PSENDCMDOUTPARAMS;
  pId : PIDSECTOR;
begin
  result := '';
  FFileHandle := CreateFileA(PAnsiChar('\\.\Scsi' + AnsiString(inttostr(devname)) + ':'),
                             GENERIC_READ or GENERIC_WRITE,
                             FILE_SHARE_READ or FILE_SHARE_WRITE, nil,
                             OPEN_EXISTING, 0, 0);
  try
    if FFileHandle <> INVALID_HANDLE_VALUE then
    begin
      try
        dword(pin) := dword(@buffer) + sizeof(SRB_IO_CONTROL); //<--- Fehler aus dem Titel
        fillchar(buffer, sizeof (buffer), 0);
        p.HeaderLength := sizeof (SRB_IO_CONTROL);
        p.Timeout := 1000;
Da muss also irgendwo der Wurm drin sein. Mein Vermutung liegt bei den beiden dword-Befehlen, bin mir aber nicht sicher. Könnt Ihr mir anhand der paar Zeilen sagen, warum diese Zeile unter 64Bit nicht funktioniert ?
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat