Hi,
Thanks very much for your help. I understand what you're saying and I've also taken on board Torsten's suggestion that the name 'Time' may cause problems.

(I'm glad you didn't spot the deliberate mistake that I was trying to access a method using the class name rather than an instance of it - and doing that incorrectly anyway!)

Regards

Mark R



Wolfgang Meyer wrote:
Hi,

you are trying to derive from a functor.
Try this instead:

functor
 import Time at 'Time.ozf'
 export AgentTime
 define
    class AgentTime from Time.time


The class "Time" is exported at the feature "time" of the functor at "Time.ozf".
If you import the functor at "Time.ozf" as "Time", you need to access 
"Time.time" to get access to the class.
I think your confusion might be related to the Java convention where file name 
equals class name. In Oz, there is no such convention.

Cheers,
  Wolfgang


Hi,

I wonder if anyone can help me out?

I have a class defined as a module specification to deal with time values. This extract shows the beginning.

functor
import Tk at 'x-oz://system/Tk.ozf'
export Time
define
   class Time from BaseObject
................

The functor is compiled as 'Time.ozf' and works perfectly on it's own.

I have then tried to inherit from this to produce a specialised class I need for a project. This is the beginning of that one.

functor
import Time at 'Time.ozf'
export AgentTime
define
   class AgentTime from Time
.................

This is compiled as a separate functor 'Agenttime.ozf'
Both of these classes worked perfectly when they were developed in the OPI but now I have them as functors, I can't seem to use them. I've copied both functors to my ~/.oz/ directory, I've even tried ozl Agenttime.ozf -o NewTime.ozf hoping that the linker would solve the problem but whatever I do, when I try ('now($)' being a working method within the inherited 'Time' class)

declare AgentTime
[AgentTime]={Module.link ['~/.oz/AgentTimeozf']}
{Browse {AgentTime.now $}}

The *best* I get is

%********************** Error: object system ********************
%**
%** Inheritance from non-class
%**
%** Non-class used as parent: 'export'(time:<C: Time>)
%** Class to be created:      'AgentTime'
%**
%** Call Stack:
%** procedure 'CheckParents' in file "/usr/staff/raph/devel/trunk/mozart/share/lib/base/Object.oz", line 258, column 6, PC = 166135836 %** procedure 'NewFullClass' in file "/usr/staff/raph/devel/trunk/mozart/share/lib/base/Object.oz", line 292, column 6, PC = 166106124 %** procedure in file "/home/mark/Dev/Ozsource/agent/v3/in-progress/Agenttime.oz", line 1, column 0, PC = 168489028 %** procedure 'RootManager,Pickle/fast' in file "/build/buildd/mozart-1.3.2.20060615+dfsg/mozart/share/lib/init/Module.oz",
line 244, column 6, PC = 165890800
%** procedure in file "/usr/staff/raph/devel/trunk/mozart/share/lib/base/Base.oz", line 92, column 7, PC = 166009972
%**--------------------------------------------------------------


If anyone can help here I'd be extremely grateful. I feel like I've been banging my head against a brick wall for the past few hours. I initially wondered if there was some problem with the url for Time.ozf so I've tried a number of different styles, none of which work!


Incidently, when I tried

import Time at '.oz/Time.ozf'

I got an error 'could not load functor at /home/mark/.oz/.oz/Time.ozf'

which seemed to be contra to the information at http://www.mozart-oz.org/documentation/apptut/node4.html#chapter.modman

Regards

Mark R

--
Mark Richardson
Research Assistant
University of Teesside, UK
Email: [email protected]
       [email protected]
Skype: mark.richardson.

_________________________________________________________________________________
mozart-users mailing list [email protected]
http://www.mozart-oz.org/mailman/listinfo/mozart-users



--
Mark Richardson
Research Assistant
University of Teesside, UK
Email: [email protected]
      [email protected]
Skype: mark.richardson.

_________________________________________________________________________________
mozart-users mailing list                               
[email protected]
http://www.mozart-oz.org/mailman/listinfo/mozart-users

Reply via email to