All my Third-party RCL's Toolbars dissapearing with v10.06
Third-party RCLs Toolbar disappearing with v10.06
Have any one else noticing this?
After upgrading to RB v10.06 and re-installing all my RB third-party
components everything work OK, but after re-starting Delphi all RCL's
toolbars will disappear from the RB IDE, strangely their BPL's are listed as
"Installed" in Delphi IDE.
In my case is happening with RBGridPack and RBEan Barcode Library.
Regards
Carlos
Have any one else noticing this?
After upgrading to RB v10.06 and re-installing all my RB third-party
components everything work OK, but after re-starting Delphi all RCL's
toolbars will disappear from the RB IDE, strangely their BPL's are listed as
"Installed" in Delphi IDE.
In my case is happening with RBGridPack and RBEan Barcode Library.
Regards
Carlos
This discussion has been closed.
Comments
The BDS IDE introduced in D2005 implements optimized/demand package loading.
It only loads the packages that it thinks it needs. This does not work for
RCL components - the solution is to add a line of code to force the package
to be loaded.
For an example check out RBuilder\Demos\RCL. You will find that myReg.pas
contains a line of code that looks like this.
procedure Register;
begin
{$IFDEF Delphi9}
ForceDemandLoadState(dlDisable);
{$ENDIF}
...
end;
--
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
The line you mention has been in the RBGridPack for long time and in the
RBEan as well, so I think I forgot to mention that everything was working
fine until v10.06, I have also found your message concerning this same
problem in Borland QC from Jan-2005 and it is exactly the description of my
problem.
But in my case it just started happening, I test 2 other computers upgrading
to BDS2006/RB v10.06 and they start showing the same problem.
Now may be this has nothing to do with it but in the History changes for
v10.06 I see that something change in ppDesignerTools, ppIDE and ppToolbars,
I had some problems compiling this same Third-Party RCL's but changing
ppDesignerTools to ppToolResource fix the problem and I was able to
Compile/Install, but then the ToolBars of this RCL's did not show in the RB
IDE after a Delphi restart.
As I said may be it is coincidence but I do not know where else to look.
Does this make any sense?
Regards
Carlos
I do have the ForceDemandLoadState(dlDisable) line in the Register
procedure since RB9, but still the customer has the problem with BDS2006 and
RBv10.0.6, but by rolling back to RBv10.0.2 and BDS2006, the problem
disappeared, what am I missing in addition to replace ppDesignerTools with
ppToolResources?
Regards,
William
- If you manually remove and re-add the package at Delphi design-time, then
does the component re-appear on the Report Designer palette. (If so, then
that would indicate an issue with the package not being loaded by the Delphi
IDE). You can try putting some ShowMessage calls in your registration unit -
such as the Initialization section and the Register section. Another
possibility is that your package is being loaded too early - before the RB
packages get loaded, perhaps - I don't know whether that is possible or not.
- I do not think anything has changed since RB 10.0, other than we removed
some unused units. Check out the RBuilder\Demos\RCL example. The sample
checkbox works properly.
--
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
That will Negative, adding the BPL will not do it.
The package is checked in the "Design Packages" dialog, but the only way to
make "temporarily" reappear in the Report Designer palette is by removing
the BPL via the "Design Packages" dialog, then Re-Compile/Re-Install the DPK
again, after that you have it back in the Report Designer palette as long
you do not restart Delphi, so it must be loading it differently when you do
it manually than when Delphi Starts.
Also Barcode Library by PSOFT has the same problem, the toolbar disappear
from the palette after upgrading to v10.06 and restarting Delphi.
Regards
Carlos
Is "ForceDemandLoadState(dlDisable)" only for D2005 or need to use it for
BDS2006/2007 as well?
William
Required for all BDS IDE - D2005, D2006, D2007 and my guess is that it will
be required for the future. Optimized package loading is a good thing, I
don't see them removing it. However, the Delphi IDE optimization logic
cannot auto-detect that the RCL components need to be loaded. We have the
same issue with the DADE plug-ins.
--
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
I found a temporary workaround, I change dclRB9GridPack.bpl registry key
"Demand Load Package" from 1 to 0, but because every time I close Delphi the
value returns to 1 I exported the KEY to a ".reg" file on the desktop that I
must run every time before opening Delphi, and now it woks every time with
RB v10.06.
The strange thing is that I only change the GridPack entry and that also
makes RBEan package Toolbar to appear in the RB Design Time palette.
The complete key is:
[HKEY_CURRENT_USER\Software\Borland\BDS\4.0\Package
Cache\dclRB9GridPack.bpl]
"Demand Load Package"="0"
Hope it helps find a solution.
Regards
Carlos
has "ForeceDemandLoadState(dlDisable)", the rest don't have.
Thanks
William
D2005 and up? or just D2005?
BDS2006, it was working fine for long long time until RB v10.06
Regards
This is not a problem with RB. Please re-read this thread.
- I clearly stated that ForceDemandLoadState is required for D2005, D2006,
D2007....
- William clearly stated that GridPack only implements ForceDemandLoadState
for D2005. Thus the problem.
- Again, please see RBuilder\Demos\RCL for an example of a correctly
implemented RCL component.
--
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
because i want to update to 10.6 in the next time, did you support 10.06 and
also D2007?
--
best regards
chris (EULANDA)
www.eulanda.com
ERP SOLUTIONS
Sorry Nard I think I was not clear, I said in my previous thread that I
adjust the component my self long ago, this was when I move from D7 to D2006
and it was as simple as changing the line {$IFDEF VER170} to {$IFDEF
VER180}, since then everything was OK until recently with RB v10.06.
Again I made the change my self and William confirm me that that change is
the only one to make it work with D2006/RB v10.+
It complies unless William says otherwise.
So I insist something change in 10.06, I have test 4 machines now, one I
even re-format it, install D2006, RB v10.02 eveything was OK until upgrading
to RB v10.06.
Carlos
Replace unit ppDesignerTools with ppToolResources, you are able to upgrade
the current version of GridPack to 10.0.6 and D2007
William
changing the dclRB9GridPack.bpl registry key "Demand Load Package" from 1 to
0.
Why not above workaround only makes GridPack appear instead of both GridPack
and RBEan?
Carlos