Code: Alles auswählen
type
               gfxImage = packed record
                data : pointer;
                width, height : dword;
               end;
               gfxColor = packed record
                b,g,r,a:byte;
               end;
 
 
    function GetColor(where:gfxImage;x,y:dword):gfxColor;
    assembler;
    asm
         imul ecx,dword ptr [eax+4]
 
          add ecx,edx
          shl ecx,2
          add ecx,[eax]
 
          mov eax,dword ptr [ecx]
          // where to move eax to get the color in the function result ???
    end;
 
    {    // This works
    var c:gfxColor;
    begin
     system.move(pdword(where.data+(y*where.width+x) shl 2)^,c,4);
     getcolor:=c;
    end;
    }
 Bei einem StandartType müsste man den Rückgabewert in EAX schreiben, z.B. wenn man ein DWORD zurückgibt schreibt man einfach den Wert den man zurückgeben möchte in EAX. Aber wie ist es mit einem benutzerdifeniertem Typus?


 Verein
Verein 
 Links
Links Suche
Suche