Watch, Follow, &
Connect with Us
Public Report
Report From: Delphi-BCB/ActiveX/Code Generators/TLibImp frontend    [ Add a report in this area ]  
Report #:  70024   Status: Closed
tlibimp cannot handle Licensing information for an ActiveX control
Project:  Delphi Build #:  12.0.3210.17555
Version:    12.1 Submitted By:   Ulf Axelsson
Report Type:  Basic functionality failure Date Reported:  12/19/2008 3:49:26 AM
Severity:    Serious / Highly visible problem Last Updated: 3/20/2012 2:24:39 AM
Platform:    All versions Internal Tracking #:   267430
Resolution: Cannot Reproduce (Resolution Comments) Resolved in Build: : 11.0.2902.10471
Duplicate of:  None
Voting and Rating
Overall Rating: No Ratings Yet
0.00 out of 5
Total Votes: None
Description
Where D2006 successfully generated a _TLB.pas for this ActiveX control, D2009 loses the licensing information. The resulting application can then run only on PC:s where the designtime control is installed.
Steps to Reproduce:
set CONTROL_IMP_ARGS=-P+ -D. -R- Ha+ -Hr+ -HpaSpatialAce -HpsSpatialAce -Hs- -Pt+ -Ps+
set CE_BIN_DIR=C:\Program Files\Common Files\Carmenta\SpatialAce4\bin

tlibimp %CONTROL_IMP_ARGS% "%CE_BIN_DIR%\saacxc.dll"

Resulted in this in D2009:

-------------

procedure TSpaceX.InitControlData;
const
   CEventDispIDs: array [0..12] of DWORD = (
     $FFFFFDA0, $00000001, $00000002, $00000003, $00000004, $00000005,
     $00000006, $00000007, $00000008, $00000009, $0000000A, $0000000B,
     $0000000C);
   CTPictureIDs: array [0..0] of DWORD = (
     $FFFFFDF6);
   CControlData: TControlData2 = (
     ClassID: '{49514C79-C846-4100-9CD0-B2457F2DCF09}';
     EventIID: '{7F58DDA8-2819-4B9C-9D6A-529B8BCC2BA4}';
     EventCount: 13;
     EventDispIDs: @CEventDispIDs;
     LicenseKey: nil (*HR:$80040112*);
     Flags: $00000008;
     Version: 401;
     FontCount: 0;
     FontIDs: nil;
     PictureCount: 1;
     PictureIDs: @CTPictureIDs);
begin
   ControlData := @CControlData;
   TControlData2(CControlData).FirstEventOfs := Cardinal(@@FOnError) -
Cardinal(Self);
end;

-------------

continued in comments
Workarounds
None
Attachment
None
Comments

Ulf Axelsson at 12/19/2008 3:50:11 AM -
While in D2006 I get:

-------------

procedure TSpaceX.InitControlData;
const
   CEventDispIDs: array [0..12] of DWORD = (
     $FFFFFDA0, $00000001, $00000002, $00000003, $00000004, $00000005,
     $00000006, $00000007, $00000008, $00000009, $0000000A, $0000000B,
     $0000000C);
   CLicenseKey: array[0..59] of Word = ( $0053, $0070, $0061, $0074,
$0069, $0061, $006C, $0041, $0063, $0065, $0034
     , $0020, $0041, $0063, $0074, $0069, $0076, $0065, $0058, $0020, $0043
     , $006F, $006E, $0074, $0072, $006F, $006C, $002C, $0020, $0043, $006F
     , $0070, $0079, $0072, $0069, $0067, $0068, $0074, $0020, $0028, $0063
     , $0029, $0020, $0031, $0039, $0039, $0039, $0020, $0043, $0061, $0072
     , $006D, $0065, $006E, $0074, $0061, $0020, $0041, $0042, $0000);
   CTPictureIDs: array [0..0] of DWORD = (
     $FFFFFDF6);
   CControlData: TControlData2 = (
     ClassID: '{49514C79-C846-4100-9CD0-B2457F2DCF09}';
     EventIID: '{7F58DDA8-2819-4B9C-9D6A-529B8BCC2BA4}';
     EventCount: 13;
     EventDispIDs: @CEventDispIDs;
     LicenseKey: @CLicenseKey;
     Flags: $00000008;
     Version: 401;
     FontCount: 0;
     FontIDs: nil;
     PictureCount: 1;
     PictureIDs: @CTPictureIDs);
begin
   ControlData := @CControlData;
   TControlData2(CControlData).FirstEventOfs := Cardinal(@@FOnError) -
Cardinal(Self);
end;

-------------

The (*HR:$80040112*) text seems to indicate an error of some sort while
extracting the license info for D2009.

Server Response from: ETNACODE01