Habe gelesen das man unter 64Bit
ASM nicht in Inline code verwenden soll.
Wie kann ich dann diesen Block als Procedure auslegen? So das er inline verwendet werden kann?
Wenn möglich sollte es auch unter 32Bit funktionieren.
Delphi-Quellcode:
FPWord := Get8087CW;
Set8087CW(MCW_EM);
if (
not VisInfo^.VisPointer^.Render(VisInfo^.VisBuf, StretchWidth,
StretchHeight, StretchWidth, @VisData))
then
begin
// der block
asm
FNCLEX
end;
// end block
Set8087CW(FPWord);
VisInfo^.Rendering := False;
Exit;
end;
// der block
asm
FNCLEX
end;
// end block
Set8087CW(FPWord);
Würde das reichen?
Delphi-Quellcode:
procedure ClearPendingExceptions;
asm
FNCLEX
end;
Aktueller Fehler. 64Bit
Zitat:
[dcc64 Fehler] uMain.pas(513): E1025 Sprach-Feature wird nicht unterstützt: '
ASM'
Aber nur wenn ich die 32Bit exe als Abhängigkeit zuweise.
Zudem treten dann noch andere Probleme auf.
Zitat:
[dcc64 Fehler] uMain.pas(23): E2065 Ungenügende Forward- oder External-Deklaration: 'WinMain'
[dcc64 Fehler] uMain.pas(26): E2065 Ungenügende Forward- oder External-Deklaration: 'WndProc'
Delphi-Quellcode:
function WinMain(hInstance: HINST; hPrevInstance: HINST; lpCmdLine: PChar;
nCmdShow: integer): integer; stdcall;
function WndProc(WinHandle: HWND; Msg: UINT; wP: WParam; lP: LParam): LRESULT;
stdcall;
Warum treten dann diese Fehler auf?
Weil 32Bit.exe nicht kompatibel ist zu 64Bit.exe ??
Weshalb vertragen sich die Abhängigkeiten nicht.
Bei aktivierter Abhängigkeit tritt beim Start der Anwendung noch dieser Fehler auf
Zitat:
[dcc64 Fataler Fehler] SOP.dpr(10): F2048 Falsches
Unit-Format: '_dcu\uMain.dcu' - Erwartete Version: 35.0, Windows
Unicode(x64) Gefundene Version: 35.0, Windows
Unicode(x86)
Wie kann es sein das der Compiler nicht erkennt das SOP eine 32Bit Anwendung ist bei aktivierter Abhängigkeit.
Auch ohne die Zuweisung der Abhängigkeit alle Projekte kompilieren tritt der Fehler auf
Da stimmt doch was nicht!