Forum: Win32/Win64 API (native code)
Delphi
by himitsu,
8. Jan 2012
OK, dann isr das bei dem ONE eine blöde Angelegenheit. :shock:
Aber Int32 für 64 Bit?
Hier meinen doch viele man solle NativeInt verwenden, anstatt Integer, also vorallem bei Pointer-konvertierungen oder wenn man ganze Register nutzen will.
Das {$IF not Definied()} geht mindestens seit Delphi 7.
Forum: Win32/Win64 API (native code)
Delphi
by himitsu,
8. Jan 2012
Hat das One einen besonderen Grund?
Das sollte doch im Prinzip eigentlich eine Konstante sein, dann noch Value(Cardinal) und One(Byte) zu verrechnen ist bestimmt auch nicht sonderlich optimal.
One als Cardinal wäre da besser, oder eben direkt als Konstante.
Ach ja, BOOL (LongBool bei 32 Bit) wäre bestimmt auch Optimaler, als Boolean.
Ich kenn leider keinen direkten booleanischen...
Forum: Win32/Win64 API (native code)
Delphi
by himitsu,
8. Jan 2012
Hast du auch sowas wie Folgendes versucht?
type
TByteArray = array of Byte;
PByteArray = ^TByteArray;
procedure TForm11.FormCreate(Sender: TObject);
var
P, Q: PByteArray;
begin
P := Pointer(123);
Forum: Win32/Win64 API (native code)
Delphi
by himitsu,
8. Jan 2012
Gute Frage :gruebel:
Selber arbeite ich nicht mit FPC (das Mistding Compilerchen mochte mich nicht ... vonwegen installieren und fertig).
Ich könnte höchsten mal sehn, ob ich noch was (wieder)finde.
Ach ja, mit kleinem h :zwinker:
Ich kenn zwar noch eine Himitsu, aber die hat es nicht so, mit dem Programmieren. :stupid:
Forum: Win32/Win64 API (native code)
Delphi
by himitsu,
8. Jan 2012
Und das ist auch immer definitiv so?
Nja, ein kleiner zusätzlicher Befehl, um das zu leeren/sicherzustellen, sollte auch nicht so sehr stören.
Für eine zukünftig unbestimmte Portierungen auf weitere Systeme/CPUs wäre jeweils eine (zusätzliche) PurePascal-Variante bestimmt kein Nachteil.
Forum: Win32/Win64 API (native code)
Delphi
by himitsu,
8. Jan 2012
Eventuell so?
Die höherbittigen Additionen müssen ja nicht mehr ausgeführt werden, wenn sie nicht nötig sind.
Bin noch etwas müde, aber ich glaube, man kann die beiden IFs auch noch kombinieren, falls nötig.
(also nicht nur über ein billiges OR diese 1-zu-1 zusammenzuhängen)
{$IFDEF PUREPASCAL}
function AddV(var Value: LongWord; const Add: LongWord): Boolean; inline;
var
Temp:...