Search code examples
delphicom+typelib

Maximum number limitation of COM+ function parameters


I was using Delphi Type Library to create a COM+ application. I got a access violation error when I created the number 78 parameters for one function call. I realized that there is a limitation for the number of parameters for the COM+ functions. So after, I have to use a typed structure/Record to package the parameters. Then pass a record instead of numbers of simple data type parameters.

Do you know about this limitation and what is your suggest?

I did more test as involved the Struct/Record, then I install the new component and get a error when I call it:

Type Library with the Record

I call the function:

ReturnVaule := Clients.updClient2(EmploymentApp.SessionID,
                                MyClientDetails,
                                dtLastModificationDate,
                                ClientServices,
                                ClientRequestors,
                                ClientQuestionnaires);

and I get the error:

"A null reference pointer was passed to the stub"

error message


Solution

  • At last, I use a Variant parameter to transfer most of the parameters, then read them out as a array. It works fine, but it is not easy to know the index of the array is mapping to which parameter.