Jump to content
ap2021

ICS control list on the palette

Recommended Posts

I have 2 similar projects, looking at them side by side, both have a TDataModule-descendant form, but ICS control lists offered are very different. One did not have VCL assigned, I did that manually in .DPROJ and restarted IDE. Both have the same Win32 platform. Switching to Win64 greys out some entries, keeping the same long list in the good project, but in the bad project, there are only 4 controls offered under ICS SSL (and one is greys out in x64). Trying to copy the controls from form to form produces an error:

image.png.b0f041cbeeed109c4926b34436d59260.png

 

Search path is the same in both. Can this be somehow controlled?

Share this post


Link to post

Sorry, no idea what are doing here, you will need to clarify your problem. 

 

I'm not aware of any 'list' of ICS components that is different for Win32/64, they are all Win32 on the palette, and all build for Win64.

 

Angus

 

Share this post


Link to post

Are you sure both are VCL (or FMX) application?

Does the ICS demos work ?

1 hour ago, ap2021 said:

I did that manually in .DPROJ

That's not a good idea! Only experts could modify .dproj files manually. You must use project options to change the dproj which the IDE create and update for you.

I suggest you delete (or move to a backup directory) all your dpr and dproj files. Then start new empty projects and add your forms and datamodules to the project. Remove the empty form created at the same time as the project, make sure that your mainform is selected as mainform. All that using the IDE only. Do *NOT* change any dpr or dproj file manually. Make sure ICS source and include directories are in the project option for target "All configurations" (Building / Delphi compiler / Search path).

Share this post


Link to post
14 hours ago, FPiette said:

Are you sure both are VCL (or FMX) application?

Does the ICS demos work ?

That's not a good idea! Only experts could modify .dproj files manually. You must use project options to change the dproj which the IDE create and update for you.

I suggest you delete (or move to a backup directory) all your dpr and dproj files. Then start new empty projects and add your forms and datamodules to the project. Remove the empty form created at the same time as the project, make sure that your mainform is selected as mainform. All that using the IDE only. Do *NOT* change any dpr or dproj file manually. Make sure ICS source and include directories are in the project option for target "All configurations" (Building / Delphi compiler / Search path).

Francois, thanks, but you cannot modify this setting from the IDE, it's a Delphi thing, hence half the time you have to manually edit .DPROJ. Sure, it all works, and if I were to redo it all from scratch, I'm sure it'll work, I must still be missing some tiny difference in some file there. I can manually add these components to PAS/DFM and it builds, but it would not display the controls on this one form for me and would pop up warnings along the way. I wish they finally fixed this DPROJ mess.

 

This question probably does not belong in this forum, it has nothing to do with ICS and there's probably nothing you couyld do from your side, sorry for that.

Share this post


Link to post
15 hours ago, Angus Robertson said:

Sorry, no idea what are doing here, you will need to clarify your problem. 

 

I'm not aware of any 'list' of ICS components that is different for Win32/64, they are all Win32 on the palette, and all build for Win64.

 

Angus

 

Angus, my test case is to create a new DLL project, add Data Module and try placing any ICS controls on it - very few show as available. There's something about Libraries that ICS does not like, it would seem.

 

Is this what you would expect? Or anything you can change?

 

The same happens with projects created by DataSnap WebBroker wizard (targeting Windows/IIS ISAPI).

 

But remarkably, a Windows/ISAPI projects created by IntraWeb wizard do not have this issue: I can see and use all ICS components on any of the 3 modules/forms it creates. So, perhaps it's not the fact that it's a Library? It's got to be something else.

Edited by ap2021

Share this post


Link to post
8 hours ago, ap2021 said:

Francois, thanks, but you cannot modify this setting from the IDE, it's a Delphi thing

What i said can be done with the IDE. You know I'm using Delphi since the first version in 1995, maybe before your own birth.

 

8 hours ago, ap2021 said:

hence half the time you have to manually edit .DPROJ.

No, you don't need to edit the dproj file. If you do, you will likely mess it.

 

8 hours ago, ap2021 said:

This question probably does not belong in this forum, it has nothing to do with ICS and there's probably nothing you could do from your side, sorry for that.

I'm sure.

Please leave this conversation and restart a new one in the appropriate forum. Try to better describe your problem there.

Share this post


Link to post

I have never used ICS components in a Data Module.  I always create components in code for non-GUI applications.,

 

Angus

 

Share this post


Link to post
34 minutes ago, Angus Robertson said:

I have never used ICS components in a Data Module. 

That makes no difference. A datamodule is just a kind of form without UI at runtime. It's just an easy way to use the object inspector to assign properties and events to the non-visual components and keep thing in various units.

Share this post


Link to post
5 hours ago, FPiette said:

> I'm using Delphi since the first version in 1995

So am I, pirated it on floppies too. And you are just being rude. I have not only described this issue perfectly, I have also provided 3 easy reproducible test cases, 2 of which exhibit this issue and 1 does not.

 

Anyway, it boiled down to the multi-platform garbage DataSnap wizard adds to the DPROJ. And _manually_ removing it, fixes this issue: after that, all ICS components become available.

 

So while yes, it's a Delphi problem, you should document it on your side as well: without this knowledge, ICS is not easily usable in DataSnap or DLL projects. And it is a manual DPROJ editing task, there's no GUI for that in IDE. I should probably advertise a class on how to do that 😉

Edited by ap2021

Share this post


Link to post
4 hours ago, Angus Robertson said:

I have never used ICS components in a Data Module.  I always create components in code for non-GUI applications.,

 

Angus

 

It's just convenient sometimes, that's all.

 

PS: Manually removing multi-platform garbage from DPROJ files in Notepad has now become almost mandatory. I started doing that because a) all that did not make any sense there and b) it was wasting space, but now it's easy to see how that garbage is actually causing problems.

Share this post


Link to post
28 minutes ago, ap2021 said:

Manually removing multi-platform garbage from DPROJ files in Notepad has now become almost mandatory. I started doing that because a) all that did not make any sense there and b) it was wasting space, but now it's easy to see how that garbage is actually causing problems.

I never had any issue with what you call garbage.

I'm afraid that the problems you are experiencing actually come from your "manual" manipulation of the dproj.

31 minutes ago, ap2021 said:

it was wasting space

The whole dproj file is not big. This count for nothing in disk space.

Share this post


Link to post
40 minutes ago, ap2021 said:

DataSnap wizard

I don't need DataSnap: I have ICS which does it all.

Share this post


Link to post
9 hours ago, FPiette said:

I don't need DataSnap: I have ICS which does it all.

Does ICS offer anything to create ISAPI modules or filters for IIS?

 

MS warns that "HTTP.sys isn't compatible with the ASP.NET Core Module and can't be used with IIS or IIS Express.", therefore there may be compatibility issues there.

 

In my scenario, I also intend to run this on a Plesk-managed server, which offers full remote management for IIS, as well as setting up free Let's Encrypt certificate and automatically renewing it every 3 months - this latter is my main reason to use this IIS setup and not http.sys. If I can reproduce it with ICS components, I will certainly try.

Share this post


Link to post
7 hours ago, ap2021 said:

Does ICS offer anything to create ISAPI modules or filters for IIS?

 

MS warns that "HTTP.sys isn't compatible with the ASP.NET Core Module and can't be used with IIS or IIS Express.", therefore there may be compatibility issues there.

 

In my scenario, I also intend to run this on a Plesk-managed server, which offers full remote management for IIS, as well as setting up free Let's Encrypt certificate and automatically renewing it every 3 months - this latter is my main reason to use this IIS setup and not http.sys. If I can reproduce it with ICS components, I will certainly try.

Please stay on subject. This forum is for ICS only. If you have question about ICS, you are welcome here. For IIS and other subjects please use one of the many other forums on this server.

One more note: you are deviating significantly from the original topic of this discussion. Please create a new discussion for each topic. Here we have a forum and not a chat.

 

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×