softtouch 9 Posted August 18, 2023 I create a new package, add a form, compile and the ide add the needed dcp files like rtl.dcp etc. The bpl gets created just fine. Now I drop the synedit memo on the form, compile, and it popup: Add SynEditDR. SynEditDR contains implicit unit(s) SynEdit, SynEditDragDrop, SynEditDataObject, SynEditExport, SynEditStrConst, SynEditMiscProcs, SynDWrite, SynEditTypes, SynUnicode, SynEditTextBuffer, SynHighlighterMulti, SynEditHighlighter, SynEditMiscClasses, SynEditCodeFolding, SynEditKeyConst, SynExportHTML, SynEditWordWrap, SynEditUndo, SynEditKeyCmds, SynEditScrollBars, SynEditKbdHandler. und when I allow to add them, I get an error: [dcc64 Fatal Error] Package1.dpk(35): E2202 Required package 'SynEditDR' not found Synedit works just fine in a normal vcl app. What am I doing wrong? There are a handful of 3rd. party components doing exactly the same, when added to a form in a bpl project. Share this post Link to post
Uwe Raabe 2057 Posted August 18, 2023 22 minutes ago, softtouch said: und when I allow to add them You probably didn't allow to add the units, but allowed to add SynEditDR to the requires clause instead. If you deny that request, the units are compiled into your package. If you want to make use of the SynEdit package you must make sure that SynEditDR.dcp can be found during compile and deploy the corresponding bpl with your application. Share this post Link to post
softtouch 9 Posted August 18, 2023 Oh heck, I would have to deploy a lot of bpl then. I think I will just switch to use a dll instead of a bpl. I just tried it with a dll, and no issue at all, the 3rd. party control are displayed just fine. Share this post Link to post
PeterBelow 238 Posted August 18, 2023 22 minutes ago, softtouch said: Oh heck, I would have to deploy a lot of bpl then. I think I will just switch to use a dll instead of a bpl. I just tried it with a dll, and no issue at all, the 3rd. party control are displayed just fine. Be careful here. A DLL contains a different instance of the memory manager (unless you use ShareMem) and all the RTL and VCL code than the host application. Better make sure the DLL interface for the host app is written using API or COM compatible data types in the parameters exclusively, otherwise you may run into any number of weird problems. Share this post Link to post
softtouch 9 Posted August 18, 2023 2 hours ago, PeterBelow said: Be careful here. A DLL contains a different instance of the memory manager (unless you use ShareMem) and all the RTL and VCL code than the host application. Better make sure the DLL interface for the host app is written using API or COM compatible data types in the parameters exclusively, otherwise you may run into any number of weird problems. Thanks. I use sharemem, and I played around a little, and it seems to work fine as of now. Share this post Link to post