G
Guest
Hi,
What is the right way to create an OCX COM component. The component is
already registerred, but can't create an instance. I am using the reference
to the interop module created.
If I use javascript or vbscript it works.
I will appreciate any help.
I do the following (C#):
Attempt # 1:
using System;
using MTMicrImage; // reference to the component
public class oMirImage : MTMicrImage.MicrImage // derives from interface
{
// create an instance of the base to use it in the implementation
private MTMicrImage.MicrImageClass obase = new
MTMicrImage.MicrImageClass();
public oMicrImage()
{
}
#region methods
// All methods go here
# endregion
#region properties
// All properties go here
#endregion
}
Whn compiling I get an error saying "MTMicrImage.MicrImageClass " is not
accessible due to its protection level
Same happend if the class inherits from the base clalss and the inteface as
follows:
..
..
public class oMirImage : MTMicrImage.MTMicrImageClass,
MTMicrImage.MicrImage // derives from interface
Attempt # 2
using System;
using MTMicrImage; // reference to the component
using System.Reflections;
public class oMirImage : MTMicrImage.MicrImage // derives from interface
{
private MTMicrImage.MicrImageClass obase; // his works of not "new"
is specified, but has null value.
public oMicrImage()
{
}
private object createInstance()
{
object obj = null;
try
{
obj =
Activator.CreateCOMObjectFrom"c:\\Interop.file.dll",
"InstanceMane");
}
catch (Exception e)
{
}
return obj;
}
#region methods
// All methods go here
# endregion
#region properties
// All properties go here
#endregion
}
Same problem as above.
Want something weird! Read below:
If I use vb scripting or javascript it works:
//using javascript
var oMicrImage = WScript.CreateObject("MTMicrImage.MicrImage")
Thjis works, it creates the object just right.
Thank you for your time.
Carlos Lozano
What is the right way to create an OCX COM component. The component is
already registerred, but can't create an instance. I am using the reference
to the interop module created.
If I use javascript or vbscript it works.
I will appreciate any help.
I do the following (C#):
Attempt # 1:
using System;
using MTMicrImage; // reference to the component
public class oMirImage : MTMicrImage.MicrImage // derives from interface
{
// create an instance of the base to use it in the implementation
private MTMicrImage.MicrImageClass obase = new
MTMicrImage.MicrImageClass();
public oMicrImage()
{
}
#region methods
// All methods go here
# endregion
#region properties
// All properties go here
#endregion
}
Whn compiling I get an error saying "MTMicrImage.MicrImageClass " is not
accessible due to its protection level
Same happend if the class inherits from the base clalss and the inteface as
follows:
..
..
public class oMirImage : MTMicrImage.MTMicrImageClass,
MTMicrImage.MicrImage // derives from interface
Attempt # 2
using System;
using MTMicrImage; // reference to the component
using System.Reflections;
public class oMirImage : MTMicrImage.MicrImage // derives from interface
{
private MTMicrImage.MicrImageClass obase; // his works of not "new"
is specified, but has null value.
public oMicrImage()
{
}
private object createInstance()
{
object obj = null;
try
{
obj =
Activator.CreateCOMObjectFrom"c:\\Interop.file.dll",
"InstanceMane");
}
catch (Exception e)
{
}
return obj;
}
#region methods
// All methods go here
# endregion
#region properties
// All properties go here
#endregion
}
Same problem as above.
Want something weird! Read below:
If I use vb scripting or javascript it works:
//using javascript
var oMicrImage = WScript.CreateObject("MTMicrImage.MicrImage")
Thjis works, it creates the object just right.
Thank you for your time.
Carlos Lozano