Delphi-PRAXiS
Seite 1 von 20  1 2311     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi 12 ist offiziell da!!! (https://www.delphipraxis.net/214020-delphi-12-ist-offiziell-da.html)

wjjw 7. Nov 2023 13:22

Delphi 12 ist offiziell da!!!
 
Hallo!

Habe gerade gesehen das in meinem "Embarcadero My registered products Portal" Delphi 12 zum Download zur Verfügung steht!
ISO und Web-Installer.

Grüße,
/Werner

MEissing 7. Nov 2023 13:40

AW: Delphi 12 ist offiziell da!!!
 
<confirmed> :-)

Städtename: "Athens"

ggscholz 7. Nov 2023 14:47

AW: Delphi 12 ist offiziell da!!!
 
Wenn's weiter mit den Städtenamen bei den Versionen geht, gibt's dann bei 12 wieder so schöne Ansichten der auserwählten Orte? Das D11 Startfenster ist vielleicht trendy, die Städtebilder haben mir aber deutlich besser gefallen.
Grüße Gerd

MEissing 7. Nov 2023 14:50

AW: Delphi 12 ist offiziell da!!!
 
Berlin hatte einen schönen. Aber sonst?

Bbommel 7. Nov 2023 14:51

AW: Delphi 12 ist offiziell da!!!
 
Kurzer Test. REST-API schon wieder kaputt ausgeliefert. Ist ja toll, was ein Schrott.

Leerzeichen und andere Sonderzeichen in Parametern werden falsch kodiert. Aus
Code:
https://test.de?param=my space
sollte werden
Code:
https://test.de?param=my%20space
Delphi macht aber
Code:
https://test.de?param=my%2520space
daraus.

Das heißt, das Ding wird doppelt kodiert und somit das Prozentzeichen auch. Dabei fällt jeder API-Call auf die Nase, der irgendwas mit Zeichen im Aufruf hat, die nicht im Alphabet oder Nummern sind. Dürfte für ein bisschen Spaß sorgen.

MEissing 7. Nov 2023 15:03

AW: Delphi 12 ist offiziell da!!!
 
Ein Quality Eintrag dazu?

Bbommel 7. Nov 2023 15:06

AW: Delphi 12 ist offiziell da!!!
 
Zitat:

Zitat von MEissing (Beitrag 1529209)
Ein Quality Eintrag dazu?

Gibt es seit Ende August im QC für die Beta. (Da wir ja vor ein paar Tagen festgestellt haben, dass das jetzt offenbar jeder lesen kann, ist der Link dahin hoffentlich okay, sonst lösche ich das natürlich). Im "normalen" QC kann man noch keine Einträge für D12 machen.

Das macht es alles noch etwas ärgerlicher.

Uwe Raabe 7. Nov 2023 15:18

AW: Delphi 12 ist offiziell da!!!
 
Das in dem Report angehängte Testprogramm zeigt den Fehler aber gar nicht im 12er Release.

Kannst du bitte einen entsprechenden Testcase hier einstellen mit dem wir das von dir beschriebene Problem reproduzieren können?

Bbommel 7. Nov 2023 15:20

AW: Delphi 12 ist offiziell da!!!
 
Muss ich kurz was basteln. Ich habe das gerade nur kurz in unserem Standardprogramm getestet, das kann ich natürlich nicht hier reinstellen. :-)

Bbommel 7. Nov 2023 15:45

AW: Delphi 12 ist offiziell da!!!
 
Danke für die Anregung, das nochmal zu testen. Der Fehler ist jetzt etwas schwieriger nachzuvollziehen als wahrscheinlich im ursprünglichen Bug-Report vom August. Er tritt jetzt nur noch auf, wenn man den Parameter selbst in die URL mit reinschreibt und nicht mehr, wenn man ihn per "AddParameter" setzt. In D11.2 funktionierten allerdings beide Wege völlig fehlerlos und so sollte es auch weiterhin sein. Es gibt ja diverse Gründe, warum es mal vorkommen kann, dass man nicht AddParameter nutzt, sondern die URL selbst zusammensetzt - in REST-APIs könnte es auch eine durch einen Call vorgegebene URL sein, um weitere Ergebnisse abzurufen (macht die Graph API von Microsoft zum Beispiel). Wäre blöd, wenn Delphi da reingrätscht.

Aber klar, so fällt der Fehler weniger auf.

Beispielprogramm:

Delphi-Quellcode:
program restSpace;

{$APPTYPE CONSOLE}

{$R *.res}

uses
  System.SysUtils, REST.Client;


var
  myRest: TRESTClient;
  myQuery: TRESTRequest;
  resultText: string;

begin
  myRest:=TRESTClient.Create('https://httpbin.org/');
  myQuery:=TRESTRequest.Create(nil);
  myQuery.Client:=myRest;
  try
    { TODO -oUser -cConsole Main : Code hier einfügen }
    myQuery.Resource:='get?param=hello world';
    myQuery.AddParameter('param_added','hello world');
    myQuery.Execute;

    if (myQuery.Response.StatusCode=200) and (myQuery.Response.JSONValue<>nil) then begin
      resultText:=myQuery.Response.JSONValue.GetValue<string>('args.param','!! Not found !!');
      Writeln(resultText);
      resultText:=myQuery.Response.JSONValue.GetValue<string>('args.param_added','!! Not found !!');
      Writeln(resultText);
      Readln;
    end;
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
  myQuery.Free;
  myRest.Free;
end.
Ausgabe mit D11.2:

Code:
hello world
hello world
Ausgabe mit D12:

Code:
hello%20world
hello world
Tja, wie vorgehen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:49 Uhr.
Seite 1 von 20  1 2311     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz