From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,ba7b74d2699f2def X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2002-02-23 05:35:55 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!newsfeed.berkeley.edu!news-hog.berkeley.edu!ucberkeley!news.maxwell.syr.edu!newsfeed00.sul.t-online.de!t-online.de!newsfeed.r-kom.de!fu-berlin.de!uni-berlin.de!ppp-3-97.5800-12.telinco.NET!not-for-mail From: nickroberts@ukf.net (Nick Roberts) Newsgroups: comp.lang.ada Subject: Re: object ada, visual c and tasking combined. Date: Sat, 23 Feb 2002 13:36:04 GMT Message-ID: <3c7780e1.308904750@news.cis.dfn.de> References: <3C6CC24D.D013A4AC@chariot.net.au> NNTP-Posting-Host: ppp-3-97.5800-12.telinco.net (212.1.142.97) X-Trace: fu-berlin.de 1014471354 5647807 212.1.142.97 (16 [25716]) X-Newsreader: Forte Free Agent 1.21/32.243 Xref: archiver1.google.com comp.lang.ada:20293 Date: 2002-02-23T13:36:04+00:00 List-Id: On Fri, 15 Feb 2002 18:39:49 +1030, john donoghue strongly typed: >... >... It seems to work ... next problem .... The visual c windowing stuff >is in its own task, and there is also another C task that needs to wait >on an ada function to return with data - but everytime I call the >"pointered" functions from these tasks the app spits the dummy ( >terminates with a exception that provides no name or message or >anything. ) >I am guessing that you cant call the ada functions from the other C >tasks since they are in other tasks to the ada functions :) ... but is >there a way around it? What do you mean by "another C task"? Do you mean a Windows thread, or do you mean a separate process (as in execXX etc.)? In either case (as best I recall) Windows, since threads permit options regarding memory sharing (and your Ada may take advantage of these options), I suspect the cross-'task' calls fail because they cause code to try to access memory that it it is not permitted to. You may hate this suggestion, but my suggestion to you would be to modularise your application at a different (higher) level, e.g. COM. You could make your Ada 'engine' into a stand-alone program whch is a COM server, and the VC front-end into a COM client. I am no expert on Windows COM, but I think the stuff on AdaPower should give you most of what you need to do it. I think in the end you'd find this to be a better solution. Best of luck! -- Nick Roberts