Stupid question?

Stupid question?

This is the first time I have created a package in Delphi 10.1, so I did everything I used to do before. I have :

1. My DPK has been created.
2. I have added all the units into my DPK. ( They are derived from DevExpress components, as we need to subclass )
3. I have added a Register in there ( see screen shot )

I can build the BPL, but I cannot install it I get an error ( see screen shot ). If anyone can explain to me just how stupid I am I would be eternally grateful



Comments

  1. Scrub that; I've just spotted my STUUUUPID mistake !! My DevExpress components are somehow only 32bit only. I switched to 32bit and everything just worked. Got to figure why my DevExpress has only installed as 32bit now and everything will be fine ( I think )

    ReplyDelete
  2. Designtime packages cannot be anything but 32-bit since the IDE is a 32-bit application. Separating runtime and designtime packages is the recommended way since I don't know when...

    ReplyDelete
  3. Tony Danby It's the IDE which is Win32 so it can only load Win32 packages. You can still build runtime packages targeting other platforms.

    ReplyDelete
  4. Stefan Glienke Since packages exist, I think. ;-)

    ReplyDelete
  5. Ondrej Kelle Nope, since they introduced the designide package (that must not be deployed) and introduced designtime-only and runtime-only packages. Around Delphi 6 or so.

    ReplyDelete
  6. Stefan Glienke I wouldn't bet on it but I don't care enough to check it. Thanks anyway!

    ReplyDelete
  7. I thought it was D6 too fwiw. In any cases an eternity.

    ReplyDelete
  8. Stefan Glienke Ondrej Kelle Thanks Guys !!! I think Stefan is right, since the last time I created a package was in D5 and I didn't make a runtime / designtime package just a single package. Do you guys know of any tutorial I can read or watch that shows me how to do this as our subclassed components will be required for 64bit and 32bit windows exe's, so I can't avoid doing it

    ReplyDelete
  9. Can't you avoid needing runtime packages and build everything into your executable. Much simpler.

    ReplyDelete
  10. David Heffernan Not really, we are subclassing the DevExpress components to add a Data dictionary to them and it's not going to be for one application, but several. Previously we hacked ( not me I hasten to add ) the DevExpress source, but this is no longer a viable option given that we are now on a DevExpress subscription.

    ReplyDelete
  11. Tony Danby why shouldn't multiple apps have the same code included? Then you can service them independently. Building is simpler. Whole development process is much easier.

    ReplyDelete
  12. Some applications may be more modular, having a few hundred binaries.
    The only way to work with these, is using shared packages. If it was one monolithic binary, it could be over 100MB.

    Patching this would also be a nightmare if it is a highly distributed installation (installed on every computer in a 1000++ network). Distributing just a single file that is 100MB (or more) could kill your network, if every client downloads it at the same time.

    I'm not saying that everything has to use packages, but recommending that everyone only uses one exe isn't correct either.

    ReplyDelete
  13. Martin Wienold Pros and cons both ways. Many people don't consider monolithic when in fact it would work well.

    Patching binaries one by one is fraught with other risks. People might take one patch but not another and end up with a combination that you have not tested.

    All I said was that if monolithic is worth considering.

    ReplyDelete
  14. DLL hell sucks. Listen now or learn later, the harder way.

    ReplyDelete
  15. Warren Postma David Heffernan I agree with you both, I know in this age of "let's build trendy little modules" it goes against the grain, but DLL hell really is HELL ! I only wanted a designtime and runtime package split because that is what you are "supposed" to do and I do believe that is possibly cleaner and neater a la the old "separation of concerns" school of thought, but I wasn't going to turn the damn things into distributable BPL's - Hell No !!

    ReplyDelete
  16. In that case you don't need the designtime runtime split

    ReplyDelete
  17. David Heffernan Hmmm I think you may be right, I was just trying to do things the recommended way, but hey, I suppose if I was really interested in that way I'd be coding in C# like all the other sheep ;-)

    ReplyDelete
  18. I wish I was coding in C# .......

    You don't need the split when you don't use runtime BPLs. If you are delivering packages as a third party component vendor then you need to have the split so that you can allow your clients to make their own choices. But for your own private use you can do it as you see fit.

    ReplyDelete
  19. Not really having a bash at "coders" more like the "managers" who make sweeping decisions like "We are never using Delphi again, everything is now in C#, we will be using x toolset and x components", "Ok, tell me why?", "Erm, because everyone else is and they must all be right, right?", "Me: Hmmmmm ;-( " ( Not that I'm bitter and twisted, you understand ) - ha ha

    ReplyDelete

Post a Comment