AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Procedure-Aufruf mit Reference

Ein Thema von Ykcim · begonnen am 16. Jan 2021 · letzter Beitrag vom 18. Jan 2021
 
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
856 Beiträge
 
Delphi 12 Athens
 
#1

Procedure-Aufruf mit Reference

  Alt 16. Jan 2021, 10:57
Hallo Zusammen,

ich habe wieder ein Brett vor dem Kopf...

Ich muss Proceduren in einer bestimmten Reihenfolge aufrufen und muss daher mit CallBacks arbeiten...

Delphi-Quellcode:
type
   TDataRecievedCallback = reference to procedure;
   TDataRecieved_JSResult = reference to procedure(JSResult: string);
   TDataRecieved_JSBoolean = reference to procedure(JSBoolean: Boolean);


procedure TMySQL.xData_Main_ConnectConnect(Sender: TObject);
var Design: TDesign_App;
begin
   Design:= TDesign_App.create;
   Try
      Get_Sprachen(nil);
      Get_Land(nil);
      Get_Company_Details( //TDataRecievedCallback
         @Get_CustProperties( //TDataRecievedCallback
            @Check_login_code( //TDataRecieved_JSBoolean ......... Diese Zeile markiert der Compiler und meint wahrscheinlich @Design.Create_Form_TVApp
               @Design.Create_Form_TVApp
            )
         )
      );
   Finally
      Design.Free;
   End;
end;
Beim Compilieren bekomme ich die Fehlermeldung:
Code:
[Fehler] TTVA_Data_ModuleUnit.pas(188): Incompatible type arg no. 1: Got "procedure(TDataRecieved_JSBoolean) of Object", expected "reference to procedure()"
Das sind die relvanten Procedure:
Delphi-Quellcode:
procedure TMySQL.Get_Company_Details(AOnDataRecieved: TDataRecievedCallback);
   procedure OnResponse(Response: TXDataClientResponse);
   begin
      //Daten verarbeiten
      if Assigned(AOnDataRecieved) then begin
         AOnDataRecieved();
      end;
   end;
begin
   //Aufruf eines Service
end;


procedure TMySQL.Get_CustProperties(AOnDataRecieved: TDataRecievedCallback);
   procedure OnResponse(Response: TXDataClientResponse);
   begin
      //Daten verarbeiten
      if Assigned(AOnDataRecieved) then begin
         AOnDataRecieved();
      end;
   end;
begin
   //Aufruf eines Services
end;

//Hier scheint etwas nicht zu stimmen - oder mit der angegebenen AOnDataRecieved Procedure, die danach folgt
procedure TMySQL.Check_login_code(AOnDataRecieved: TDataRecieved_JSBoolean);
   procedure OnResponse(Response: TXDataClientResponse);
   var JSObj: TJSObject;
         Ergebnis: boolean;
   begin
      JSObj:=TJSJSON.parseObject(Response.ResponseText);
      Ergebnis:= StrToBool(String(JSObj['value']));
      if (Assigned(AOnDataRecieved)) then begin
         AOnDataRecieved(Ergebnis);
      end;
   end;
begin
   //Aufruf eines Services
end;


procedure TDesign_App.Create_Form_TVApp(login_valid: boolean);
begin
   if login_valid=false then
      Create_LogIn;
   if Assigned(Form_TheVisitApp) then begin
      Form_TheVisitApp.WIC_Logo.URL:=MySQL.xWDS_Customerlogo_image.AsString;
   end;
end;
Könnt ihr mir helfen, das Ding zum Fliegen zu bringen?

Vielen Dank
Patrick
Patrick
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:48 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz