Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 2013-09

Added PascalScriptFCL.lpk and PascalScriptLCL.lpk in official repository of PascalScript

10 messages · 3 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

silvioprog

Hello,

Now PascalScript has two packages, one that uses only the FCL(1) and another that uses the LCL(2).

Can you update it in Lazarus too? (lazarus\components\pascalscript)

If yes, PascalScript distributed with Lazarus could be used in console aplication, without get the error "Error: Undefined symbol: WSRegisterCustomImageList".

Thank you!

1 -
https://github.com/remobjects/pascalscript/blob/master/Source/PascalScriptFCL.lpk 2 -
https://github.com/remobjects/pascalscript/blob/master/Source/PascalScriptLCL.lpk

Silvio Cl?cio My public projects - github.com/silvioprog -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20130925/35c8f85a/attachment.html>

Reply by email

Martin
to silvioprog
silvioprog wrote 6 lines
Hello, Now PascalScript has two packages, one that uses only the FCL(1) and another that uses the LCL(2). Can you update it in Lazarus too? (lazarus\components\pascalscript)

I currently, it looks like it may cause problems.

Both packages share the same folders, that can lead to conflicts.

e.g. the LCL part, when getting compiled, will find the pas sources and recompile them, instead of using the ppu. Then if anything would use the fcl part, timestamps would be changed, and stuff recompiled.

So far this would only only lead to a few units compiled twice.... But I suspect there is a danger, that if changes are made to a file, it may not trigger a recompile of all the dependencies.,
That would mean that after updating from svn, it may happen that some ppu are not rebuild, and the result is an unstable executable.

Reply by email

Martin
to Martin
Martin wrote 22 lines
On 25/09/2013 04:33, silvioprog wrote: > Hello, > > Now PascalScript has two packages, one that uses only the FCL(1) and > another that uses the LCL(2). > > Can you update it in Lazarus too? (lazarus\components\pascalscript) I currently, it looks like it may cause problems. Both packages share the same folders, that can lead to conflicts. e.g. the LCL part, when getting compiled, will find the pas sources and recompile them, instead of using the ppu. Then if anything would use the fcl part, timestamps would be changed, and stuff recompiled. So far this would only only lead to a few units compiled twice.... But I suspect there is a danger, that if changes are made to a file, it may not trigger a recompile of all the dependencies., That would mean that after updating from svn, it may happen that some ppu are not rebuild, and the result is an unstable executable.

I have added the fcl package. BUT

- The normal package, is kept as it. One package that contains all, and does not need the fcl package (in fact may have issues if both are used / not tested)
- The fcl pacage as a separate unit directory. It can be used INSTEAD of the normal package.

Reply by email

luiz americo pereira camara
to Martin

2013/10/1 Martin

Show quoted text 8 lines
On 01/10/2013 14:14, Martin wrote: > > I currently, it looks like it may cause problems. > > Both packages share the same folders, that can lead to conflicts. >

[]

Show quoted text 10 lines
> > I have added the fcl package. BUT - The normal package, is kept as it. One package that contains all, and does not need the fcl package (in fact may have issues if both are used / not tested) - The fcl pacage as a separate unit directory. It can be used INSTEAD of the normal package.

Your worries are pertinents. I hit this problem sometimes.

I haven't looked at this specific package but the best approach is to create a package that depends only from FCL and create a LCL package that uses the first one. Most of the time, this can be done without sharing source paths without much work.

Luiz
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20131001/68c13cc3/attachment-0001.html>

Reply by email

luiz americo pereira camara
to luiz americo pereira camara

2013/10/1 luiz americo pereira camara

Show quoted text 35 lines
2013/10/1 Martin > On 01/10/2013 14:14, Martin wrote: > >> >> I currently, it looks like it may cause problems. >> >> Both packages share the same folders, that can lead to conflicts. >> > [] > >> >> > I have added the fcl package. BUT > > - The normal package, is kept as it. One package that contains all, and > does not need the fcl package (in fact may have issues if both are used / > not tested) > - The fcl pacage as a separate unit directory. It can be used INSTEAD of > the normal package. Your worries are pertinents. I hit this problem sometimes. I haven't looked at this specific package but the best approach is to create a package that depends only from FCL and create a LCL package that uses the first one. Most of the time, this can be done without sharing source paths without much work.

I looked at the commited files and this configuration will cause problems when installing both packages. Notice that is important to allow the installation of the two packages, in the same IDE. In some projects (a desktop) may be necessary to use the complete package while in others (a web service) only the base package is necessary.

There are some solutions:

- Put source files of each package in separated folders. As an example see: https://code.google.com/p/luipack/source/browse/#svn%2Ftrunk%2Fcairo . Each package has it's own folder.

- Use the same folder for the source and ensure that all files are added to it's corresponding package. As an example see:
https://code.google.com/p/luipack/source/browse/#svn%2Ftrunk%2Fluicomponents. Failing to setup properly the package may lead to problems. Recently i fixed one in
https://code.google.com/p/luipack/source/detail?spec=svn1089&r=1079

- Use the same folder for the source but configure a different unit output dir. Example
https://code.google.com/p/luipack/source/browse/#svn%2Ftrunk%2Fluidialogs

In all cited examples there's dependency between packages and it's working fine.

Luiz
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20131001/4a93332c/attachment.html>

Reply by email

Martin
to luiz americo pereira camara
luiz americo pereira camara wrote 49 lines
2013/10/1 luiz americo pereira camara < <mailto:>> 2013/10/1 Martin < <mailto:>> On 01/10/2013 14:14, Martin wrote: I currently, it looks like it may cause problems. Both packages share the same folders, that can lead to conflicts. [] I have added the fcl package. BUT - The normal package, is kept as it. One package that contains all, and does not need the fcl package (in fact may have issues if both are used / not tested) - The fcl pacage as a separate unit directory. It can be used INSTEAD of the normal package. Your worries are pertinents. I hit this problem sometimes. I haven't looked at this specific package but the best approach is to create a package that depends only from FCL and create a LCL package that uses the first one. Most of the time, this can be done without sharing source paths without much work. I looked at the commited files and this configuration will cause problems when installing both packages. Notice that is important to allow the installation of the two packages, in the same IDE. In some projects (a desktop) may be necessary to use the complete package while in others (a web service) only the base package is necessary.

You do NOT need to install, in order to use in projects.

Install is only needed for editor macros.

Show quoted text 6 lines
There are some solutions: - Put source files of each package in separated folders. As an example see: https://code.google.com/p/luipack/source/browse/#svn%2Ftrunk%2Fcairo . Each package has it's own folder.

I need to keep files easy to sync with the original GIT. Therefore no. (unless it happens in the original too.)

Show quoted text 8 lines
- Use the same folder for the source and ensure that all files are added to it's corresponding package. As an example see: https://code.google.com/p/luipack/source/browse/#svn%2Ftrunk%2Fluicomponents . Failing to setup properly the package may lead to problems. Recently i fixed one in https://code.google.com/p/luipack/source/detail?spec=svn1089&r=1079

Same folder for source does not work, the LCL package will find fcl-belonging pas files, and use them instead of ppu (even if not listed in package)

- Use the same folder for the source but configure a different unit output dir. Example https://code.google.com/p/luipack/source/browse/#svn%2Ftrunk%2Fluidialogs

See above.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20131001/721c1ac8/attachment-0001.html>

Reply by email

silvioprog
to Martin

2013/10/1 Martin

Show quoted text 72 lines
On 01/10/2013 22:14, luiz americo pereira camara wrote: 2013/10/1 luiz americo pereira camara > > 2013/10/1 Martin > >> On 01/10/2013 14:14, Martin wrote: >> >>> >>> I currently, it looks like it may cause problems. >>> >>> Both packages share the same folders, that can lead to conflicts. >>> >> > [] > > >> >>> >>> >> I have added the fcl package. BUT >> >> - The normal package, is kept as it. One package that contains all, and >> does not need the fcl package (in fact may have issues if both are used / >> not tested) >> - The fcl pacage as a separate unit directory. It can be used INSTEAD of >> the normal package. > > > Your worries are pertinents. I hit this problem sometimes. > > I haven't looked at this specific package but the best approach is to > create a package that depends only from FCL and create a LCL package that > uses the first one. Most of the time, this can be done without sharing > source paths without much work. > I looked at the commited files and this configuration will cause problems when installing both packages. Notice that is important to allow the installation of the two packages, in the same IDE. In some projects (a desktop) may be necessary to use the complete package while in others (a web service) only the base package is necessary. You do NOT need to install, in order to use in projects. Install is only needed for editor macros. There are some solutions: - Put source files of each package in separated folders. As an example see: https://code.google.com/p/luipack/source/browse/#svn%2Ftrunk%2Fcairo. Each package has it's own folder. I need to keep files easy to sync with the original GIT. Therefore no. (unless it happens in the original too.) - Use the same folder for the source and ensure that all files are added to it's corresponding package. As an example see: https://code.google.com/p/luipack/source/browse/#svn%2Ftrunk%2Fluicomponents. Failing to setup properly the package may lead to problems. Recently i fixed one in https://code.google.com/p/luipack/source/detail?spec=svn1089&r=1079 Same folder for source does not work, the LCL package will find fcl-belonging pas files, and use them instead of ppu (even if not listed in package) - Use the same folder for the source but configure a different unit output dir. Example https://code.google.com/p/luipack/source/browse/#svn%2Ftrunk%2Fluidialogs See above.

The idea is to allow that a programmer use (in console apps, web etc.) the PS core (FCL) without necessarily depend on the LCL.

You can fix it and send a patch for the official repository of the PS?

Remembering, it's necessary to have two packages: FCL (for console and web apps) and LCL (for desktop apps).

Silvio Cl?cio My public projects - github.com/silvioprog -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20131001/15a5f409/attachment.html>

Reply by email

Martin
to silvioprog
silvioprog wrote
The idea is to allow that a programmer use (in console apps, web etc.) the PS core (FCL) without necessarily depend on the LCL.

And that is possible now.

You can fix it and send a patch for the official repository of the PS?

Create a new folder, and move the pascal units that are in the FCL package to that folder.

I do not plan to work on it.

Remembering, it's necessary to have two packages: FCL (for console and web apps) and LCL (for desktop apps).

We have 2 packages.

Reply by email

Martin
to Martin
Martin wrote 7 lines
> > You can fix it and send a patch for the official repository of the PS? Create a new folder, and move the pascal units that are in the FCL package to that folder. I do not plan to work on it.

Just to explain:

If I move half of the pascal files to a different folder, and if that is not done in the original GIT, then it will be much more work to synchronize with the GIT.

Currently it is running one directory diff. If half of the files are moved, and I run 2 diffs, then I have to also deal with the missing files in each dir.... IMHO to much work.
Or in other words, if the Lazarus version was to move those files, and the GIT version does not, then I will no longer merge changes from the GIT version, and that would mean the Lazarus version would become outdated.

This was, why I initially said, I would not do the change, if it wasn't done in the original. I expected to see the files moved. I did not expect, that it would just be a 2nd package file, that shares the source folder. (The difference of having a 2nd package file, would not be a problem for merging changes. Well and now our 2nd package file is different anyway).

Reply by email

luiz americo pereira camara
to Martin: You do NOT need to install, in order to use in projects. Install is only needed for…

2013/10/1 Martin

Show quoted text 42 lines
On 01/10/2013 22:14, luiz americo pereira camara wrote: I looked at the commited files and this configuration will cause problems when installing both packages. Notice that is important to allow the installation of the two packages, in the same IDE. In some projects (a desktop) may be necessary to use the complete package while in others (a web service) only the base package is necessary. You do NOT need to install, in order to use in projects. Install is only needed for editor macros. There are some solutions: - Put source files of each package in separated folders. As an example see: https://code.google.com/p/luipack/source/browse/#svn%2Ftrunk%2Fcairo. Each package has it's own folder. I need to keep files easy to sync with the original GIT. Therefore no. (unless it happens in the original too.) - Use the same folder for the source and ensure that all files are added to it's corresponding package. As an example see: https://code.google.com/p/luipack/source/browse/#svn%2Ftrunk%2Fluicomponents. Failing to setup properly the package may lead to problems. Recently i fixed one in https://code.google.com/p/luipack/source/detail?spec=svn1089&r=1079 Same folder for source does not work, the LCL package will find fcl-belonging pas files, and use them instead of ppu (even if not listed in package) - Use the same folder for the source but configure a different unit output dir. Example https://code.google.com/p/luipack/source/browse/#svn%2Ftrunk%2Fluidialogs See above.

I'm just exposing my experience of 13 years developing with Lazarus and creating / maintaining more than 30 lazarus packages. All the above "designs" works, i can assure. However it's not my intention to say what you should do.

Anyway, i don't use PascalScript and does not know if will work as is now, but if i use it and find some problem i can fix myself.

Luiz
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20131002/294611cb/attachment-0001.html>

Reply by email