Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Code-Probleme

  Alt 30. Mai 2016, 14:34
Jo, sieht nach dem beliebten Unicode-Problem aus, was man in den Richtlinien nachlesen kann, welche zum Delphi 2009 von Codegear/Embarcadero rausgegeben wurden.

Zitat:
Delphi-Quellcode:
for a:=0 to l-1 do
begin
  te3:=DevLists.wdevlists[x].SerialNumber.wsernum[a];
  if te3 = chr(0) then
  begin
    m:=0;
  end;
  if m = 1 then
  begin
    te1:=te1+te3;
  end;
end;
m?
Delphi-Quellcode:
for a:=0 to l-1 do
begin
  te3:=DevLists.wdevlists[x].SerialNumber.wsernum[a];
  if te3 = #0 then
    Break;
  te1:=te1+te3;
end;
aber eigentlich wohl eher
te1:=DevLists.wdevlists[x].SerialNumber.wsernum;
oder
te1:=PAnsiChar(@DevLists.wdevlists[x].SerialNumber.wsernum);
je nachdem, wie wsernum definiert ist.


Grob drüber geschaut und ohne Kenntnis der Header, würde ich denken das wäre der eigentlich "nur" nötig Code,
zuzüglich der nötigen Anpassungen wegen des Unicodes.
Delphi-Quellcode:
if LW_CreateDeviceInfoList(adev) = 0 then
begin
  Preturn:=0;
  if adev > 0 then
  begin
    Preturn:=2;
    num:=1;
    if LW_GetDeviceInfoList(@DevLists, @num) = 0 then
    begin
      Preturn:=0;
      for x:=0 to adev-1 do
      begin
        //te1:=PAnsiChar(@DevLists.wdevlists[x].SerialNumber.wsernum);
        te1:=DevLists.wdevlists[x].SerialNumber.wsernum;
        ...
      end;
    end;
  end;
end;
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (30. Mai 2016 um 14:47 Uhr)
  Mit Zitat antworten Zitat