Sign in Join

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

Mailing lists / lazarus / 2018-10

Installed lazarus-ide in Ubuntu18, cannot install package

27 messages · 6 people · –

Reply by email Subscribe to this list Your subscription

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

Bo Berglund

I have decided to try out the version of Lazarus that can be installed via apt on a brand new installation of Ubuntu 18.04 wit MATE desktop. So I used this command:
sudo apt install lazarus-ide

This completed without errors and the Applications/Development menu contains Lazarus 1.8.2, which uses FPC 3.0.4

So far so good, now I wanted to open my console program project that works on Windows and build it for Linux. Since it uses INDY10 I needed OnLinePackageManager to install IndyLaz into Lazarus.

But now I get into trouble!
After I selected OLPM in Install/Uninstall Packages and set it for installation I clicked "Save and rebuild IDE" and it started doing things but then it stopped with an error:

lazarus.pp(1,1) Fatal: Cannot find lazcontroldsgn used by Lazarus.

What can I do now? I already have tried to install FPC 3.0.4 with Lazarus 1.8.4 from svn checked out sources but it failed because of a linking problem after 1m30s of make all activity for FPC. So that is why I tried the apt install route.

Clearly installing via apt install should get a working system, but it seems not to do that.

Bo Berglund Developer in Sweden

Reply by email

Juha Manninen
to Bo Berglund
PM Bo Berglund wrote
lazarus.pp(1,1) Fatal: Cannot find lazcontroldsgn used by Lazarus.

Ubuntu's Lazarus package is faulty. Just get the sources directly from Subversion server and build them.

svn co https://svn.freepascal.org/svn/lazarus/branches/fixes_2_0/ lazarus_2_0 cd lazarus_2_0
make
./lazarus

As an extra bonus you will get latest bug fixes in future by running "svn up". My prediction is that you will ignore this advice and start to bang your head with .deb packages like many others do. The forum is full of threads by those people.

Juha

Reply by email

Teresa Williams
to Juha Manninen
Show quoted text 22 lines
Sent: Wednesday, October 24, 2018 at 12:38 PM From: "Juha Manninen via Lazarus" To: , "Lazarus mailing list" Cc: "Juha Manninen" Subject: Re: [Lazarus] Installed lazarus-ide in Ubuntu18, cannot install package On Tue, Oct 23, 2018 at 8:43 PM Bo Berglund via Lazarus wrote: > lazarus.pp(1,1) Fatal: Cannot find lazcontroldsgn used by Lazarus. Ubuntu's Lazarus package is faulty. Just get the sources directly from Subversion server and build them. svn co https://svn.freepascal.org/svn/lazarus/branches/fixes_2_0/ lazarus_2_0 cd lazarus_2_0 make ./lazarus As an extra bonus you will get latest bug fixes in future by running "svn up". My prediction is that you will ignore this advice and start to bang your head with .deb packages like many others do. The forum is full of threads by those people.

I know of no distribution which has both lazarus & fpc in valid packages packages. Some have one, but not both.

An observation and a question:

I have done this several times on opensuse Leap 14 and 15. Each time I have had fpc installed first: is that what you meant? Or does the svn repository include fpc now?

And each time I have had to run make with -j1 Even on multiprocessor machines, parallel make runs into a race condition sooner or later, and report that a package cannot be found. Idle playing with the Makefile hasn't shed any light on why.

Teresa

Reply by email

Brian
to Juha Manninen: On Tue, Oct 23, 2018 at 8:43 PM Bo Berglund via Lazarus Ubuntu's Lazarus package is…
Juha Manninen wrote 17 lines
On Tue, Oct 23, 2018 at 8:43 PM Bo Berglund via Lazarus wrote: > lazarus.pp(1,1) Fatal: Cannot find lazcontroldsgn used by Lazarus. Ubuntu's Lazarus package is faulty. Just get the sources directly from Subversion server and build them. svn co https://svn.freepascal.org/svn/lazarus/branches/fixes_2_0/ lazarus_2_0 cd lazarus_2_0 make ./lazarus As an extra bonus you will get latest bug fixes in future by running "svn up". My prediction is that you will ignore this advice and start to bang your head with .deb packages like many others do. The forum is full of threads by those people.

Just out of curiosity, might I ask how you feel about running the .DEBs downloaded from SourceForge?

Brian.

Reply by email

Juha Manninen
to Teresa Williams: I know of no distribution which has both lazarus & fpc in valid packages packages. Some…
AM Teresa Williams wrote
I have done this several times on opensuse Leap 14 and 15. Each time I have had fpc installed first: is that what you meant? Or does the svn repository include fpc now?

Yes, FPC must be installed first. Version 3.02 is enough to build latest Lazarus and most distros have at least that. FPC has its sources in a SVN repository, too, but building FPC is a little more difficult. I don't recommend it for new users. Getting and building Lazarus from sources however is so simple that anybody can do it. Just one "svn co ..." and then "make".

And each time I have had to run make with -j1 Even on multiprocessor machines, parallel make runs into a race condition sooner or later, and report that a package cannot be found. Idle playing with the Makefile hasn't shed any light on why.

I guess you have compiled C code. Free Pascal does not have such problems as far as I know. At least for me "make" has worked always when building Lazarus.
BTW, the default "make" target is "all". You can also use "make bigide" which includes the packages used for releases.

Juha

Reply by email

Juha Manninen
to Brian: Just out of curiosity, might I ask how you feel about running the .DEBs downloaded from…
AM Brian wrote
Just out of curiosity, might I ask how you feel about running the .DEBs downloaded from SourceForge?

Apparently you have not read the forum threads about the issues caused by .DEBs. :)
There are literally hundreds of them. Here is one: http://forum.lazarus-ide.org/index.php/topic,42393 Maybe we should collect them all somehow.

External (not from distro repo) .DEBs are good for people who know the Debian package system well and can fix it when it gets screwed. For everybody else :
* Stay away from external Debian packages! *

Juha

Reply by email

Brian
to Juha Manninen
Juha Manninen wrote 16 lines
On Wed, Oct 24, 2018 at 8:40 AM Brian via Lazarus wrote: > Just out of curiosity, might I ask how you feel about running the > .DEBs downloaded from SourceForge? Apparently you have not read the forum threads about the issues caused by .DEBs. :) There are literally hundreds of them. Here is one: http://forum.lazarus-ide.org/index.php/topic,42393 Maybe we should collect them all somehow. External (not from distro repo) .DEBs are good for people who know the Debian package system well and can fix it when it gets screwed. For everybody else : * Stay away from external Debian packages! *

You're correct, I don't read the forums. I tend to the view that if I can't collect it with Thunderbird, then I don't have time to log in around all the various forums for my different packages, interests etc.

FWIW, all that I've done (using Ubuntu 18.04, but also with previous versions of Ubuntu and Debian) is to lock all the FPC and Lazarus packages against upgrade from the repositories. When a new version comes out, I just download the DEBs from Sourceforge and install those manually. If there's a problem with using the DEBs from Sourceforge, then I'd like to know about it.

Brian.

Reply by email

Juha Manninen
to Brian
AM Brian wrote 6 lines
FWIW, all that I've done (using Ubuntu 18.04, but also with previous versions of Ubuntu and Debian) is to lock all the FPC and Lazarus packages against upgrade from the repositories. When a new version comes out, I just download the DEBs from Sourceforge and install those manually. If there's a problem with using the DEBs from Sourceforge, then I'd like to know about it.

You were lucky then. You must read details of those problems by searching the forum. It can be read also without logging in. The problems go beyond imagination. Here are just a few examples: https://forum.lazarus-ide.org/index.php/topic,42387.0.html https://forum.lazarus.freepascal.org/index.php/topic,41524.0.html https://forum.lazarus.freepascal.org/index.php/topic,41333

I also remember screwing up my Xubuntu package system when installing some external packages.
Finally I switched to a rolling distro which has recent versions of the SW I am interested in.

Building Lazarus from sources using "svn co" and "make" is so easy that I wonder why people refuse to do it.
People want to try anything except for this most obvious and easiest way, including fpcupdeluxe which is an overkill for this simple task.

Juha

Reply by email

Bo Berglund
to Juha Manninen: On Tue, Oct 23, 2018 at 8:43 PM Bo Berglund via Lazarus Ubuntu's Lazarus package is…
Juha Manninen wrote 5 lines
As an extra bonus you will get latest bug fixes in future by running "svn up". My prediction is that you will ignore this advice and start to bang your head with .deb packages like many others do. The forum is full of threads by those people.

No, I decided to go the route of checking out the release sources and build from them. Needed the seed compiler 3.0.0 but advice here led me to where that could be fetched (important: It must be the 64 bit seed compiler!).

So I followed my notes (actually a script) for installing FPC/Lazarus on RaspberryPi devices and it worked just fine. Had to change the Ubuntu desktop to xfce to get a decent start menu where I could install the start item for Lazarus 1.8.4.
Now working fine! Source is the way to go!

But I have another issue:
My ported application uses Indy10 with the SMTP component and it must use SSL. On Windows I have put two SSL dll:s (libeay32.dll and ssleay32.dll) in the executable dir in order to get that going, but on Linux I assume there is another way to get SSL connectivity into an application.
Right now my converted application builds and runs up until the point where it shall connect to the mail server with POP3 over SSL when an exception is generated due to not finding SSL....

Unfortunately I have not found if there are some similar dll type files on Linux that I need for SSL...

Bo Berglund Developer in Sweden

Reply by email

Bo Berglund
to Bo Berglund
Bo Berglund wrote 12 lines
But I have another issue: My ported application uses Indy10 with the SMTP component and it must use SSL. On Windows I have put two SSL dll:s (libeay32.dll and ssleay32.dll) in the executable dir in order to get that going, but on Linux I assume there is another way to get SSL connectivity into an application. Right now my converted application builds and runs up until the point where it shall connect to the mail server with POP3 over SSL when an exception is generated due to not finding SSL.... Unfortunately I have not found if there are some similar dll type files on Linux that I need for SSL...

Seems like it is not a problem with SSL because the application tha crashed when trying to retrieve email sent an exception alert email to me where it actually uses SSL as well!

What was actually shown in one of the dialogs is this:

"The file 'dl-error-skeleton.c' was not found.
Do you want to locate it yourself?"

So maybe a file needed by the Indy10 Pop3 component is not part of the package????

Bo Berglund Developer in Sweden

Reply by email

Juha Manninen
to Bo Berglund: On Wed, 24 Oct 2018 02:38:14 +0300, Juha Manninen via Lazarus No, I decided to go the…
PM Bo Berglund wrote
No, I decided to go the route of checking out the release sources and build from them. Needed the seed compiler 3.0.0 but advice here led me to where that could be fetched (important: It must be the 64 bit seed compiler!).

Why you had to build also FPC from sources? I first understood the problem was about installing Lazarus.

Show quoted text 5 lines
So I followed my notes (actually a script) for installing FPC/Lazarus on RaspberryPi devices and it worked just fine. Had to change the Ubuntu desktop to xfce to get a decent start menu where I could install the start item for Lazarus 1.8.4. Now working fine! Source is the way to go!

Why old Lazarus 1.8.4? Why don't you use the new 2.0 branch?

I don't know about the cross-platform SSL / email issues. Somebody else must answer that.

Juha

Reply by email

Brian
to Juha Manninen: On Wed, Oct 24, 2018 at 11:21 AM Brian via Lazarus You were lucky then. You must read…

On 10/24/2018 05:19 AM, Juha Manninen via Lazarus wrote:

Forgot to change the e-mail address on this post before I sent it, apologies if the other one somehow gets through and it appears twice.

<...>

Show quoted text 5 lines
Building Lazarus from sources using "svn co" and "make" is so easy that I wonder why people refuse to do it. People want to try anything except for this most obvious and easiest way, including fpcupdeluxe which is an overkill for this simple task.

I can't speak for why other people won't do it, but before I retired, I worked for a division of an extremely large company with a 'managed PC' environment, where we were strictly forbidden to install anything which could be regarded as beta-test software, and I'm absolutely certain that the SVN versions would be regarded in that light. *Approved* full releases only, no exceptions! This was in a testing laboratory environment, subject to ISO 9002 regulations, and breaking the policy was a disciplinary offence.

I'm *NOT* defending the policy, just stating that it existed, and that I was subject to it. I had to get a fistful of exemptions from the IT department to be able to do my job as it was, the chances of my getting one to allow me to install incremental builds (of ANYTHING, not just Lazarus) varied from zero to slightly less than that.

Now that I'm safely retired, OK, I'll take your recommendation, give the SVN version a whirl and see how it goes.

Brian.

Reply by email

Brian
to Juha Manninen: On Wed, Oct 24, 2018 at 11:21 AM Brian via Lazarus You were lucky then. You must read…
Juha Manninen wrote 5 lines
Building Lazarus from sources using "svn co" and "make" is so easy that I wonder why people refuse to do it. People want to try anything except for this most obvious and easiest way, including fpcupdeluxe which is an overkill for this simple task.

Well, here's an example for you of why people may refuse to use SVN.

I downloaded the sources via svn and built Lazarus, no problem in that step.

Then I ran V2.0 and started installing some packages I use.

I got the following error on rebuilding Lazarus, line 1134 of IBCustomDataSet, which is

"           Result := ValidUTF8String(TextToSingleLine(Result))"

The error message was "Identifier not found, ValidUTF8String".

Now what?

Brian.

Reply by email

Juha Manninen
to Brian: Well, here's an example for you of why people may refuse to use SVN. I downloaded the…
PM Brian wrote 8 lines
I can't speak for why other people won't do it, but before I retired, I worked for a division of an extremely large company with a 'managed PC' environment, where we were strictly forbidden to install anything which could be regarded as beta-test software, and I'm absolutely certain that the SVN versions would be regarded in that light. *Approved* full releases only, no exceptions! This was in a testing laboratory environment, subject to ISO 9002 regulations, and breaking the policy was a disciplinary offence.

Yes I know there are such policies.
In case of SVN fixes branches for released Lazarus versions, like fixes_1_8, the policy leads to having worse code.
A fixes branch has the code from a release + recent bug fixes. It is better than the release by definition.

PM Brian wrote 13 lines
Well, here's an example for you of why people may refuse to use SVN. I downloaded the sources via svn and built Lazarus, no problem in that step. Then I ran V2.0 and started installing some packages I use. I got the following error on rebuilding Lazarus, line 1134 of IBCustomDataSet, which is " Result := ValidUTF8String(TextToSingleLine(Result))" The error message was "Identifier not found, ValidUTF8String".

Where did you find IBCustomDataSet? I don't find it in FPC or Lazarus sources. ValidUTF8String was deprecated in Lazarus 1.7, then removed in 1.9 and thus 2.0. This is part of the normal deprecation / removal cycle, not related to using SVN.

Is there ValidUTF8String in Delphi? In that case it should be restored preferably into the same unit Delphi has it.
Again this is not related to using SVN.

Juha

Reply by email

Juha Manninen
to Bo Berglund: On Wed, 24 Oct 2018 14:10:33 +0300, Juha Manninen via Lazarus Because it was the latest…
PM Bo Berglund wrote
>Why old Lazarus 1.8.4? Why don't you use the new 2.0 branch? Because it was the latest release tag I found...

You found the release tag in fixes_1_8 branch?
Ok, 2.0 has not been released yet but it will be soon(?). I dare to say it is better now than 1.8.
Thus I recommend fixes_2_0 branch. You will get bug fixes there for years.

Juha

Reply by email

Bo Berglund
to Juha Manninen
Juha Manninen wrote 10 lines
On Wed, Oct 24, 2018 at 4:22 PM Bo Berglund via Lazarus wrote: > >Why old Lazarus 1.8.4? Why don't you use the new 2.0 branch? > Because it was the latest release tag I found... You found the release tag in fixes_1_8 branch? Ok, 2.0 has not been released yet but it will be soon(?). I dare to say it is better now than 1.8. Thus I recommend fixes_2_0 branch. You will get bug fixes there for years.

I have always been using the tags list:
https://svn.freepascal.org/svn/lazarus/tags/
and here are only immutable snapsots where I select the latest not set as RCx.
Is that a bad practice?

Do you mean that say fixes_1_8 contains these tags: lazarus_1_8_0
lazarus_1_8_2
lazarus_1_8_4
and the top of the fixes_1_8 branch has the very latest released fixes?

If I already now have 1_8_4 as a tag and would like to switch it over to the fixes branch, how is that done?

Bo Berglund Developer in Sweden

Reply by email

Bo Berglund
to Bo Berglund: On Wed, 24 Oct 2018 12:19:44 +0200, Bo Berglund via Lazarus Seems like it is not a…
Bo Berglund wrote 6 lines
"The file 'dl-error-skeleton.c' was not found. Do you want to locate it yourself?" So maybe a file needed by the Indy10 Pop3 component is not part of the package????

Now I have nailed the problem with the dl-error-skeleton.c file!

It turns out that this happens if I step through the code using Lazarus' debugging.
When I reach the line:

  IdGetMail.Connect;

and try to step over it I get the message and exception.

But if I just let the program run without breakpoints in the function that collects the email, then there are no exceptions. The code just runs through!

So apparently there is some bad interaction by Lazarus with the GNU debugger in play here....

Bo Berglund Developer in Sweden

Reply by email

Juha Manninen
to Bo Berglund: On Wed, 24 Oct 2018 18:58:44 +0300, Juha Manninen via Lazarus I have always been using…
PM Bo Berglund wrote
I have always been using the tags list: https://svn.freepascal.org/svn/lazarus/tags/ and here are only immutable snapsots where I select the latest not set as RCx. Is that a bad practice?

It is not bad but I think using the HEAD of a fixes branch is even better. Only bug fixes are merged there. New features stay in trunk. Every bug fix makes things better.

Show quoted text 5 lines
Do you mean that say fixes_1_8 contains these tags: lazarus_1_8_0 lazarus_1_8_2 lazarus_1_8_4 and the top of the fixes_1_8 branch has the very latest released fixes?

Yes, except that fixes_1_8 branch is not updated any more as fixes_2_0 took its place.
Here you can see what is already merged for the coming 2.0.0RC2: http://wiki.lazarus.freepascal.org/Lazarus_2.0_fixes_branch Thus the HEAD of fixes_2_0 is already much better than RC1. Most, maybe all, of those bugs exist in Lazarus 1.8.4, thus fixes_2_0 is way better.

If I already now have 1_8_4 as a tag and would like to switch it over to the fixes branch, how is that done?

I gave you instructions earlier in this thread.
This is the fixes_2_0 branch:
https://svn.freepascal.org/svn/lazarus/branches/fixes_2_0/ It may be easiest to do a new "svn checkout" for it and delete the old one.

Juha

Reply by email

Brian
to Juha Manninen: On Wed, Oct 24, 2018 at 3:21 PM Brian via Lazarus Yes I know there are such policies. In…
Juha Manninen wrote 21 lines
On Wed, Oct 24, 2018 at 3:45 PM Brian via Lazarus wrote: > Well, here's an example for you of why people may refuse to use SVN. > > I downloaded the sources via svn and built Lazarus, no problem in that > step. > > Then I ran V2.0 and started installing some packages I use. > > I got the following error on rebuilding Lazarus, line 1134 of > IBCustomDataSet, which is > > " Result := ValidUTF8String(TextToSingleLine(Result))" > > The error message was "Identifier not found, ValidUTF8String". Where did you find IBCustomDataSet? I don't find it in FPC or Lazarus sources. ValidUTF8String was deprecated in Lazarus 1.7, then removed in 1.9 and thus 2.0. This is part of the normal deprecation / removal cycle, not related to using SVN.

I allowed 2.0 to upgrade my 1.8.4 configuration, could that have been the mistake? I'm not sure where IBCustomDataSet came from.

Is there ValidUTF8String in Delphi?

I don't know. This is a Xubuntu 18.04 box, I haven't used Delphi since Delphi 7.

In that case it should be restored preferably into the same unit Delphi has it. Again this is not related to using SVN.

Maybe not, but my point is that I was running the 1.8.4 .DEBs from SourceForge with no problems. I was a research chemist who had to teach himself how to program, not a computer scientist, and errors from deep inside code libraries tend to throw me, especially when it's object oriented code (yes, I'm that old).

Anyway, I started uninstalling packages, and I do now have everything building correctly. Now it's just a case of finding out what I need to try to put back in again.

Brian.

Reply by email

Luca Olivetti
to Juha Manninen: On Wed, Oct 24, 2018 at 1:19 PM Bo Berglund via Lazarus Why you had to build also FPC…

El 24/10/18 a les 13:10, Juha Manninen via Lazarus ha escrit:

Why old Lazarus 1.8.4? Why don't you use the new 2.0 branch?

I still have to keep 1.6.4 around due to a bug with bitpacked records in fpc 3.
I use 1.8.4 for projects I can compile with fpc 3 (even if I provided some bug reports or fixes I don't trust it with fpc 2.6.4). I don't think that lazarus 2 will work with tpc 2.6.4, so I'll wait a while more before trying it.

Bye

Luca Olivetti Wetron Automation Technology http://www.wetron.es/ Tel. +34 93 5883004 (Ext.3010) Fax +34 93 5883007

Reply by email

Sven Barth
to Luca Olivetti
Luca Olivetti wrote 11 lines
El 24/10/18 a les 13:10, Juha Manninen via Lazarus ha escrit: > > Why old Lazarus 1.8.4? Why don't you use the new 2.0 branch? I still have to keep 1.6.4 around due to a bug with bitpacked records in fpc 3. I use 1.8.4 for projects I can compile with fpc 3 (even if I provided some bug reports or fixes I don't trust it with fpc 2.6.4). I don't think that lazarus 2 will work with tpc 2.6.4, so I'll wait a while more before trying it.

What bug do you mean? Did you report it?

Regards,
Sven

Reply by email

Luca Olivetti
to Sven Barth

El 24/10/18 a les 22:11, Sven Barth via Lazarus ha escrit:

Show quoted text 13 lines
Am 24.10.2018 um 21:35 schrieb Luca Olivetti via Lazarus: > El 24/10/18 a les 13:10, Juha Manninen via Lazarus ha escrit: > >> >> Why old Lazarus 1.8.4? Why don't you use the new 2.0 branch? > > I still have to keep 1.6.4 around due to a bug with bitpacked records > in fpc 3. > I use 1.8.4 for projects I can compile with fpc 3 (even if I provided > some bug reports or fixes I don't trust it with fpc 2.6.4). > I don't think that lazarus 2 will work with tpc 2.6.4, so I'll wait a > while more before trying it. What bug do you mean? Did you report it?

https://bugs.freepascal.org/view.php?id=30208

(fixed but *not* in any released version)

I discovered it when my program stopped working and I had to recompile it hastily with fpc 2.6.4.

Bye

Luca Olivetti Wetron Automation Technology http://www.wetron.es/ Tel. +34 93 5883004 (Ext.3010) Fax +34 93 5883007

Reply by email

Sven Barth
to Luca Olivetti
Luca Olivetti wrote 21 lines
El 24/10/18 a les 22:11, Sven Barth via Lazarus ha escrit: > Am 24.10.2018 um 21:35 schrieb Luca Olivetti via Lazarus: >> El 24/10/18 a les 13:10, Juha Manninen via Lazarus ha escrit: >> >>> >>> Why old Lazarus 1.8.4? Why don't you use the new 2.0 branch? >> >> I still have to keep 1.6.4 around due to a bug with bitpacked >> records in fpc 3. >> I use 1.8.4 for projects I can compile with fpc 3 (even if I >> provided some bug reports or fixes I don't trust it with fpc 2.6.4). >> I don't think that lazarus 2 will work with tpc 2.6.4, so I'll wait >> a while more before trying it. > What bug do you mean? Did you report it? https://bugs.freepascal.org/view.php?id=30208 (fixed but *not* in any released version) I discovered it when my program stopped working and I had to recompile it hastily with fpc 2.6.4.

Ah, okay. Then you'll be able to work with the upcoming 3.2 then. Maybe test your code with the fixes_3_2 branch to ensure that everything works? :)

Regards,
Sven

Reply by email

Juha Manninen
to Brian: I allowed 2.0 to upgrade my 1.8.4 configuration, could that have been the mistake? I'm…
PM Brian wrote
Maybe not, but my point is that I was running the 1.8.4 .DEBs from SourceForge with no problems.

Yes but you are confusing unrelated things now.
You were running Lazarus 1.8.4 with no problems because it had only deprecated ValidUTF8String instead of removing it. Using .deb packages was irrelevant. Getting sources for 1.8.4 through SVN would work equally well.
This was in 1.8.4 :
function ValidUTF8String(const s: String): String; inline; deprecated 'Use Utf8EscapeControlChars() instead.';
So the solution is to use Utf8EscapeControlChars() in IBCustomDataSet, whoever maintains it.

Juha

Reply by email

Juha Manninen
to Brian: I allowed 2.0 to upgrade my 1.8.4 configuration, could that have been the mistake? I'm…
PM Brian wrote
... and errors from deep inside code libraries tend to throw me, especially when it's object oriented code (yes, I'm that old).

ValidUTF8String and Utf8EscapeControlChars are global functions. Nothing object oriented there. :)

Looking at the code, ValidUTF8String was first renamed + deprecated and then removed for a reason. The name is misleading. Sounds like it checks the validity of a string while actually it escapes control chars. The new name is good and descriptive.

Juha

Reply by email

Brian
to Juha Manninen
Juha Manninen wrote 8 lines
On Wed, Oct 24, 2018 at 10:16 PM Brian via Lazarus wrote: > ... and errors from deep inside code libraries tend to throw me, > especially when it's object oriented code (yes, I'm that old). ValidUTF8String and Utf8EscapeControlChars are global functions. Nothing object oriented there. :)

I know. I was talking generally, not about this specific problem.

Show quoted text 5 lines
Looking at the code, ValidUTF8String was first renamed + deprecated and then removed for a reason. The name is misleading. Sounds like it checks the validity of a string while actually it escapes control chars. The new name is good and descriptive.

I'm still not sure where the unit came from. I admit that I have some rather old source code on this PC, but the only place I have my old Delphi 7 setup is inside an XP virtual machine.

Brian.

Reply by email