Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: ImageEn is free

  Alt 10. Jan 2011, 16:54
Ich schlage eine Änderung der Überschrift vor:
Zitat:
ImageEn is free and open-source
Die ersten Änderungsvorschläge an der Komponente hab ich auch schon gemacht.
http://www.hicomponents.com/main/for...hp?f=9&t=47425
In deren OH stand, daß ObjUserData vom der Komponente verwaltet wird, (zumindestens würde ich das so verstehen)
Zitat:
Applications can store custom data ObjUserData. ObjUserData contains a pointer to a user buffer which length is in ObjUserDataLength.
Load/save and clipboard methods save this field allocating the buffer when needed and freeing it when an object is destroyed.
aber leider wird das nicht überall gemacht, weswegen ich mich dann über Zugriffsverletzungen auf Adresse $000000xx gefreut hatte.

Und wie war das nochmal mit dem "Die Schleifenvariable ist nach der Schleife undefiniert"
Sowas findet man an vielen Stellen.
Delphi-Quellcode:
// Remove (detach) object "hobj"
// Doesn't free memory for the object
procedure TImageEnVect.RemoveVObject(hobj: integer);
var
  tmp: pintegerarray;
  idx: integer; // indice di hobj
begin
  for idx := 0 to fObjCount - 1 do
    if fObj^[idx] = hobj then
      break;
  dec(fObjCount);
  getmem(tmp, sizeof(integer) * (fObjCount + ALLOCBLOCK + 10));
  // copy from 0 to idx-1
  copymemory(tmp, fObj, sizeof(integer) * idx);
  // copy from idx+1 to ObjCount
  copymemory(@(tmp^[idx]), @(fObj^[idx + 1]), sizeof(integer) * (fObjCount - idx));
  freemem(fObj);
  fObj := tmp;
end;
$2B or not $2B
  Mit Zitat antworten Zitat