InlineASM gibt es nur im
Win32 (von Borland).
Überall in neuen Compilern war man (CodeGear/Embarcadero/Idera) zu faul sowas zu bauen.
Also da wo Assember noch geht, da dann nur noch als komplette Funktion (abgesehn von
Win32)
und für ARM scheinbar nirgendwo.
https://docwiki.embarcadero.com/RADS...ation_(Delphi)
Die Frage ist nur was hilft mir das jetzt weiter?
Zitat:
Assembler wird mit
ASM ... END angegeben.
Habe ich.. siehe
Delphi-Quellcode:
// der block
asm
FNCLEX
end;
// end block
Die Meldung die dann bei 32Bit kommt.
Zitat:
[dcc64 Fehler] uMain.pas(513): E1025 Sprach-Feature wird nicht unterstützt: '
ASM'
Zitat:
Hast du DCUs im selben Ausgabeverzeichnis, für alle Platformen?
Nein.
Diese sind getrennt in jeweiligen Root der Projekte im Ordner "
dcu"
Zitat:
Also dort wo Assember noch geht, da dann nur noch als komplette Funktion (abgesehn von
Win32)
Delphi-Quellcode:
function TSkinEngine.Rgb2Gray(RGBValue: COLORREF): COLORREF;
stdcall;
asm
movzx edx, al
imul edx, 19595
//Red
movzx ecx, ah
imul ecx, 38470
//Greean
shr eax, 16
imul eax, 7471
//Blue
add eax, ecx
add eax, edx
shr eax, 16
mov ah, al
shl eax, 8
mov al, ah
end;
Funktioniert unter 64Bit.. sagte ich schon.
Zitat:
"Assembler" als Schlüsselwort dürfte schon ewig keine Auswirkng mehr haben
Verwende stdcall !
Das Problem sind die Abhängigkeiten.
Addiere ich SOP.exe (32Bit) zu den Abhängigkeiten der 64Bit Anwendung funktioniert das Kompilieren nicht mehr.
Mit den im ersten Beitrag angegebenen Fehlermeldungen.