Doug
2/8/2007 10:24:00 AM
On Wed, 7 Feb 2007 12:18:42 +0100, "Armin Zingler" <az.nospam@freenet.de> wrote:
>I don't know whether the .reg file is a replacement, but I usually only
>deploy the DLL, then use regasm.exe /tlb to register the files on the client
>machine and to have the tlb file created.
>
>Armin
>PS: I don't see the relation to VB.Net.
(You are right, I posted in VB.net instead of plain VB. Sorry)
Hi,
I tried what you said (using "regasm xx.dll /tlb"). I noticed a slight improvement, in the sense
that now, in VB6, when adding a reference to the COM object, I do see an entry named
"Prod_CC1100_Test" in the list of possible things to reference to. Before, I needed to click on
"browse" and look for the .tlb. Other than that, I see no other differences. I still see my class
and its methods with the object inspector, but I continue getting the same automation error :-(
Some possibly helpful info:
- On PC2, I did not unregister what the execution of the .reg had caused. I used the same GUIDs
(hoping that I would end up overwriting the same entries in the registry), built the DLL on PC1,
copied only the .dll to C:\xxx\dll\Prod_CC1100_Test.dll on PC2, run there the "regasm xx.dll /tlb"
(it said everything went ok) and started a fresh VB6 project.
- I corrected the name C_Proc_CC1100_Test (which was screwed up) to C_Prod_CC1100.
- On PC2 (with Windows XP), the installations of .NET Framework 2.0 and Visual Studio 6.0 are both
fresh.
- The VB6 project does not need to reference anything else. I list some code below, exactly as it
shows up.
I see, in the .vbp file, some reference to stdole2.tlb, which I'm not using, at least intentionally.
I also see another line in the same file mentioning "Automation", which seems to be related to the
error.
Any more hints?
Thanks a lot,
Tremendo
%%%%%%%%%%%%%%%%%%%%%%%%
Contents of Form1.frm
%%%%%%%%%%%%%%%%%%%%%%%%
VERSION 5.00
Begin VB.Form Form1
Caption = "Form1"
ClientHeight = 3090
ClientLeft = 60
ClientTop = 450
ClientWidth = 4680
LinkTopic = "Form1"
ScaleHeight = 3090
ScaleWidth = 4680
StartUpPosition = 3 'Windows Default
Begin VB.CommandButton Command1
Caption = "Command1"
Height = 975
Left = 240
TabIndex = 0
Top = 240
Width = 1095
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub Command1_Click()
Dim JCMLib As C_Prod_CC1100_Test
Set JCMLib = New C_Prod_CC1100_Test
End Sub
%%%%%%%%%%%%%%%%%%%%%%%%
Contents of Proyecto1.vbp
%%%%%%%%%%%%%%%%%%%%%%%%
Type=Exe
Reference=*\G{00020430-0000-0000-C000-000000000046}#2.0#0#..\..\WINDOWS\system32\stdole2.tlb#OLE
Automation
Reference=*\G{D06A2026-F1D6-454E-BE4C-D4CCD41CC861}#1.0#0#..\dll\Prod_CC1100_Test.tlb#Prod_CC1100_Test
Form=Form1.frm
Startup="Form1"
Command32=""
Name="Proyecto1"
HelpContextID="0"
CompatibleMode="0"
MajorVer=1
MinorVer=0
RevisionVer=0
AutoIncrementVer=0
ServerSupportFiles=0
VersionCompanyName="JCM"
CompilationType=0
OptimizationType=0
FavorPentiumPro(tm)=0
CodeViewDebugInfo=0
NoAliasing=0
BoundsCheck=0
OverflowCheck=0
FlPointCheck=0
FDIVCheck=0
UnroundedFP=0
StartMode=0
Unattended=0
Retained=0
ThreadPerObject=0
MaxNumberOfThreads=1
[MS Transaction Server]
AutoRefresh=1
%%%%%%%%%%%%%%%%%%%%%%%%