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;