Recent

Author Topic: Web Service toolkit  (Read 5131 times)

luca

  • Jr. Member
  • **
  • Posts: 83
Web Service toolkit
« on: September 28, 2017, 10:18:57 am »
I cannot install WST on Lazarus 1.8.0RC4.

I'm using OnLinePackageManager to install but I received this error during compilation of package wst_design:

wsdl_parser.pas(858,92) Error: Wrong number of parameters specified for call to "CreateFunctionType"
Error: Found declaration: CreateFunctionType(const AnsiString;const AnsiString;TPasElement;Boolean;const TPasSourcePos):TPasFunctionType;

Regards
Luca

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4459
  • I like bugs.
Re: Web Service toolkit
« Reply #1 on: September 28, 2017, 11:31:00 am »
You may be using an old version of FPC trunk. Either update it or use a release version.
It is also possible that WST is broken with latest FPC trunk. I only tested with FPC 3.0.2.

wst_global.inc has:
Code: Pascal  [Select][+][-]
  1. {$IF Defined(FPC_FULLVERSION) and (FPC_FULLVERSION >= 30101) }
  2.   {$DEFINE WST_TPASSOURCEPOS}  
  3.   {$DEFINE WST_TCLASS_MEMBERS}
  4. {$IFEND}
  5.  
wsdl_parser.pas has:
Code: Pascal  [Select][+][-]
  1. {$IFDEF WST_TPASSOURCEPOS}
  2.   locFuncType := SymbolTable.CreateFunctionType('','Result',locFunc,False,Default(TPasSourcePos));
  3. {$ELSE WST_TPASSOURCEPOS}
  4.   locFuncType := SymbolTable.CreateFunctionType('','Result',locFunc,False,'',0);
  5. {$ENDIF WST_TPASSOURCEPOS}
  6.  
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

balazsszekely

  • Guest
Re: Web Service toolkit
« Reply #2 on: September 28, 2017, 12:22:15 pm »
I tested with Lazarus trunk/FPC 3.02 and FPC trunk. Works fine here. Lazarus 1.8 uses FPC 3.0.4, maybe something is broken in 3.0.4?

wp

  • Hero Member
  • *****
  • Posts: 11855
Re: Web Service toolkit
« Reply #3 on: September 28, 2017, 12:46:05 pm »
Yes, fpc3.04 breaks this component:

In unit pparser.pp (fpc/packages/fpc-passrc/src)
Code: Pascal  [Select][+][-]
  1. //fpc 3.04:
  2.   function TPasTreeContainer.CreateFunctionType(const AName, AResultName: String;
  3.     AParent: TPasElement; UseParentAsResultParent: Boolean;
  4.     const ASrcPos: TPasSourcePos): TPasFunctionType;
  5.  
  6. // fpc.3.02:
  7.   function TPasTreeContainer.CreateFunctionType(const AName, AResultName: String;
  8.     AParent: TPasElement; UseParentAsResultParent: Boolean;
  9.     const ASourceFilename: String;  ASourceLinenumber: Integer): TPasFunctionType;
  10.  

BTW, I see that this component requires packages wst_indy and wst_synapse. I did not test - but what happens if the "original" packages are already installed? Don't we have a lot of naming conflicts then?

@GetMem: Sorry to hijack this thread, but when trying to install wst with OnlinePackageManager I saw the attached painting glitch in a localized form (label "Geschwindigkeit" overlapping with value).
« Last Edit: September 28, 2017, 12:48:00 pm by wp »

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4459
  • I like bugs.
Re: Web Service toolkit
« Reply #4 on: September 28, 2017, 12:53:25 pm »
Ok, the changes in FPC trunk were backported to 3.0.4.
In that case the test in wst_global.inc should be (FPC_FULLVERSION >= 30004).
@luca, please test.
Is the current code provided by Inoussa? Somebody should send a patch.

I hope FPC 3.0.4 will be released soon. I hoped for the same thing > half a year ago. A dot release should not take years. :(
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

balazsszekely

  • Guest
Re: Web Service toolkit
« Reply #5 on: September 28, 2017, 01:36:01 pm »
@luca
I fixed the package in the main repository. Please try to reinstall WST with OPM.

@wp
Quote
BTW, I see that this component requires packages wst_indy and wst_synapse. I did not test - but what happens if the "original" packages are already installed? Don't we have a lot of naming conflicts then?
Each and every package name is unique in the main repository. wst_indy and wst_synapse uses indylaz.lpk and laz_synapse40_1.lpk internally(packages already uploaded into the repository). Before install OPM recursively search for dependencies, if one of the package is already installed, OPM will skip the download/install of that package. The only way to create conflicts is rename package indylaz for example to something else and install it separately(not via OPM).

Quote
Sorry to hijack this thread, but when trying to install wst with OnlinePackageManager I saw the attached painting glitch in a localized form (label "Geschwindigkeit" overlapping with value).
Thanks. Fixed in trunk.

@Juha
Quote
In that case the test in wst_global.inc should be (FPC_FULLVERSION >= 30004).
Thanks. I updated the package.

luca

  • Jr. Member
  • **
  • Posts: 83
Re: Web Service toolkit
« Reply #6 on: September 28, 2017, 09:03:00 pm »
Fixed!  :)

Thanks guys!

GREAT Team.

Proud to use Lazarus!

Luca


 

TinyPortal © 2005-2018