Watch, Follow, &
Connect with Us

For forums, blogs and more please visit our
Developer Tools Community.


Welcome, Guest
Guest Settings
Help

Thread: Finishing up FMX application


This question is answered.


Permlink Replies: 7 - Last Post: Jul 17, 2016 9:10 PM Last Post By: Curtis Manwaring
Curtis Manwaring


Posts: 13
Registered: 10/21/02
Finishing up FMX application  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jul 17, 2016 2:38 AM
I've been working for nearly 2 years now converting VCL code to FMX and have a total of about 361,000 lines in the windows version. I was still able to keep using TClientDataSet but used live bindings for the atlas (based on geonames data). I already ported a subset of this program as the Terran Atlas which is also working on native Mac in addition to Windows. I use an old version of InstallShield that came with Delphi 7 and wonder if it's capable of dealing with the user accounts other than admin level. When I install to my iMac (windows side Boot Camp) I have no problems, but installation to other machines gives various errors. One of those is "failed to load midas.dll". I don't know what that's about because Datasnap.midas is in the uses clause (I placed that in the uses where my TClientDataSet resides). I can't add midas.dll to the installation (as suggested by an old outdated article by Cary Jensen) because the MSI generates an error (failed to pick up D-COM).

Does anyone know what files might be missing on a users machine that would be present on a machine with Delphi 10 Seattle? The activity log when running the application doesn't seem to point to anything missing. The other mystery is why I don't have any problems with the Terran Atlas TClientDataSet architecture running on other machines since this also makes use of midas.dll.

As for the InstallShield that came with Delphi 7 back around 2001, is there something better that can handle user accounts without admin privileges? (without costing $1000+ that is).

I've been fighting a number of bugs in Delphi 10 Seattle and wonder if that's part of the problem with the release.

--
Curtis Manwaring
Markus Humm

Posts: 5,113
Registered: 11/9/03
Re: Finishing up FMX application
Helpful
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jul 17, 2016 7:38 AM   in response to: Curtis Manwaring in response to: Curtis Manwaring
Am 17.07.2016 um 11:38 schrieb Curtis Manwaring:
I've been working for nearly 2 years now converting VCL code to FMX and have a total of about 361,000 lines in the windows version. I was still able to keep using TClientDataSet but used live bindings for the atlas (based on geonames data). I already ported a subset of this program as the Terran Atlas which is also working on native Mac in addition to Windows. I use an old version of InstallShield that came with Delphi 7 and wonder if it's capable of dealing with the user accounts other than admin leve
l. When I install to my iMac (windows side Boot Camp) I have no problems, but installation to other machines gives various errors. One of those is "failed to load midas.dll". I don't know what that's about because Datasnap.midas is in the uses clause (I placed that in the uses where my TClientDataSet resides). I can't add midas.dll to the installation (as suggested by an old outdated article by Cary Jensen) because the MSI generates an error (failed to pick up D-COM).

Does anyone know what files might be missing on a users machine that would be present on a machine with Delphi 10 Seattle? The activity log when running the application doesn't seem to point to anything missing. The other mystery is why I don't have any problems with the Terran Atlas TClientDataSet architecture running on other machines since this also makes use of midas.dll.

As for the InstallShield that came with Delphi 7 back around 2001, is there something better that can handle user accounts without admin privileges? (without costing $1000+ that is).

I've been fighting a number of bugs in Delphi 10 Seattle and wonder if that's part of the problem with the release.

--
Curtis Manwaring

Hello,

you might give Inno Setup a try.
It is free but requores you to set up your project in some editor.
There's a faik a installer builder available for it if your needs are
not too complex.

Inno Setup can even use Pascal Script for more complex logic.

Greetings

Markus
Gilbert Padilla

Posts: 315
Registered: 3/8/04
Re: Finishing up FMX application
Helpful
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jul 17, 2016 8:24 AM   in response to: Markus Humm in response to: Markus Humm
"you might give Inno Setup a try."

+1
Curtis Manwaring


Posts: 13
Registered: 10/21/02
Re: Finishing up FMX application  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jul 17, 2016 2:00 PM   in response to: Curtis Manwaring in response to: Curtis Manwaring
Thanks for the suggestion. I'll do that.

It turns out that if midas.dll is placed in the [install] directory, then the program works. What I don't understand is why midas isn't being bound into the executable upon compilation as it's supposed to. The TClientDataSet components make use of the uses clause and I wouldn't think I should have to remember to distribute midas.dll with the package. The other mystery is that I have the atlas as a stand alone application with the same TClientDataSet components and that one works without midas.dll being present. Is there some compiler option that I'm missing? I looked through runtime packages in the project options, but they all look the same for both projects.
Jeremy North

Posts: 402
Registered: 9/20/99
Re: Finishing up FMX application
Correct
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jul 17, 2016 6:26 PM   in response to: Curtis Manwaring in response to: Curtis Manwaring
Curtis Manwaring wrote:
Thanks for the suggestion. I'll do that.

It turns out that if midas.dll is placed in the [install] directory, then the program works. What I don't understand is why midas isn't being bound into the executable upon compilation as it's supposed to. The TClientDataSet components make use of the uses clause and I wouldn't think I should have to remember to distribute midas.dll with the package. The other mystery is that I have the atlas as a stand alone application with the same TClientDataSet components and that one works without midas.dll being present. Is there some compiler option that I'm missing? I looked through runtime packages in the project options, but they all look the same for both projects.

Include the MidasLib unit in your app. Note - that won't work for all platforms, just windows.
Curtis Manwaring


Posts: 13
Registered: 10/21/02
Re: Finishing up FMX application  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jul 17, 2016 8:40 PM   in response to: Jeremy North in response to: Jeremy North
Jeremy North wrote:
Curtis Manwaring wrote:
Thanks for the suggestion. I'll do that.

It turns out that if midas.dll is placed in the [install] directory, then the program works. What I don't understand is why midas isn't being bound into the executable upon compilation as it's supposed to. The TClientDataSet components make use of the uses clause and I wouldn't think I should have to remember to distribute midas.dll with the package. The other mystery is that I have the atlas as a stand alone application with the same TClientDataSet components and that one works without midas.dll being present. Is there some compiler option that I'm missing? I looked through runtime packages in the project options, but they all look the same for both projects.

Include the MidasLib unit in your app. Note - that won't work for all platforms, just windows.

Thanks but that's what the outdated Cary Jensen article suggested. Problem is that MidasLib couldn't be resolved from that unit. I suppose I could add the path to the bin directory in the program search paths option. I tried Datasnap.Midas in the uses clause but for some reason I still get the error. Placing midas.dll in the install directory works. Is MidasLib outdated? I thought for some reason it was renamed Datasnap.

If MidasLib could be resolved, I could just use {IFDEF MSWINDOWS} for that section. On the mac side, I already have deployment set for midas.dylib.

--
Curtis Manwaring
Curtis Manwaring


Posts: 13
Registered: 10/21/02
Re: Finishing up FMX application  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jul 17, 2016 9:04 PM   in response to: Jeremy North in response to: Jeremy North
Jeremy North wrote:

Include the MidasLib unit in your app. Note - that won't work for all platforms, just windows.

I managed to get the unit to resolve and it beefed up the exe file at least 300 KB so I assume that this will work.

--
Curtis Manwaring
Curtis Manwaring


Posts: 13
Registered: 10/21/02
Re: Finishing up FMX application  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jul 17, 2016 9:10 PM   in response to: Curtis Manwaring in response to: Curtis Manwaring
I don't understand why MidasLib didn't resolve and Datasnap.midas did. They're both in the same directory. Strange...
Legend
Helpful Answer (5 pts)
Correct Answer (10 pts)

Server Response from: ETNAJIVE02