Hello, do you think that if I create the image in the MainClass and pass its tag to the PicClass as parameter I will be able to use "move" on this tag and have it move on my main GUI?
Thanks 2010/8/25 Wolfgang Meyer <[email protected]> > Hi, > > > I think it fails before the creation of the new image and here is the > error > > message. > > > > %*************************** type error ************************* > > %** > > %** Expected type: class > > %** At argument: 1 > > %** In statement: {Object.new <C: QTkImage> <N: Init>(type:photo > > url:'picb.gif' > > ) _<dist:pxy>} > > %** > > %** Call Stack: > > %** procedure 'NewImage' in file > > "f:/cygwin/home/Administrator/Mozart-1-3-2/moza > > rt-stdlib/wp/qtk/QTkImage.oz", line 233, column 3, PC = 14365100 > > %** procedure 'PicClass,displaypic/fast' in file "./Pic.oz", line 44, > column > > 6, PC = 13 > > 441296 > > > > (I don't understand why there is a type error nor how to correct it) > > and this is the line in question: > > Img = {QTk.newImage photo(url:self.pic)} %self.pic is a feature > containing > > the url of the picture. > > I do not completely understand that error message, either. But I think > it might be because QTk is a sited module and can only be used on the > site where it was created. > However, using a locally linked version of QTk will NOT help either. > While creating the image would work, you could not use the image with > the canvas from the other site. > I did some experiments with QTk, and I came to the conclusion that it > is not meant to be used in a distributed way. > > I recommend to redesign your application such that QTk is only used on > one site (on the machine where the GUI shall be visible). > For example something like this in MainClass: > > meth display(L) > {ForAll L proc{$ X} > Data = {X getData($)} %% get information necessary to > create image > Creation of a new image using QTk and Data > Creating a tag using the parameter Canvas > end > } > > >> (Although for performance reasons, you should ideally create the > >> stationary wrapper only once...) > > Can you explain this point further? > > This was about the example code I had given. What I meant was that in > real code, it is not a good idea to call "MakeStat" again and again, > but instead create a stationary wrapper once (e.g. in the constructor) > and reuse it. > > Hope this helps, > Wolfgang > > _________________________________________________________________________________ > mozart-users mailing list > [email protected] > http://www.mozart-oz.org/mailman/listinfo/mozart-users >
_________________________________________________________________________________ mozart-users mailing list [email protected] http://www.mozart-oz.org/mailman/listinfo/mozart-users
