Watch, Follow, &
Connect with Us
Public Report
Report From: Delphi-BCB/ActiveX/Code Generators/Internal representation    [ Add a report in this area ]  
Report #:  58517   Status: Closed
TLB Import always generates "Component Wrappers"
Project:  Delphi Build #:  11.0.2902.10471
Version:    11.0 Submitted By:   Daniel Bernhard
Report Type:  Minor failure / Design problem Date Reported:  2/20/2008 8:47:33 AM
Severity:    Serious / Highly visible problem Last Updated: 1/11/2013 7:48:10 AM
Platform:    All platforms Internal Tracking #:   261821
Resolution: Fixed (Resolution Comments) Resolved in Build: : 16.0.4429.46931
Duplicate of:  None
Voting and Rating
Overall Rating: (1 Total Rating)
4.00 out of 5
Total Votes: None
Description
The "Import Component" Dialog allows to select wheter "Component Wrappers" should be generated. Delphi 2007 however ignores the flag and always generates this code.

The only difference is, that no palette page is selected for the components.
Steps to Reproduce:
The example can be reproduced with any COM Server. The example was done using the Adobe 8 Server.

1) Use the Menu "Component - Import Component..."
2) Select "Import Type Library", Press "Next"
3) Select any Type Library (Example uses Adobe Acrobat 8.0 Type Library), Press "Next"
4) Deselect "Generate Component Wrappers", Select the desired unit dir directory, Press "Next"
5) Select "Create Unit", Press "Finish"
6) Search for "TOleServer"

If the same test is repeated with Delphi 2006, no occurence of TOleServer will be found.
Workarounds
Use Delphi 2006 for importing TLB's without component wrappers.

If not available: Delete all classes derived from TOleServer along with their property property classes (Only CoClasses should be present).
Attachment
TLB_Importer.zip
Comments

Roger Dunn at 9/9/2008 9:46:33 AM -
I, too, do not like it when it does this.  Even my very own library that was written in Delphi, when it gets imported into Delphi 2007, I get the ActiveX component on my palette, which is desired, but I also get the dozen other COM objects in my component palette which I do NOT want.

Roger Dunn at 4/3/2009 3:45:39 PM -
I've relegated to just reading each Delphi's version of tlibimp, making a batch file for each type library the way I want it imported, and leaving it at that.

Daniel Bernhard at 1/11/2013 3:43:13 AM -
This has been fixed in the meanwhile (tested in XE3)

Tomohiro Takahashi at 1/11/2013 7:48:46 AM -
Thanks for the confirmaion.

Server Response from: ETNACODE01