That's definitely available with any of the .net languages and probably could be gerry rigged simply by setting a semaphore. It also might mean that the thing runs slow enough to be useless. Probably the better alternative would be to manipulate the dynamic array with whichever U2 you are using. Or it might work to make a flat file and use ADO and a stream but you might run into the same thread problems. Or make a number of smaller arrays so that the threads are less likely to collide. The problem with that is "less likely" may be too likely. Possibly the best answer is to ask the question on one of the MSDN news groups. They won't know what you mean about dynamic array so you may have to change the wording a bit. A dynamic array to a .NET developer, as you probably already know anyway, is one that can be re-dimensioned at run time.
Let us know when and if you find an answer, please.
BobJ
----- Original Message ----- From: "Martin Scholl" <[EMAIL PROTECTED]>
To: <u2-users@listserver.u2ug.org>
Sent: Monday, January 24, 2005 7:22 AM
Subject: RE: [U2] UniObjects and VB.Net



Bob,
that is what what I observe.  Here is what I believe is happening:

VS.Not has a 'thunking' layer between its excution layer aka 'the CLR(Common
Language Runtime)' aka 'virtual machine' aka 'Managed Code' and UniObjects,
which is a dll that is compiled into machine code. For some reason this
'Interop Com Service' as Microsoft calls it, spawns off multiple threads
that manipulate the UniDynArray. Those threads cross and mangle the array.


I wonder if there is a way to make sure that one thread completes before the
next one is started. A way to protect the UniArray from multiple access.


Martin Scholl
President HIPAAsuite
18910 New Hampshire Ave
Brinklow, MD 20862
301-924-5537  Phone
301-570-0139  Fax
301-613-9572  Cell



-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of BobJ
Sent: Monday, January 24, 2005 5:47 AM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] UniObjects and VB.Net


The words "thread safe" leap to mind. If there are multiple threads and no
locks then mangling could be expected if a later launched thread assaults
part of the array before the earlier launched thread writes it back. Just a
thought.
BobJ
----- Original Message -----
From: "Martin Scholl" <[EMAIL PROTECTED]>
To: <u2-users@listserver.u2ug.org>
Sent: Sunday, January 23, 2005 9:31 PM
Subject: [U2] UniObjects and VB.Net



I am using UniObjects ( the pre .Net version) in a VB.Net ASP.Net
application.

I am populating a UniDynArray with a file parser. The Array is large,
more
then 300 attributes.
When I run this parser, my array is mangled. Attribute contents are mixed
with each other, attribute counts don't match with what I wrote in the
code.


When I run the code in the debugger, nice and slowly, I don't see a
problem,
only that sometimes it takes a second or to, for the UniDynArray to come
back from a call.  But when I run full speed, the mangling happens.

It looks like VB.NET starts several threads to deal with UniObjects, does
not wait until the thread is finished and then mangles the different
pieces.
Sometimes I get System.Runtime.InterOp.COMExceptions.

Has anybody had similar problems?  Found Work-arounds?

I can't move over to Uodotnet yet.  THere is too much code.  I though of
parsing my file into a Uodotnet.UniDynArray but then I saw that I can't
even
initialize a .Net UniDynArray with a session object.
Martin Scholl
President HIPAAsuite
18910 New Hampshire Ave
Brinklow, MD 20862
301-924-5537  Phone
301-570-0139  Fax
301-613-9572  Cell
-------
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
-------
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
-------
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
-------
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/

Reply via email to