Einzelnen Beitrag anzeigen

TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.060 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: Codeoptimierung verursacht probleme

  Alt 20. Jan 2017, 13:17
Beispiel..

SetRect(pr^[pData^.rdh.nCount], M, J, I, J + 1);
nCount ist DWORD die Übergabe muss aber Integer sein.

Es kracht wenn die Werte minus enthalten

Das
SetRect(pr^[Integer(pData^.rdh.nCount)]
bringt nichts.
Das ist der Grund warum ich keine Bereichs Prüfung einschalte.

gruss
Wenn du das ein bisschen entzerren würdest, wäre dir auch klarer woher der Fehler kommt.
Delphi-Quellcode:
var
  KlugbenanntesRect: TRect;
  RectCount: DWORD;
...
begin
  
  SetRect(KlugbenanntesRect, M, J, I, J + 1);
  RectCount := pData^.rdh.nCount;
  if (RectCount > 0) and (RectCount < Length(pr^)) then
  begin
    pr^[RectCount] := KlugbenanntesRect;
  end;
end;
  Mit Zitat antworten Zitat