Forum: Win32/Win64 API (native code)
by himitsu,
14. Dez 2011
In Bezug auf die 64-Bit-Erweiterung wurden in/bis XE2 einige Typendeklarationen berichtig, welche eigentlich schon immer falsch waren und Andere wurden falsch, als sich irgendein I*hust* überlegte den Integer nicht mehr dynamisch zu belassen.
Forum: Win32/Win64 API (native code)
by himitsu,
13. Dez 2011
Weil "zuviele Parameter komme, wenn alle vorherigen Parameter erfolgreich üvergeben werden konnten und am Ende noch Parameter gefunden werden, welche die Prozedur nicht mehr haben will.
Genauso umgekehrt: Möchte die Prozedur mehr Parameter, als angegeben wurden, wird auch gemeckert.
Aber hier trat eben zuerst ein Problem mit einem Parameter auf, weswegen der Compiler garnicht erst bis zum...
Forum: Win32/Win64 API (native code)
by himitsu,
13. Dez 2011
Wobei hier Delphi sogar hilft.
Schreib mal die öffnende Klammer "(" neu (k.A. aber vielleicht gibt's da auch eine Tastenkombi dafür) und schon sollte die Delphi den aktuellen Parameter nennen ... nun geht man nur noch alle Parameter durch und vergleicht den angebenen "Wert", mit den angezeigten Parameter-Informationen.
Forum: Win32/Win64 API (native code)
by himitsu,
13. Dez 2011
Nicht probieren .... NACHSEHN und dann machen :)
Und da über VAR gemeckert wird, kann es nur lpNumberOfBytesRead sein.
PS: zähle mal deine Parameter
Forum: Win32/Win64 API (native code)
by himitsu,
13. Dez 2011
Schau was die Funktion für Parametertypen haben will und dann paß' deine Variablen daran an.
Forum: Win32/Win64 API (native code)
by himitsu,
8. Sep 2011
Jupp, der erste Speicherbereich ($00000000..$0000FFFF) ist nicht verfügbar.
Und wenn es das wäre, dann könnte man wohl auch direkt auf seinen eigenen Speicher zugreifen.
procedure TForm6.FormCreate(Sender: TObject);
type
TBIOSString8 = array of AnsiChar;
PBIOSString8 = ^TBIOSString8;
begin
Caption := PBIOSString8($FE061)^;