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
Seite 1 von 2  1 2      
Benutzerbild von TigerLilly
TigerLilly

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

AW: TMS Webcore app mit DB auf gehosteten Systemen

  Alt 28. Nov 2022, 16:48
Lass das ? weg:
http://xxxxxx.xxx/api.php/status/ping
  Mit Zitat antworten Zitat
noisy_master
Online

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 28. Nov 2022, 17:41
Danke für die Info.

Irgendwie funktioniert das auf dem gehosteten System leider nicht(was auch immer ich falsch gemacht habe). Habe mir lokal nen XAMPP aufgesetzt und es funktioniert sofort.
Eine Frage hätte ich noch: Was für eine TMS Connection(und wie konfiguriert) hast du zur Verbindung zu der API genutzt?
Wenn du gaanz viel Muße hast hast du ja vielleicht sogar ein funktionierendes Snippet für mich
Dirk
  Mit Zitat antworten Zitat
mytbo

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

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
Online

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, 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
482 Beiträge
 
#5

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
Online

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 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.241 Beiträge
 
Delphi 12 Athens
 
#7

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
Benutzerbild von TigerLilly
TigerLilly

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

AW: TMS Webcore app mit DB auf gehosteten Systemen

  Alt 29. Nov 2022, 10:33
Wenn du gaanz viel Muße hast hast du ja vielleicht sogar ein funktionierendes Snippet für mich
Mach ich gerne - dauert nur ein bissl. Sorry.
Funktioniert extrem cool und nahezu ohne Code. Was mytbo zu Fuß macht, machen die TMS Komponenten von selbst.
  Mit Zitat antworten Zitat
noisy_master
Online

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

AW: TMS Webcore app mit DB auf gehosteten Systemen

  Alt 29. Nov 2022, 10:55
Mach ich gerne - dauert nur ein bissl. Sorry.
Funktioniert extrem cool und nahezu ohne Code. Was mytbo zu Fuß macht, machen die TMS Komponenten von selbst.
Kein Problem, freue mich ja über jede Hilfe Vielen Dank schon mal vorab....bin schon ganz gespannt
Dirk
  Mit Zitat antworten Zitat
Benutzerbild von TigerLilly
TigerLilly

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

AW: TMS Webcore app mit DB auf gehosteten Systemen

  Alt 29. Nov 2022, 14:02
Ich habe aus der DFM das wichtigste rauskopiert:
Code:
object conNaehrwerte: TWebClientConnection
    Active = False
    Headers.Strings = (
      'X-API-Key=12345678')
    DataNode = 'records'
    URI =
      'https://www.nutritional-software.at/api.php/records/TBLXY?filter=COL1,eq,ABC'
    Left = 1134
    Top = 568
  end
  object cdsNaehrwerte: TWebClientDataSet
    Connection = conNaehrwerte
    Params = <>
    Left = 1265
    Top = 561
  end
Also
1) TWebClientConnection aufs Formular und bestücken
2) TWebClientDataSet damit verbinden
3) active = true

Weiter kannst du mit TWebDataSource und dann auch schon visuelle Kompopnenten zB TWebDBEdit anbinden. Ich habe zuerst nur die TWeb*-Sachen verwendet, aber hier kann man auch alles aus TTMSFNC* benutzen.

Ich habe zu Beginn mit CORS gekämpft, aber wenn das API und der DB Server auf demseblen Server sind, ist das kein Thema. Der REST-Debugger war sehr hilfreich beim Verstehen, was im Header etc stehen muss bzw dann zurückgeliefert wird.

Achja: Oben das
Code:
 Headers.Strings = (
      'X-API-Key=12345678')
steht da nur, weil ich als Middleware die Authentifizierung aktiv habe. Wenn du die nicht hast, brauchst du den header gar nicht setzen.

Hilft dir das mal?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      

 

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 15:42 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