Forum: Programmieren allgemein
C++
by Zacherl,
23. Nov 2017
Stimmt :-D In dem Falle würde ich dann den Buffer aber tatsächlich direkt mit Short statt Byte deklarieren. Macht auch von der Logik her mehr Sinn.
Forum: Programmieren allgemein
C++
by Zacherl,
23. Nov 2017
Dort versuchst du auch einen Pointer und einen Integer zu addieren. Probier mal PByte(@buffer) + K * sizeof(Short). Wenn das nicht geht, dann Pointer(NativeUInt(@buffer) + K * sizeof(Short)).
Forum: Programmieren allgemein
C++
by Zacherl,
22. Nov 2017
Sollte in etwa so aussehen. Ist nur so runtergetippt, also kann noch Fehler enthalten:
function GetObjectOrder(hParent: HWND): LongInt;
var
pZP, UB, K, nCount: LongInt;
A1, A2: TArray<ShortInt>;
buffer: array of Byte;
begin
pZP := gPropertyItem(hParent);
if (pZP > -1) then
begin
Forum: Programmieren allgemein
C++
by Zacherl,
22. Nov 2017
Stimme Uwe zu. Sortiert wird letztlich über g_zObj.order, wie ich das sehe. A1 scheint jeweils die `order` und A2 den dazugehörigen Index zu enthalten.