No announcement yet.

What is the threading model for components created with PB9

  • Filter
  • Time
  • Show
Clear All
new posts

  • Thomas Tierney
    Thanks Jose!!

    Leave a comment:

  • José Roca
    As far as I know, PB initializes the COM library using CoInitialize, so if you want to use MTA you will have to initialize it using CoInitializeEx.

    If you want to use PB COM servers with VB or VBScript, you will have to implement dual interfaces by using INHERIT IDispatch instead of INHERIT IUnknown, and follow all the Automation rules.

    Enums aren't supported in this version of the compiler.

    Leave a comment:

  • What is the threading model for components created with PB9

    Granted, I havent gone through the entire documentation. I love what I am reading so far but I do have a question. What is the threading model for components made with PB 9?

    I would like to create a component that I can use with IIS and I know that there are restrictions on the threading model depending on where you instantiate the object. For instance if I declare it in the Global.asa in the application_start method I believe it must be MTA (Multi-Threaded). If I use it in the Session_Start then it can be STA.

    Also, one of the objects, IBOX provided by JFuller as a sample, has a type lib that states the object is notcreatable. This makes it impossible to run from vb or vbscript. Is this a function of the compiler, the way the program was written, or?

    Also, has anyone tested whether or not interops can be created for dot net and com marshalling and has anyone run into any gotcha's with this.

    Last point, I do not see anyway to create enums, this can be done by modifying the type lib directly I believe but is there any or are there any plans on creating samples to easily do this?

    I do not have my copy yet, but I have ordered and am really looking forward to playing with it as soon as I can.