AGB  ·  Datenschutz  ·  Impressum  







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

TArray<System.Byte> Fehler

Ein Thema von berlinchris81 · begonnen am 3. Jul 2019 · letzter Beitrag vom 3. Jul 2019
Antwort Antwort
berlinchris81

Registriert seit: 19. Mai 2010
Ort: Berlin
14 Beiträge
 
Delphi 10.3 Rio
 
#1

TArray<System.Byte> Fehler

  Alt 3. Jul 2019, 08:06
Delphi-Version: 5
Hallo Delphi Freunde, ich habe im Moment folgendes Problem. Ich importiere eine C# WSDL eines SOAP Webservices. Dabei erhalte ich die Meldung "Erwartet: ')' aber '<' erhalten" Meldung. Bisher ging das immer zu importieren, liegt es an C# oder an Delphi 10.3.1, das letzte Mal habe ich die WSDL mit 10.1 erfolgreich importiert (so oft ist ein neuer Import nicht nötig).

----

So sieht die Stelle aus:

Delphi-Quellcode:
procedure Setblob(Index: Integer; const ATArray<System.Byte>: TArray<System.Byte>);


procedure Medienobjekt_Antwort2.Setblob(Index: Integer; const ATArray<System.Byte>: TArray<System.Byte>);
begin
  Fblob := ATArray<System.Byte>;
  Fblob_Specified := True;
end;
----

Delphi versieht das '>' Zeichen nach dem "const" mit einer roten Linie und unterbricht beim kompilieren. Das habe ich an mehreren Stellen.

Weiß einer von euch wie ich das Problem "heilen" kann? Gern lege ich auch noch Beispiele nach.


Liebe Grüße aus Berlin

Chris
Chris

Geändert von berlinchris81 ( 3. Jul 2019 um 08:11 Uhr)
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#2

AW: TArray<System.Byte> Fehler

  Alt 3. Jul 2019, 08:15
Der Name das Arguments darf kein < oder > enthalten.
Delphi-Quellcode:
// Statt
procedure Setblob(Index: Integer; const ATArray<System.Byte>: TArray<System.Byte>);

// z.B.
procedure Setblob(Index: Integer; const ABuffer: TArray<System.Byte>);
  Mit Zitat antworten Zitat
berlinchris81

Registriert seit: 19. Mai 2010
Ort: Berlin
14 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: TArray<System.Byte> Fehler

  Alt 3. Jul 2019, 08:46
Okay verstanden, aber wo muss ich das ändern die pas wird aus der WSDL von Delphi automatisch erstellt. Muss ich da in C# was drehen?
Chris
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#4

AW: TArray<System.Byte> Fehler

  Alt 3. Jul 2019, 09:05
Der Delphi WSDL-Import war noch nie ein Quell der Freude. Wenn es etwas komplexer wird, dann versagt der ganz gerne.

Probier das doch mal mit anderen WSDL-Importern aus (der aus dem VS ist recht gut), ob die diese WSDL vernünftig interpretieren können.
  Mit Zitat antworten Zitat
berlinchris81

Registriert seit: 19. Mai 2010
Ort: Berlin
14 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: TArray<System.Byte> Fehler

  Alt 3. Jul 2019, 09:10
Hallo Schokohase, ich habe jetzt mit suchen/ersetzen die 150 Werte in der pas Datei ausgetauscht.

Funktioniert super. wenn ich die WSDL in C# importiere geht es prima aber dann erhalte ich eine C# Klasse, aber keine .pas Datei.

Ich muss den Webservice in Delphi verwursten .

Aber trotzdem erstmal Danke für die schnellen Antworten, hast mir erstmal den Tag gerettet.

Danke

Chris
Chris
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#6

AW: TArray<System.Byte> Fehler

  Alt 3. Jul 2019, 09:30
Funktioniert super. wenn ich die WSDL in C# importiere geht es prima aber dann erhalte ich eine C# Klasse, aber keine .pas Datei.
Damit solltest du ja auch nur prüfen, ob die WSDL formal korrekt ist.

Wenn du eine bessere Idee hast, wie man die Korrektheit der WSDL überprüfen kann dann immer her damit.
  Mit Zitat antworten Zitat
berlinchris81

Registriert seit: 19. Mai 2010
Ort: Berlin
14 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: TArray<System.Byte> Fehler

  Alt 3. Jul 2019, 09:53
So war das nicht gemeint, C# importiert korrekt, alles gut. Ich nehm die Hilfslösung und schreib mir n Kommentar dazu.

Vielen Dank für deine Hilfe...


Chris
Chris
  Mit Zitat antworten Zitat
peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
701 Beiträge
 
Delphi 12 Athens
 
#8

AW: TArray<System.Byte> Fehler

  Alt 3. Jul 2019, 12:47
Hallo Delphi Freunde, ich habe im Moment folgendes Problem. Ich importiere eine C# WSDL eines SOAP Webservices. Dabei erhalte ich die Meldung "Erwartet: ')' aber '<' erhalten" Meldung. Bisher ging das immer zu importieren, liegt es an C# oder an Delphi 10.3.1, das letzte Mal habe ich die WSDL mit 10.1 erfolgreich importiert (so oft ist ein neuer Import nicht nötig).

----

So sieht die Stelle aus:

Delphi-Quellcode:
procedure Setblob(Index: Integer; const ATArray<System.Byte>: TArray<System.Byte>);


procedure Medienobjekt_Antwort2.Setblob(Index: Integer; const ATArray<System.Byte>: TArray<System.Byte>);
begin
  Fblob := ATArray<System.Byte>;
  Fblob_Specified := True;
end;
----

Delphi versieht das '>' Zeichen nach dem "const" mit einer roten Linie und unterbricht beim kompilieren. Das habe ich an mehreren Stellen.

Weiß einer von euch wie ich das Problem "heilen" kann? Gern lege ich auch noch Beispiele nach.


Liebe Grüße aus Berlin

Chris
Das ist ein Bug im WSDL-Importer, da bin ich auch mal drauf gelaufen. Die Syntax der generierten Methode ist nicht korrekt, das <System.Byte> hinter dem Parameternamen hat da nichts zu suchen. Leider hilft da nur nacheditieren der erzeugten Unit, was aber per regular expression search & replace relativ einfach geht.
Peter Below
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.936 Beiträge
 
Delphi 12 Athens
 
#9

AW: TArray<System.Byte> Fehler

  Alt 3. Jul 2019, 20:09
Nach dem ja jetzt ein Bug im WSDL Importer identifiziert wurde, dürfte mal jemand
(einer der Finder des Bugs) in QP nachschauen ob der dort schon erfasst ist und
falls nicht diesen erfassen. Dann gibt's eine Chance auf einen Fix, sonst eher nicht.

Und ganz super, falls möglich/erlaubt, wäre es, wenn das betreffende WSDL mit an
den Report gehängt werden könnte.
  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:33 Uhr.
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