Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: DataSnap-Client lässt sich nicht erstellen

  Alt 28. Nov 2020, 17:27
Problem gelöst


OK, es war doch ein Fehler im Server und nicht im Experten.

Es waren 2-3 Fehler in Logging und Fehlerbehandlung.
* auf EventObject.ServerClass im Queue zuzugreifen, wenn es dieses DatenObjekt nicht mehr gibt
* die Exception im Queue wir in den aufrufenden Thread durchgereicht, aber dort nicht ausgegeben
* und somit wurde der Fehler nicht angezeigt

* dann war bei den DataSnap-Admin-Methoden ala DSAdmin.GetServerMethodParameters die ServerClass = nil

* und da es selten Spaß macht die IDE mehrfach zu starten, seit es Recovery gibt und die IDe extrem langsam geworden ist (in den letzten 15 Jahren immer mehr)
* hatte ich den Serverprozess ohne Debugger gestartet

Zitat:
Delphi-Quellcode:
procedure TServerContainer1.DSAuthenticationManager1UserAuthorize(
  Sender: TObject; EventObject: TDSAuthorizeEventObject;
  var valid: Boolean);
begin
  TThread.Queue(nil, procedure
    begin
      Form1.Memo1.Lines.Add(Format('UserAuthorize User=%s ServerClass=%s MethodAlias=%s',
        [EventObject.UserName, EventObject.ServerClass.ClassName, EventObject.MethodAlias]));
    end);
Delphi-Quellcode:
procedure TServerContainer1.DSAuthenticationManager1UserAuthorize(
  Sender: TObject; EventObject: TDSAuthorizeEventObject;
  var valid: Boolean);
var
  Log: string;
begin
  if Assigned(EventObject.ServerClass) then
    Log := Format('UserAuthorize User=%s ServerClass=%s MethodAlias=%s',
      [EventObject.UserName, EventObject.ServerClass.ClassName, EventObject.MethodAlias])
  else
    Log := Format('UserAuthorize User=%s ServerClass=nil MethodAlias=%s',
      [EventObject.UserName, EventObject.MethodAlias]);
  TThread.Queue(nil, procedure
    begin
      Form1.Memo1.Lines.Add(Log);
    end);
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat