AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein TMS Webcore app mit DB auf gehosteten Systemen
Thema durchsuchen
Ansicht
Themen-Optionen

TMS Webcore app mit DB auf gehosteten Systemen

Ein Thema von noisy_master · begonnen am 23. Nov 2022 · letzter Beitrag vom 25. Mai 2024
Antwort Antwort
mytbo

Registriert seit: 8. Jan 2007
483 Beiträge
 
#1

AW: TMS Webcore app mit DB auf gehosteten Systemen

  Alt 28. Nov 2022, 19:07
Wenn du gaanz viel Muße hast hast du ja vielleicht sogar ein funktionierendes Snippet für mich
Delphi-Quellcode:
procedure ...RequestValue(pmResultProc: TProcBoolean);

  //-------- local function -------------------------------------------

  function DoHandleResponse(_pmEvent: TEventListenerEvent): Boolean;
  var
    rspJson: String;
    rspStatus: Integer;
    rspObject: TJSObject;
  begin
    asm
      rspJson = _pmEvent.target.responseText;
      rspStatus = _pmEvent.target.status;
    end;

    if rspStatus = 200 then
    begin
      rspObject := TJSJson.parseObject(rspJson);
      ...
    end;

    pmResultProc(...);
    Result := True;
  end;

  //-------- end local function ---------------------------------------

var
  req: TJSXmlHttpRequest;
  requestUrl: String;
begin
  asm
    var url = new URL(this.FServiceUrl);
    url.searchParams.append('accessToken', this.FAccessToken);
    requestUrl = url.toString();
  end;

  req := TJSXmlHttpRequest.new;
  req.addEventListener('loadend', @DoHandleResponse);
  req.open('GET', requestUrl);
  req.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
  req.send;
end;
Der Request in der Funktion läuft asynchron ab. Wenn du auf den Aufruf warten musst, verwende eine Promise.
Delphi-Quellcode:
function ...LoadValue: TJSPromise;
begin
  Result := TJSPromise.new(
    procedure(pmSuccess, pmFailed: TJSPromiseResolver)
    begin
      RequestValue(
        procedure(pmValue: Boolean)
        begin
          pmSuccess(pmValue);
        end);
    end);
end;
Benutzen kannst du es so:
Delphi-Quellcode:
procedure ...btnLoadValueClick(Sender: TObject);

  //-------- local function -------------------------------------------

  function HandleLoadValue(pmValue: JSValue): JSValue;
  begin
    Result := pmValue;
    btnLoadValue.Enabled := True;
    ShowMessage('Value available: ' + TJSString(pmValue).ToString);
  end;

  //-------- end local function ---------------------------------------

begin
  btnLoadValue.Enabled := False;
  LoadValue._then(@HandleLoadValue);
end;
Bis bald...
Thomas
  Mit Zitat antworten Zitat
noisy_master

Registriert seit: 17. Jun 2009
Ort: Wolfenbüttel/Baddeckenstedt
263 Beiträge
 
Delphi XE5 Professional
 
#2

AW: TMS Webcore app mit DB auf gehosteten Systemen

  Alt 29. Nov 2022, 10:31
Hallo Thomas,

Danke für dein Beispiel! Wenn ich das richtig sehe hat das aber nichts mehr mit TMS geschweige denn mit TMS Web Core zu tun, oder habe ich da jetzt was falsch verstanden?

Gruß
Dirk
  Mit Zitat antworten Zitat
mytbo

Registriert seit: 8. Jan 2007
483 Beiträge
 
#3

AW: TMS Webcore app mit DB auf gehosteten Systemen

  Alt 29. Nov 2022, 18:20
Danke für dein Beispiel! Wenn ich das richtig sehe hat das aber nichts mehr mit TMS geschweige denn mit TMS Web Core zu tun, oder habe ich da jetzt was falsch verstanden?
Doch, das ist TMS WebCore. Habe im Eingangspost überlesen, dass du die Anbindung mit dem XData Server erledigen willst. Bei Frameworks die TMS WebCore nicht unterstützt, musst du die Anbindung selbst schreiben. Mein Beispiel zeigt, wie das allgemein bewerkstelligt wird. Im konkreten Fall folgst du besser dem Rat von TigerLilly.

Bis bald...
Thomas
  Mit Zitat antworten Zitat
noisy_master

Registriert seit: 17. Jun 2009
Ort: Wolfenbüttel/Baddeckenstedt
263 Beiträge
 
Delphi XE5 Professional
 
#4

AW: TMS Webcore app mit DB auf gehosteten Systemen

  Alt 29. Nov 2022, 22:03
So, jetzt habe ich es: in der WebCLientConnection musste noch der DataNode auf "records" gesetzt werden!

Danke euch allen...jetzt kann es weitergehen
Dirk
  Mit Zitat antworten Zitat
Benutzerbild von TigerLilly
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.251 Beiträge
 
Delphi 12 Athens
 
#5

AW: TMS Webcore app mit DB auf gehosteten Systemen

  Alt 30. Nov 2022, 10:16
:- ) Stand aber im Beispiel drin. Gut, dass es jetzt funkt. Viel Spaß!
  Mit Zitat antworten Zitat
noisy_master

Registriert seit: 17. Jun 2009
Ort: Wolfenbüttel/Baddeckenstedt
263 Beiträge
 
Delphi XE5 Professional
 
#6

AW: TMS Webcore app mit DB auf gehosteten Systemen

  Alt 12. Dez 2022, 21:28
So, und jetzt habe ich es auch endlich auf dem gehosteten System laufen:

für die, die vielleicht ein ähnliches Problem haben: ich musste in der api.php nocht den basePath auf '/api.php' stzen..... Das soll einer ahnen

Aber Danke nochmal an alle für diesen coolen Tip... jetzt werde ich das nochmal mit Berechtigungen testen ... mal schauen, wie lange ich brauche, um das zum Laufen zu bekommen
Dirk
  Mit Zitat antworten Zitat
Benutzerbild von TigerLilly
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.251 Beiträge
 
Delphi 12 Athens
 
#7

AW: TMS Webcore app mit DB auf gehosteten Systemen

  Alt 13. Dez 2022, 05:52
Zumindest mit ApiKey war das ganz unkompliziert:
Code:
  $config = new Config([
         'driver' => 'mysql',
         'address' => 'xxx',
        // 'port' => '3306',
        'username' => 'xxx',
        'password' => 'xxx',
        'database' => 'xxx',
--->    'middlewares'=>'apiKeyAuth',
--->    'apiKeyAuth.keys'=>'abc,def', // da sind mehrere möglich
        'debug' => false
    ]);
Und in der Connection setzt du im Code oder zur Designtime
Code:
Connection.Headers.Add('X-API-Key=abc');
  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 06:51 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