Path: news.net.uni-c.dk!Morten.Grouleff.Mjolner.Informatics From: Morten Grouleff Newsgroups: comp.lang.beta Subject: Re: how do i include processmanager for a library Date: 04 Dec 2001 13:14:30 +0100 Organization: Mjolner Informatics. Lines: 86 Sender: mg@hod.mjolner.dk Message-ID: References: NNTP-Posting-Host: bifrost.mjolner.dk Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Trace: news.net.uni-c.dk 1007468070 9876 130.225.4.254 (4 Dec 2001 12:14:30 GMT) X-Complaints-To: usenet@news.net.uni-c.dk NNTP-Posting-Date: Tue, 4 Dec 2001 12:14:30 +0000 (UTC) User-Agent: Gnus/5.0803 (Gnus v5.8.3) Emacs/20.5 Xref: news.net.uni-c.dk comp.lang.beta:13071 jochenrollwagen@yahoo.com (Jochen Rollwagen) writes: [...] > My execRead-Pattern has > > ORIGIN '~beta/basiclib/basicsystemenv'; > INCLUDE '~beta/process/commpipe' '~beta/process/processmanager'; > and fragment-form 'systemlib' > > My GUI-Pattern: > > ORIGIN '~beta/guienv/guienv'; > INCLUDE '~beta/guienv/controls' '~beta/guienv/scrolllists'; > fragment-form 'guienvLib' > > My main pattern looks like this: > > guienv > (# > MainWindow: myGUI > (# doFind: (# do ('subProcess','-args')->&execReadText; #) > 'callback from GUI-library > #); > MyMainWindow: @MainWindow; > > do MyMainWindow.Open; > #) > > with > ORIGIN '~beta/basiclib/systemenv'; INCLUDE 'execRead' 'myGUI'; > fragment-form 'program' > > When compiling the main pattern i get > > Target machine type nti_gnu > Building dependency graph for: 'C:\beta\cc_myProgram' ... > Translating fragments ... > Bind fragments in: 'C:\beta\cc_myProgram.exe'!Checking > > ('subProcess','-args')->&execReadText > ^ > ***** "execReadText" is not declared The problem is another variant of your previous problem. Having ORIGIN in '~beta/basiclib/systemenv' selects an implementation of the scheduling system, which is not compatible with guienv. You should use '~beta/guienv/guienvsystemenv' as ORIGIN instead and read the following comment from that file: (* * COPYRIGHT * Copyright (C) Mjolner Informatics, 1991-96 * All rights reserved. * * GUIENVSYSTEMENV * =============== * * Use this fragment as the ORIGIN for concurrent programs * using the GUIENV libraries. * * The program should look something like: * * ORIGIN 'guienvsystemenv'; * --- program: descriptor --- * systemEnv * (# setWindowEnv::< (# do myWindowEnv[] -> theWindowEnv[] #); * myWindowEnv: @guienv (# ... #); * ... * #) * * The 'setWindowEnv' virtual and 'theWindowEnv' reference are * declared in basicsystemenv. * * The guienv instance (myWindowEnv) assigned to theWindowEnv is * used for scheduling purposes to allow BETA coroutines to * cooperate with the event driven user interface. * * For concurrency details, see basicsystemenv. *) Regards, -- Morten Grouleff, M.Sc. C.S., Software Developer, Mjølner Informatics A/S. Phone: +45 70274343 Direct: +45 89425815 Fax: +45 70274344