[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Patrick Jox

10/4/2004 8:12:00 PM

Hello,
I am developing an application, that needs access to the database of another
programm. Fortunatly this other program exposes a DLL which allows me to
access the desired data. This works fine as long as I am working only on my
client.

As soon as I try to instance the DLL object, my program seems to crash. At
least it does nothing. I get no error. Nothing.

The code I am using is as follows:
Type mandantType = Type.GetTypeFromProgID("FibuNT.Mandant");

mandant = Activator.CreateInstance(mandantType);

After the CreateInstance the program stops executing. Oh sometimes,
instancing the DLL-Objekt causes a little splash screen with some product
information. Maybe this causes my problem.

Any Ideas.

Thanks - Patrick


3 Answers

Ken Kolda

10/4/2004 8:57:00 PM

0

What kind of process does your server run in? It sounds like this COM object
has UI elements that it displays, which means it's not really meant for use
as a server component. The hang could be caused by a dialog box that's being
display but which isn't visible on the console, or it could be due to a
threading issue (e.g. if the COM component is apartment threaded).

Ken


"Patrick Jox" <Patrick@softwerk-n-o-s-p-a-m-technologies.com> wrote in
message news:Ocu%23t5kqEHA.2900@TK2MSFTNGP12.phx.gbl...
> Hello,
> I am developing an application, that needs access to the database of
another
> programm. Fortunatly this other program exposes a DLL which allows me to
> access the desired data. This works fine as long as I am working only on
my
> client.
>
> As soon as I try to instance the DLL object, my program seems to crash. At
> least it does nothing. I get no error. Nothing.
>
> The code I am using is as follows:
> Type mandantType = Type.GetTypeFromProgID("FibuNT.Mandant");
>
> mandant = Activator.CreateInstance(mandantType);
>
> After the CreateInstance the program stops executing. Oh sometimes,
> instancing the DLL-Objekt causes a little splash screen with some product
> information. Maybe this causes my problem.
>
> Any Ideas.
>
> Thanks - Patrick
>
>


Patrick Jox

10/5/2004 4:05:00 AM

0

This is not really a COM Component. So I can not use it with early binding
but only with my wrapper. This is why I use Activator.CreateInstance instead
of "new" and why I use object.GetType().InvokeMember instead of
object.MemberName.

No the object does not display a dialog box, but there appears a splash
screen when I instance it directly from my client. My server process ist
Singlethreaded Apartment (it is a console application) but I do not know
anything about the threding model of the component. It's an external
component I am just using.

If it was apartment threded. How can I check and how can I get it work
anyway. This component will be called by my server due to triggers and
extracts some values from the database. The component is everytime
instanced, opened and closed. It does not reside in my server.

Patrick

"Ken Kolda" <ken.kolda@elliemae-nospamplease.com> schrieb im Newsbeitrag
news:uXIV8SlqEHA.1296@TK2MSFTNGP12.phx.gbl...
> What kind of process does your server run in? It sounds like this COM
object
> has UI elements that it displays, which means it's not really meant for
use
> as a server component. The hang could be caused by a dialog box that's
being
> display but which isn't visible on the console, or it could be due to a
> threading issue (e.g. if the COM component is apartment threaded).
>
> Ken
>
>
> "Patrick Jox" <Patrick@softwerk-n-o-s-p-a-m-technologies.com> wrote in
> message news:Ocu%23t5kqEHA.2900@TK2MSFTNGP12.phx.gbl...
> > Hello,
> > I am developing an application, that needs access to the database of
> another
> > programm. Fortunatly this other program exposes a DLL which allows me to
> > access the desired data. This works fine as long as I am working only on
> my
> > client.
> >
> > As soon as I try to instance the DLL object, my program seems to crash.
At
> > least it does nothing. I get no error. Nothing.
> >
> > The code I am using is as follows:
> > Type mandantType = Type.GetTypeFromProgID("FibuNT.Mandant");
> >
> > mandant = Activator.CreateInstance(mandantType);
> >
> > After the CreateInstance the program stops executing. Oh sometimes,
> > instancing the DLL-Objekt causes a little splash screen with some
product
> > information. Maybe this causes my problem.
> >
> > Any Ideas.
> >
> > Thanks - Patrick
> >
> >
>
>


Patrick Jox

10/5/2004 7:28:00 PM

0

OK I solved this problem. Since I did not know what threading model it was I
tried around. I set my wrapper in new MTA thread and defined my server to be
MTAthreaded to.

Now it works.

Thanks - Patrick

"Patrick Jox" <Patrick@softwerk-n-o-s-p-a-m-technologies.com> schrieb im
Newsbeitrag news:e5B%23NCpqEHA.348@TK2MSFTNGP15.phx.gbl...
> This is not really a COM Component. So I can not use it with early binding
> but only with my wrapper. This is why I use Activator.CreateInstance
instead
> of "new" and why I use object.GetType().InvokeMember instead of
> object.MemberName.
>
> No the object does not display a dialog box, but there appears a splash
> screen when I instance it directly from my client. My server process ist
> Singlethreaded Apartment (it is a console application) but I do not know
> anything about the threding model of the component. It's an external
> component I am just using.
>
> If it was apartment threded. How can I check and how can I get it work
> anyway. This component will be called by my server due to triggers and
> extracts some values from the database. The component is everytime
> instanced, opened and closed. It does not reside in my server.
>
> Patrick
>
> "Ken Kolda" <ken.kolda@elliemae-nospamplease.com> schrieb im Newsbeitrag
> news:uXIV8SlqEHA.1296@TK2MSFTNGP12.phx.gbl...
> > What kind of process does your server run in? It sounds like this COM
> object
> > has UI elements that it displays, which means it's not really meant for
> use
> > as a server component. The hang could be caused by a dialog box that's
> being
> > display but which isn't visible on the console, or it could be due to a
> > threading issue (e.g. if the COM component is apartment threaded).
> >
> > Ken
> >
> >
> > "Patrick Jox" <Patrick@softwerk-n-o-s-p-a-m-technologies.com> wrote in
> > message news:Ocu%23t5kqEHA.2900@TK2MSFTNGP12.phx.gbl...
> > > Hello,
> > > I am developing an application, that needs access to the database of
> > another
> > > programm. Fortunatly this other program exposes a DLL which allows me
to
> > > access the desired data. This works fine as long as I am working only
on
> > my
> > > client.
> > >
> > > As soon as I try to instance the DLL object, my program seems to
crash.
> At
> > > least it does nothing. I get no error. Nothing.
> > >
> > > The code I am using is as follows:
> > > Type mandantType = Type.GetTypeFromProgID("FibuNT.Mandant");
> > >
> > > mandant = Activator.CreateInstance(mandantType);
> > >
> > > After the CreateInstance the program stops executing. Oh sometimes,
> > > instancing the DLL-Objekt causes a little splash screen with some
> product
> > > information. Maybe this causes my problem.
> > >
> > > Any Ideas.
> > >
> > > Thanks - Patrick
> > >
> > >
> >
> >
>
>