Skip to Content
author's profile photo Former Member
Former Member

Transactions and C# with UDO (user defined objects) - DLL

Hi,

we are developing in C# and ran in some questions exploring the features of the UDO:

(1) Does there exist a SDK-version which supports building the DLL with C# or is there only the C++-version available?

Will that change or are we forced to use C++ if we want to develop a UDO-DLL?

(2) Is it possible from within the DLL to access other UD-tables via their UDO?

I do not mean the child-tables of a UDO, which can be accessed via the CSboDataAccessGate available with GetDAG().

We would like to access another UDO and thus its tables.

(2.1) If it is possible, will executed transaction stay within the transaction context of the transaction which called the DLL?

Ch. Becker

Add a comment
10|10000 characters needed characters exceeded

Related questions

1 Answer

  • Best Answer
    Posted on Jan 17, 2005 at 01:35 PM

    Hi,

    Re (1)

    There's only a C++ version available currently and at least some time ago it was not planned to ship any other version, but I will double-check whether or not this has changed.

    I think you could nevertheless just write a wrapper for the C++ interface and call a C# DLL from there; but again currently you cannot get around one layer of C++...

    Re (2)

    Yes. I did not check it out in detail, but it is possible in general.

    Re (2.1)

    I am not sure about this; I will check it.

    Regards,

    Frank

    Add a comment
    10|10000 characters needed characters exceeded

    • (2) You cannot (asfaik) directly get the DAG; the second attempt works except that * must be placed before CSboBusinessObject (but the compiler would have told you...;-)):

      >CSboBusinessObject *CSboBusinessObject::CreateBusinessObject (const wchar_t *id);

      >with

      >CreateBusinessObject("UDOXYZ")

      Then you can e.g. get the DAG for this object...

      Regards

      Frank

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.