Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#8

AW: Pointer of Dynamic Array

  Alt 28. Feb 2015, 09:59
Joar, wie man schon an der #2 sieht, kann man hier beliebig die Prozedur-Signatur (Parameter) ändern, da man nur einen untypisierten Pointer zur Callback-Prozedur rein gibt.

Delphi-Quellcode:
procedure ExtractElements(AElementName: string; AElement: TlkJSONbase; ADataPtr: PElements; var Continue: Boolean);
begin
 SetLength(ADataPtr^, Length(ADataPtr^)+1);
 ADataPtr^[High(ADataPtr^)].Value:= xxxx;
 ShowMessage(IntToStr(Length(ADataPtr^)));
end;

procedure ExtractElements(AElementName: string; AElement: TlkJSONbase; var AData: TElements; var Continue: Boolean);
begin
 SetLength(AData, Length(AData)+1);
 AData[High(AData)].Value:= xxxx;
 ShowMessage(IntToStr(Length(AData)));
end;

// Aufruf(e):
var MyElements: TElements;
(AJSON.Field['su'] as TlkJSONlist).ForEach(ExtractElements, @MyElements);
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat