Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

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

AW: Pointer of Dynamic Array

  Alt 28. Feb 2015, 08: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);
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat