AGB  ·  Datenschutz  ·  Impressum  







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

Und wieder einmal CallBack

Ein Thema von Ykcim · begonnen am 22. Dez 2020 · letzter Beitrag vom 22. Dez 2020
Antwort Antwort
Rollo62

Registriert seit: 15. Mär 2007
4.240 Beiträge
 
Delphi 12 Athens
 
#1

AW: Und wieder einmal CallBack

  Alt 22. Dez 2020, 16:23
Versuche mal mit const, ohne jetzt tiefer reingesehen zu haben:
Delphi-Quellcode:
procedure TForm_MailConf.Mail_Confirm(v_code: string; const DataRecieved_Param: TDataRecieved_Param);
...
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Und wieder einmal CallBack

  Alt 22. Dez 2020, 16:32
Dir wurde doch der Fehler genau genannt?

> Wrong number of parameters specified for call to "Display_Result"
Ja, Display_Result möchte einen Parameter haben.

> Incompatible type arg no. 2: Got "Procedure/Function", expected "TDataRecieved_Param"
Du hast "Procedure" übergeben, aber der Parameter in Mail_Confirm ist ein TDataRecieved_Param,
also deine "procedure" hat die falsche Signatur (ParameterTypen+Result).

Delphi-Quellcode:
Mail_Confirm(v_code, procedure(JSResult: boolean) // also genauso, wie TDataRecieved_Param definiert wurde
  begin
    Display_Result(JSResult); // k.A. was du hier eigentlich anzeigen willst (niemandem hast du verraten wie Display_Result definiert ist)
  end);
Außerdem willst du bestimmt "das" JSResult aus dem Callback haben
und nicht irgendein "JSResult", was du in WebButton1Click definiert hattest (und dem noch nichtmal ein Wert zugewiesen wurde).


Wenn Display_Result eine Prozedur oder Klassenmethode procedure {TEineKlasse.}Display_Result(irgendwas: boolean); ist,
dann geht es auch direkt, da die Signatur passt.
Mail_Confirm(v_code, Display_Result);
außer "Display_Result" war nur ein "Dummycode", für irgendwas zum Anzeigen.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (22. Dez 2020 um 16:45 Uhr)
  Mit Zitat antworten Zitat
Ykcim

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

AW: Und wieder einmal CallBack

  Alt 22. Dez 2020, 16:52
Zitat:
Dir wurde doch der Fehler genau genannt?
Stimmt, aber ich wusste nicht, was er mir zu sagen hatte...

Zitat:
Display_Result(JSResult); // k.A. was du hier eigentlich anzeigen willst (niemandem hast du verraten wie Display_Result definiert ist)
Dachte, es wäre nicht wichtig...
Delphi-Quellcode:
procedure TForm_MailConf.Display_Result(JSResult: boolean);
begin
   if JSResult then begin
      Label_Result.Font.Color:=clGreen;
      Label_Result.Caption:='Ihre Mail-Adresse wurde erfolgreich bestätigt. Sie können sich nun in Ihrem TheVisit anmelden.'
   end
   else begin
      Label_Result.Font.Color:=clRed;
      Label_Result.Caption:='Ihre Mail-Adresse konnte nicht verifiziert werden. Sollen wir Ihnen den Link erneut zuschicken?'
   end;
end;
Es geht darum, dass ein User sich auf einer WebPage mit seiner Mail-Adresse registriert und diese dann mit einem Link bestätigt wird. Nach dem Speichern in der Datenbank, bekommt der Benutzer eine Mail mit einem Link. Er klickt auf diesen und diese WebPage wird geöffnet und die Mail-Adresse bestätigt und dem Benutzer ein Feedback gegeben...

Zitat:
Wenn Display_Result eine Prozedur oder Klassenmethode procedure {TEineKlasse.}Display_Result(irgendwas: boolean); ist,
dann geht es auch direkt, da die Signatur passt.
Mail_Confirm(v_code, Display_Result);
Hierbei habe ich das Problem gehabt, dass die Procedure sofort aufgerufen wurde, statt zu warten, bis der Server ein Ergebnis zurückgeliefert hat, ob die Mail-Adresse bestätigt gefunden wurde...

Ich hatte nicht verstanden, das es ein Zeiger bedeutet, wenn ich ein @ vor die Procedure setze...
Jetzt funktioniert es.

Vielen Dank!
Patrick
  Mit Zitat antworten Zitat
Jens01

Registriert seit: 14. Apr 2009
674 Beiträge
 
#4

AW: Und wieder einmal CallBack

  Alt 22. Dez 2020, 17:10
Ich habe den Thread jetzt nicht verfolgt. Hier ist aber ein schönes Tool, um Callbacks in den Griff zu bekommen.
Angehängte Dateien
Dateityp: pas MethodCallBack.pas (14,8 KB, 15x aufgerufen)
Achtung: Bin kein Informatiker sondern komme vom Bau.
  Mit Zitat antworten Zitat
Antwort Antwort


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 21: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