Severe crash with Rev 2.8.1 under MacOSX 10.4.9 (was: How to find amazing stuff)

2007-05-24 Thread Joel Guillod
May be the crash Joe reported is NOT due to the RR Search engine!!!  
Read more...


This afternoon I have experienced two unexpectedly exits from  
Revolution and I restarted my machine. And then I had a very severe  
crash during a normal development session. I had no problem under Rev  
2.7.4 for the same business. Before the crash the only unusual  
thing I made is printing a few cards and the print actually occured.  
But then when I exited Revolution the session has unexpectedly closed  
and I spent much time to be able to restart MacOSX (10.4.9 PPC). The  
Preview application was the only one opened apart from Revolution  
(and Finder of course) and I have not worked with any other  
applications during this user session.


If some other one experienced such a behavior, think about filling a  
bug before some catastrophic event happens... with 2.8.1.


Joel


I just tried the Search Engine you mentioned. There appears to be a  
very serious flaw to the Search engine - causing Revolution to  
unexpectedly quit and probably doing other damage as well, since my  
only recourse was to reboot. Even the dock was unresponsive. If I  
tried to reopen Rev, it appeared to reopen with the startup Rev  
Splash screen, but then was nowhere to be found. I realize I'm not  
being very specific, but this all was caused (twice) by clicking in  
the small black (color selection) box that appears in the upper  
right portion of the Search results window, the one that says it  
lets you select a color for keywords. As soon as the color  
selection dialog appeared and I attempted to change the color, Rev  
quit and the other things I mention occurred requiring that I reboot.


Just thought you'd like to know, since you say you wrote that part  
of the docs.


I'm running Rev 2.8.1 on OS 10.4.9 with an Intel Mac Dual Core. The  
first time it happened I had Isolator 1.0 turned on. The second  
time, I did not. Neither time did I have any other applications  
open; running  Safari as the web browser.


Joe Wilkins


___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


exporting snapshot with cursor visible?

2007-05-19 Thread Joel Guillod
is there a way to make the cursor visible on the image with the  
export snapshot with rect command?


___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Revolution 2.8.1: a 240+ bug fixes/improvements! What about the remaining 1879?

2007-05-17 Thread Joel Guillod

Dear Revolutionists,

A warm thank you very much to Runrev for having fixed more than 240  
bugs.


I would like to know how successfull is the open beta and what  
criterion have been defined at the beginning of the quality way last  
November. It would be interested to get the results of the last open  
beta anonymous survey.


With my background in scientific research let me try to present  
formally known data about Revolution bugs and make some comments  
carefully:


MOTIVATIONS AND OBJECTIVES:
- I have personally reported major or blocking bugs still unresolved  
nor closed (even more than a year old).
- Respectable persons were unfairly flamed for having objectively and  
politely requested about the quality work and to understand  
procedures transparently (that's ISO 9xxx quality management  
procedures, isn't it?).
- Public declarations, apologizes and/or promises not to repeat  
*exceptional* unhappy events from Runrev appeared to me a different  
story from facts reported by the rev-list and experiences.
- Actually I want to get a better picture of what's really the gain  
of the current quality step initiated by Runrev and then the future I  
can expect for my favorite IDE.


METHOD:
- Queries done today (2007-05-17) with the most recent version of  
stack STSRevZilla.


RESULT:
- At the time of the queries RevZilla found that 1879 bugs are  
neither resolved, nor closed:

  580 are new, the oldest one was created on 2003-10-28
  129 are pending, the oldest one was created on 2003-10-24
  1079 are new, the oldest one was created on 2003-06-16
  53 are assigned, most are enhancement requests, 2 are major, 1  
minor, one norma, the oldest one was created on 2003-06-24

  37 are reopened, oldest created on 2003-08-12
 1 is verified, created on 2005-06-15.

- RevZilla found that 3067 bugs are either resolved or closed:
  2729 bugs are marked resolved.
  338 bugs are marked closed.

- Among the 1879 bugs that are neither resolved, nor closed today:
  227 has severity of blocker, critical or major (126 bugs  
before 2006-11-10 and 103 bugs reported during the open beta process).

  821 has severity enhancement.

- The Open Community Beta for 2.7.5 has been annonced on November  
10th 2006 (http://www.runrev.com/newsletter/november/issue13/ 
newsletter1.php).
- the first bug notified on 2006-11-10 is #3967 (concerning version  
2.6.1 it is now resolved/closed).
- the first bug notified on 2006-11-10 for version 2.7.5 is #3968  
(now closed/not a bug).
- since this opening date 1013 bugs have been notified and  
categorized as followed:

  345 bugs have been notified (created) and resolved.
   85 bugs have been notified and closed.
 584 bugs have been notified but still neither resolved nor closed.

COMMENTS:
- Remember that some of the bugs notified in revzilla are enhancement  
requests.
- Out of the 1879 remainging reported bugs 584 of them has been  
reported after the beginning of the open beta, i.e. 1295 bugs  
reported prior the beta are still uncovered.
- It is surprising that as many as 227 bugs marked as blocker,  
critical or major have not been processed during this quality  
step. 45% of them have been reported during the open beta process  
(126 of them were known prior the begining of the open beta and 103  
has been reported during the process).
- Because stsRevzilla does not let us search the date a bug is closed  
or resolved then it is simply difficult to compare the results above  
with the past state of November 2006. This comparison would have been  
interested in order to answer if Runrev has actually made a progress  
and how much of its resources it has spent in fixing new bugs  
introduced during this Open Beta process. Of course you should study  
this with care because among the 1013 bugs notified since November  
some are bugs present but not reported in older releases or new bugs  
introduced between 2.7.4 and the 2.8.1. Have a look to the list of   
bugs (since #3967) to make your own opinion on the amount of wasted  
workload the open beta may have self generated.

- So, impossible to know how Runrev count the 240+ bugs fixed.
- Also a deeper study would be necessary to evaluate how bugs were  
prioritized in the fix: is priority choosen by severity, by reporter,  
by date, by vote count?


CONCLUSIONS:
I dont want to comment on the success of this Open Community Beta. Of  
course this is not my job but among the other reasons, by rereading  
the original newsletter article, the objectives are still imprecise  
to me. So I let you make your own conclusions, positives and  
negatives, if applicable for you, and in such a context (this is no  
scientific way) tightly bound to your own expectations I guess. Just  
a few remarks:


1.- I am thankful to Runrev for trying to make Revolution better  
quality and to ensure its future.


2.- I was happy to read so much excitements from major  
revolutionaries to applaude the 2.8.1 release on both the use and  
improve lists.


Re: Python Samples stack

2007-05-12 Thread Joel Guillod

I can view it but not go to it.  Is this due to being on 2.6.1 Linux?


Hi Peter,

Is Python installed on your machine? To check that python is  
installed and to know the command folder path of the python tool type  
«which python». Also, try a python -V» command (with uppercase for  
V) in a shell terminal to get the version number.


In Revolution you can also execute:
  answer Is python installed in the $PATH:  shell(which python)
  answer Python version is  shell(python -V)

If Python is not installed, go to http://www.python.org/download/  
it's just easy to proceed. In MacOSX python is installed by default.  
I use version 2.5 but the stack should work for 2.3 and 2.4.

___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Python Samples with Tkinter from within Rev

2007-05-11 Thread Joel Guillod
I have shared my stack Python Samples with Tkinter in the  
Programming category.


This stack demonstrates some use of the Python tool called from  
Revolution with two examples of the Tkinter GUI toolkit.
Set the folder for Python tool to the correct one (e.g. under  
MacOSX: /usr/bin or /usr/local/bin)...
Notice that this version display the Python window in modal mod, so  
you cannot edit stacks before you quit the Python thread.
It works fine under MacOSX which has a standard Python tool, others  
not tested.


If you are curious, open the stacks and execute in the msg box:

  put the uPythonSource of button Test I with python Tkinter GUI
or
  put the uPythonSource of button Test II with python Tkinter GUI

to read the Python source code (just 36 lines, respectively 25 lines).
___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


How to POST an image file?

2007-05-07 Thread Joel Guillod
Given the following form in an html page from url like http:/ 
myserver/mydir/mypage:


form action=myaction method=post
enctype=multipart/form-data
pFile: input type=file name=file/p
input type=submit
/form

I try to POST tData to URL http:/myserver/mydir/mypage/myaction
where tData contains the following data:

-- (this line is not included in data)
Content-type: multipart/form-data, boundary=AaB03x

--AaB03x
content-disposition: form-data; name=file; filename=logo.gif
Content-type: image/gif
Content-Transfer-Encoding: binary

GIF89a DATA HERE...
--AaB03x--

-- (this line is not included in data)

Can anyone tell me why I get a 500 server error or a 40x error? Using  
the original html page in a web browser works as expected and I have  
checked that it is not a cookie issue.


I also tried without success (same error) with the following tData:

-- (this line is not included in data)
Content-type: multipart/form-data, boundary=AaB03x

--AaB03x
content-disposition: form-data; name=file
Content-type: multipart/mixed, boundary=BbC04y

--BbC04y
Content-disposition: attachment; filename=decoration.gif
Content-type: image/gif
Content-Transfer-Encoding: binary

GIF89a DATA HERE...
--BbC04y--
--AaB03x--

-- (this line is not included in data)

So I suppose either my post url or the data content is/are  
malformed... Any help welcome!


Thanks,
Joel
___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: XML Tree and spaces

2007-05-02 Thread Joel Guillod

Hello Nic,

Of course you'll get an answer but please, give an exemple of the xml  
data and node content you have problem with and the function you use  
to retrieve its content. Neither in my own use of xml nor by using  
the Sarah's XML Demo stack (http://www.troz.net/Rev/tutorials/ 
XMLdemo1.rev.gz)for a rapid check, I was able to reproduce the  
behavior your mentionned. So please, be more precise...


Joel


Le 2 mai 07 à 14:00, [EMAIL PROTECTED] a écrit :



De : Nic Prioleau [EMAIL PROTECTED]
[...]
If I create an xml tree and I have spaces in one of the node  
values, it will only show the first part of the value before the  
space. Is there anything anyone can tell me here? Am I not allowed  
to use spaces here? It would seem a bit limiting if I did?!

[...]


___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


is that a bug?

2007-04-03 Thread Joel Guillod

This expression returns the expected result:

   selectedNode() is the cEditedNodeID of grp grClassEditor


But when exchanging the two operands the following expressions do  
always return TRUE even with ():


   the cEditedNodeID of grp grClassEditor is selectedNode()
   (the cEditedNodeID of grp grClassEditor) is selectedNode()

I am absolutely sure of the values returned by both operands and make  
extensive check for this surprising result.
Same result on 2.8.0,370 and 2.7.4,291: Is this a bug? Or can anyone  
give me some ligth?


Thanks

JG

___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: shell() in a separate thread with callback message at exit?

2007-03-12 Thread Joel Guillod

Here is an example script that does a ping. The handler includes the
post-processing of the result, but you can just ignore that.

function checkPing pIP
...
   put ping -c1 -npIP into tShellCmd
   put tFileName   21  after tShellCmd


Thank you a lot Sarah. Your code let me discover the wait .. with  
messages which I have never been aware of (the old Hypercard  
practice?). This can actually do the job I am searching for. Also,  
your example raises two questions:


1.- Is there somewhere some documentation on synchronous/asynchronos  
parallel/threaded Transcript execution? I would like to learn about  
other such great features native in Transcript...


2.- I understand the shell command you wrote up to ping -c1 -n  
192.168.0.1 and even the  mandatory for executing the shell in a  
separate thread but I dont understand the 21 . Could you  
explain? Do you have a good MacOSX/Un*x tutorial on the shell commands?


Best to you,

Joël___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: shell() in a separate thread with callback message at exit?

2007-03-10 Thread Joel Guillod

What platforms are you supporting?

If it is Mac only then I think you can achieve this using an  
AppleScript and AppleEvents.


Let me know and I'll let you have more details.


Yes, I would be very pleased to get the details for MacOSX. Also I  
need to support this feature under Windows but let us start with the  
Mac solution.


Thanks a lot,
Joel



All the Best
Dave

On 8 Mar 2007, at 11:20, Joel Guillod wrote:


How can I implement the following features:

- invoque a shell command in a separate thread, i.e. a non  
blocking shell during execution of the command;
- receive a callback message with the output and the error result  
when the thread exits?


This would be some function similar to the load command, i.e.:

   shellExecute commandLine [with message callbackMessage]

where ...


___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


shell() in a separate thread with callback message at exit?

2007-03-08 Thread Joel Guillod

How can I implement the following features:

- invoque a shell command in a separate thread, i.e. a non blocking  
shell during execution of the command;
- receive a callback message with the output and the error result  
when the thread exits?


This would be some function similar to the load command, i.e.:

   shellExecute commandLine [with message callbackMessage]

where
  The commandLine is a string or an expression that evaluates to a  
string.
  The callbackMessage is the name of a message to send after the  
shell exited.


The callbackMessage signature would be:

  on callbackMessage pCmdOutput,pCmdError,pShellError

where
  - pCmdOutput is the value returned by the shell function, i.e. the  
result of the sdtout commandLine, including any error messages the  
commandLine generates.

  - pCmdError is the error the command generate (sdterr under unix).
  - pShellError is the shell command's exit code.


If I remember well the externals API allows for such threading and  
callback but I am not a C expert. Could anyone give me refs/pointers  
to a solution? I need a multiplatform solution.


Thanks a lot !  Joël


___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: An effective way to Localize my Revolution Projects for Multiple Languages

2007-02-17 Thread Joel Guillod
- Property profiles are nice, but it means that I have to store all  
of the language data for each object within a profile, making it  
harder to make changes to the text.


Many replies but none commenting about profiles.

As the gandfather of Richard used to say, When a designer is faced  
with two equally compelling options, find a way to do both. So you  
could also make a tool which assists in building different language  
profiles from a central text translations repository. The steps in  
development would be: (1) extracts the relevant text from button  
label, fields, etc. and store them in the repository; (2) translate  
the texts in the needed languages; (3) before building your  
standalone the tool will navigate through all the objects of your  
stacks to automatically update the appropriate controls properties  
(button label, text of shared field...); (4) optionally when building  
a standalone you can choose to discard some profiles; (5) in your  
standalone some language script library will just have to set the  
revProfile or call the revSetStackFileProfile / revSetCardProfile /  
revSetStackProfile commands when user change the language preference.


I didn't remember of much use of the Profiles apart the RunRev  
tutorial on Profiles (precisely illustrated by languages  
customisation) and I would be interesting to have developers  
explanations on their use of profiles, not only for languages but for  
platform specifics (Windows, Linux, OSX), or any other ideas...


Thanks!

Joel


OT follows, just for fun!

As for the dialogs I simply change the LABEL of the buttons in the  
dialogs so Cancel

stays cancel OK stays OK etc... in every language.


;o) NO! cancel does not stays cancel in every language:  
annuler, abbrechen, ... ! OKay?


;o( Does anyone know what ok is the abbreviation of? I heard an  
explanation that in the old time an american sherif which  
motherlanguage was french wrote OK on official documents. When  
someone asked him what this means he replied: oll korrect...

___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: SQLite and multiuser

2007-01-31 Thread Joel Guillod

I.e. You want invent a bike? :-)
...
Use existed bikes? :-)

--  
Best regards,

Ruslan Zasukhin
VP Engineering and New Technology
Paradigma Software, Inc

Valentina - Joining Worlds of Information
http://www.paradigmasoft.com


Of course the question was not targeted to a DBMS vendor. And dont be  
too presomptive because if you search the web on SQLite server you  
find that there are solutions on the way.
Ruslan, I can also return you the question: why did you reinvent the  
bike? I know one answer: Oracle, MySQL, PostgreSQL are ACID compliant  
but dont have direct object link... Depending on the trip I prefer to  
ride a racing bike or a moutain bike! ;-)


JG
___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


SQLite and multiuser

2007-01-30 Thread Joel Guillod
The SQLite documentation under topic «File Locking And Concurrency»  
states: «SQLite uses POSIX advisory locks to implement locking on  
Unix. On windows it uses the LockFile(), LockFileEx(), and UnlockFile 
() system calls. SQLite assumes that these system calls all work as  
advertised. If that is not the case, then database corruption can  
result. One should note that POSIX advisory locking is known to be  
buggy or even unimplemented on many NFS implementations (including  
recent versions of Mac OS X) and that there are reports of locking  
problems for network filesystems under windows. Your best defense is  
to not use SQLite for files on a network filesystem.»


The last sentence clearly demonstrates that SQLite files should not  
be used on a network. So, I would be pleased to have advices on how  
to access SQLite database throught network in a multiuser environment.


There is one relatively easy implementation scenario I think about:  
to write a Rev application which works as a SQLite server and to  
which any client Rev application connects to in order to query the  
databases. In such a way only the server is dealing with database  
files and this probably works okay for small network traffic. Any  
other suggestion for a solution would be welcome.


Thanks, JG___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Tree

2006-11-18 Thread Joel Guillod
I am very very happy with Tree Manager  Tree Field control from  
http://www.imed-edition.net.


At first there are many commands but it is very powerfull and you can  
develop with only 3 or 4 commands. Since I use Tree Manager I  
couldn't work without it. The examples stack is also very helpfull,  
shortens the learning and the script assistant writes most of my code.


Joel
___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Open Letter to Rev: Quality Is Job #1

2006-10-20 Thread Joel Guillod

Alas I think you are true, Bill, I am afraid!
I have to agree with you although my work is not as impossible as you  
report yours. Obviously there is some serious management issue in  
Runrev which is not a new one... And this is a pity because  
Revolution concept drives a very productive development environment.  
And you are true, not taking for serious our bugs we take time to  
fill (for free, yes!) is reflecting a very bad quality and doubtfull  
respect against Runrev customers (and yes I dont - or at least I  
hesitate to - fill bugs since years-old-bugs are still unaddressed.  
Also these persistent attitudes make flee a lot of the professional  
developers... I would hate to get the news that Runrev or any other  
company resigns from continuing to upgrade Revolution. Will version 3  
be a new age for a better Revolution? Maybe some EurRevcon members  
will know soon.
I do not want to be too dark and I still have faith in those in  
Runrev who are actually trying to do their best in order to enhance  
Revolution. Because, yes, I am confident that there are still people  
in Runrev who work with pride and for quality... but this is a story  
I dont have any weight and this is better so. As you, Bill, my own  
weight is in buying future yearly upgrades.



Le 20 oct. 06 à 10:39, [EMAIL PROTECTED] a écrit :


...
Some of you will say, Bill it would be much more productive if you  
filed
all this in Bugzilla. Well, I'm all for contributing to the  
community. But

it takes time and effort to file a decent bug report. ... I haven't
seen action on other serious bugs, and I haven't seen the kind of  
quality
that suggests even casual inspection on the part of Rev's release  
team.

... Where is the pride in your work product?

... So, when YOU demonstrate
some good faith -- releasing a reasonably robust product, and  
committing to
free bug fixes -- then perhaps I will work as your unpaid Quality  
Assurance

Engineer.


___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Cgi function

2006-08-31 Thread Joel Guillod

revSetDatabaseDriverPath...


The rev documentation states that :
«The revSetDatabaseDriverPath command is part of the Database  
library. To ensure that the command works in a standalone  
application, you must include this custom library when you create  
your standalone.»


I have no idea but a need to solve this problem. With rev CGI you  
only have the engine not a standalone which includes the library. So  
maybe we have to manually include the revDatabase Library into  
another stack...


___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


How to find which applications for this file?

2006-08-18 Thread Joel Guillod
From a file path or a file extension or a MIME type, how can we get  
a list of the applications which can open the corresponding file?


The launch document filepath can open the corresponding  
application like a double-click in the Finder/Windows Explorer. But  
has anyone some tricks to get a list of compatible application for a  
file or MIME: Applescript (on MacOSX) or shell commands (MacOSX,  
Windows, Linux)?


Thanks for each appropriate reply!
___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Shells - non-blocking?

2006-08-14 Thread Joel Guillod

On Aug 13, 2006, at 3:30 AM, David Bovill wrote:


I want to call the shell command and let the user get on with other
gui stuff... wouldn't it be nice to have:

put shell(something really slow) with message doneIT ?


Very good idea!
Do you fill an enhancement in Revzilla? If not I'll do it, let me  
know...



On Sun, 13 Aug 2006 09:42:35 -0600 , Dar Scott wrote:


You might be able to build something like that with processes (see
open process etc in the doc).


I cannot figure out how to implement that. Have you a sample script?
___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Why do group ID's change when cloning a stack

2006-08-12 Thread Joel Guillod
I agree that in most instances using the name of controls is the best  
way.


BUT there is a **semantic** issue with the current behavior of the  
clone command because we expect a clone to be an exact copy of the  
original.


Also, the problem of changing the ID especially for images is a nasty  
one. Suppose you have many groups displaying different images in  
fields where the imagesource reference the id of images, the result  
of the clone can be not only surprising but also dangerous if IDs are  
mixed... (for instance imagine a surgery imaging software which after  
cloning a stack displays another image instead of the orginal one  
and ... then you - the patient - awake with amputation of the left  
leg instead of a back pigmented mole ablation).


Due to the semantic trouble of the current cloning way I suggest that  
Claudi who has found this disturbing behavior fills a bug.


___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


How to save as a 'Legacy Revolution Stack'

2006-08-11 Thread Joel Guillod
How can I force to save as a 'Legacy Revolution Stack' with the save  
command, i.e. without passing by the save dialog?
And how to know if the saved format is 'Legacy Revolution Stack' or  
'Revolution Stack'?

___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Why is the imagedata value different from Win32 to MacOS

2006-07-26 Thread Joel Guillod

I don't think the imagedata has changed, and my thought would be to
check and make sure the images are set to their respective
formattedHeight and formattedWidth BEFORE checking the imageData.
...
I hope this helps.
-Chipp


Not of help... Actually before submitting the question I checked that:
- the text of the PNG images were identical on both platform;
- the width was set to the formattedWidth and the height to  
formattedHeight;
- the screengamma was identical on both platforms before opening the  
images;

- also I tried to set the screengamma to the gamma of the images.

My guess from my investigations is that there is some issue in the  
algorithm used to calculate the imagedata in  the rev engine and  
which is a function of the screengamma, the image gamma and some  
obscure stuff... because extreme color channel values (near 0 or near  
255) are correct and the differences are bigger when in the middle  
(near 127). So the gamma correction could be fault.


Joel
___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Why is the imagedata value different from Win32 to MacOS platforms?

2006-07-25 Thread Joel Guillod
For image processing I have to extract the RGB values from an  
imagedata of an image but I got different results under MacOSX and  
Win32.
I found that the imagedata values is different between the two  
platform: every color component of pixels is slighty changed. I have  
not found in the documentation such a change depending on the  
platform. Notice that the text of image is identical between both  
platform.


Could anyone give me a clue?

Is there an easy other way to get the exact RGB array on both platforms?

Thanks!
___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


System messages order in list field

2006-04-26 Thread Joel Guillod
I notice that the system messages order for list field differs  
depending on the hilited state of the clickline:


case 1: when clicking on a *unhilited* line:  mousedown -  
selectionChanged - mouseUp


case 2: when clicking on a *hilited* line: selectionChanged -  
mousedown - mouseUp


Is it a bug or a feature? Is there some explanations on the purpose  
for such a different order?


Joël___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: revXMLfindNodecontent

2006-03-22 Thread Joel Guillod

Throw some votes on it if you like :-)


Also do it for features request/bug ID 1893: revInsertXMLNode and  
XSLT routines ID 2809.

Thanks!

___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: revXMLfindNodecontent

2006-03-21 Thread Joel Guillod

Hi Ken,


On 3/21/06 10:21 AM, Klaus Major [EMAIL PROTECTED] wrote:

Hi all,
I am currently working through the XML docs and am desparately
looking for
something llike - revXMLfindNodeBycontent
...

Sorry, Klaus, AFAIK you can't find data information with the revXML
DLL.


Damn!!! What a pity :-/

Hi Mark, please add this one to Rev 2.71, I think there is still time
for this and I really need it! ;-)


Are you dreaming Klaus? Or do you have preferential treatment from  
Runrev? If yes, kindly suggest the manager to (censured, I am wasting  
my time). Actually I filled an enhancement request (#1893) on  
2004-07-26 for a revInsertXMLNode treeID,siblingPath,nodeContents  
and sent a recall on 2005-12-12 but the status is still UNCONFIRMED!
So, be patient! I know that I practice medicine but usually not that  
side! Or build your own externals for xml, xpath, etc.

;o(  jg
___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


revInsertXMLNode : Please vote for #1893!

2006-02-03 Thread Joel Guillod
On 2004-07-26 I requested the revInsertXMLNode feature. This  
enhancement has been assigned to runrev component owner the same day  
but since 18 months no activity happens! If you work with xml you  
know that this is a must feature!


So please support this feature by voting for «bug» #1893.

Thank you all.
Joël G.

___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Applescript execution error under Rev but not Script Editor

2006-01-05 Thread Joel Guillod
The following Applescript does work successfully when run in the  
Script Editor but return an execution error when run with «do fld  
theScript as Applescript»:


THE SCRIPT:
try
tell application Address Book
activate
		set theCard to person id 808C7253-74EA-4619- 
BC2D-3D030DEA63D9:ABPerson

tell me to assignPersonToGroup(theCard, Patients)
save addressbook
end tell
on error myError
return myError
end try

on assignPersonToGroup(thePerson, theGroup)
if (theGroup is not equal to ) then
tell application Address Book
set nameOfEveryGroup to name of every group
if nameOfEveryGroup contains theGroup then
set theGroupByID to group named theGroup
add thePerson to theGroupByID
else
set newGroup to make new group with properties 
{name:theGroup}
add thePerson to newGroup
end if
end tell
end if
end assignPersonToGroup


THE ERROR:
Impossible de rendre «class azf4» id \808C7253-74EA-4619- 
BC2D-3D030DEA63D9:ABPerson\ of application \Address Book\ dans le  
type attendu.
translated in english: impossible to render «class azf4» id  
\808C7253-74EA-4619-BC2D-3D030DEA63D9:ABPerson\ of application  
\Address Book\ in the expected type.


MY QUESTION: Any clue to be able to execute the Applescript also in Rev?

Thanks.
Joël___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


XML Database synchronization

2005-12-07 Thread Joel Guillod
I would like to hear about advices how to address this problem in  
Revolution:


Postulates:
- data of my system is based on a number of sets of xml documents;
- a set is a repository of xml documents;
- there is a registry of the sets which references the address of  
each set;
- to avoid complicated installation on the machines where sets reside  
(i.e. not Java/python/php based).


Wanted functions:
- Revolution applications can access (read/write/update) xml  
documents throught the network;
- To be able to synchronize each set (in order to have mirrors sets  
of the xml documents);
- To index each xml document for fast query (xpath, xquery and  
xupdate in Rev 3, a dream? No a must, definitely!).


I am currently using eXist an Open Source Native XML Database (http:// 
exist-db.org/) but I need to have multiple sets of xml documents  
somewhere on the net and to be able to synchronize those sets.
I will be grateful to read any serious clue from developers actually  
knowing the topic.

JG
___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Constrain Within Circle?

2005-11-05 Thread Joel Guillod

Should the ArcadeEngine be optimized for speed from ...



Function findAngle
   ...

   put abs(x1-x2) into oppositeLeg
   put abs(y1-y2) into adjacentLeg
   if adjacentLeg0 then
 put atan(oppositeleg/adjacentLeg) into alpha
 put alpha*180/pi into alpha
   else
 put 90 into alpha
   end if
   switch
   case x1=x2 and y1=y2
 put alpha into foundAngle
 break
   case x1=x2 and y1=y2
 put 180-alpha into foundAngle
 break
   case x1=x2 and y1=y2
 put 180+alpha into foundAngle
 break
   case x1=x2 and y1=y2
 put 360-alpha into foundAngle
 break
   end switch
   return round(foundangle)
end findAngle




...to :

Function geometry_findAngle
  ...
  put x1-x2 into oppositeLeg
  put y1-y2 into adjacentLeg
  return atan2(adjacentLeg,oppositeleg)*180/pi+90 -- +90 should be  
+180 in standard geometry

end geometry_findAngle

?

Well, this is just a suggestion. For speed and time sparing  
Revolution is so fast that my solution would probably spare only a  
fraction of millisec but may be my suggestion could help in code  
simplicity (3 lines against 23) and therefore maintenance and bytes  
size, isn't it?




___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Constrain Within Circle?

2005-11-05 Thread Joel Guillod

Hi Malte,

My test with the 2 different versions of the function shows a 25%  
faster with the one using atan2 (test with 1000 and 1 loops, 200  
runs)... on a G4/1.67 GHz/RAM 2 Go/Mac OS X 10.4.2. Probably you  
loose time with testing x1=x2... But you are right one loop was less  
than one millisecs and may not impair the overall performance.




Should the ArcadeEngine be optimized for speed from ...



It is. In my test using atan instead of atan2 was a few milliseconds
faster. Not too many though. in 350 loops and 50 test runs the atan
version was about 70 millisecs faster on a G4 - 400 MHz than the atan2
version. That´s why I chose the longer form. But ...


___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Magnifying a shrunken image --- without using imageData

2005-08-30 Thread Joel Guillod

Roger,

There is a simple solution which is to have a group containing an  
image. The lockloc of this group should be true, then you dimension  
the image according to the scale you choose and you set the image  
location according to the rect of the image you want to display. The  
container group is performing like a window but you have to set the  
loc of the image for the portion you want to see.


Bonus: You can download my sample stack imedMagnifier in the Rev  
Online user imed category utility. This is a beta version!


Enjoy!

Joel G - www.imed.ch





From: [EMAIL PROTECTED]

I have an image that is larger than the screenRect. I scale it to  
fit the
window. Now I want to magnify a portion (100x100 pixels) in another  
image

object.

The problem is that if I put the text of (a portion of the  
imageData) into
the magnified image, it is VERY pixelized. I need to access the  
original

full resolution image for the magnified area.

How can I accomplish this without using an external? Thanks for any
suggestions.

Roger Eller [EMAIL PROTECTED]




___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Convert ColorNames to RGB

2005-08-29 Thread Joel Guillod

The other way around is harder - you have to script / use a lookup
table.


Not so hard to build a map between ColorNames and RGB: create a field  
and name it fColors, then put the following script in the card  
script and type build in the message box: now the field display for  
each color a line with: its colorname, a color rectangle, the color  
value for html, the RGB value.


For lazy one, download a ready made stack ColorNames Displayed is  
available under Revolution online, user imed. Enjoy!


Joel G


on build
  set cursor to watch
  lock screen
  set the itemdel to tab
  put empty into fld fColors
  repeat for each line c in colornames()
put c  tab   tab after fld fColors
set the backgroundcolor of char 1 to -1 of item 2 of last line  
of fld fColors to c
put the backgroundcolor of item 2 of last line of fld fColors  
into tColor
put htmlColor(tColor) tab rgbColor(tColor) cr after fld  
fColors

  end repeat
end build

function htmlColor c
  put # into r
  repeat for each item i in c
 get baseconvert(i,10,16)
 if len(it)=1 then put 0 after r
 put it after r
  end repeat
  return r
end htmlColor

function rgbColor c
  return format(%03s,%03s,%03s,item 1 of c,item 2 of c, item 3 of c)
end rgbColor

___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: use-revolution Digest, Vol 23, Issue 74

2005-08-22 Thread Joel Guillod

Mark,

I have no idea if you are hired by Runrev to write the API and  
documentation for the external. So the following should possibly be  
applied to Runrev. But before filling a blocking bug, let me kindly  
go on your reply.
We stayed tuned since a long while but now I actually need a proper  
documentation for the SDK and probably that RunRev published all the  
API.
I have hired an engineer for writing specific C externals we use in  
medical image processing (malignant melanoma screening). Can we make  
professionnal business with Revolution or should we consider it not  
for serious? Can you tell us how long we have to wait for clean API  
externals and documentation? Of course you understand that I  cannot  
pay workers to wait. Because I have been a first days Hypercard/ 
Supercard/CompileIt! user, I was confident that our development could  
succeed on Revolution. Now in our development stage we urgently need  
to integrate our C code in the externals for MacOSX/Windows and Linux  
in a second step. This month not in October! You could reply that I  
had to test the external SDK before but this is a marketing issue  
from Runrev that I have trusted based on their annonced features of  
Revolution. Also it would be completely unfair (possibly a legal  
offence) that only restricted or selected developers can make  
professional business by coding externals properly. The very  
experienced engineer I hired has just droped me this note about the  
external SDK: «Considering what they give, it is clear that they do  
not want that people make externs...». Yes we have been able to build  
something but we want to do it professionally and safely. I dont want  
to have my application regularly crashed the way I experiment it with  
externals I have paid for recently (this is another debate, ok)...


Well, I am still entrusting that a robust and documented solution  
will be published soon. All the Revolution community will benefit  
from that and this will enable Runrev to grow in consideration of  
professional developers, simply considering the many external plugins  
available for other competitors IDE and their success. Today let us  
know the delay, please!


Sincerely,

Joel Guillod


Date: Sun, 21 Aug 2005 09:27:31 -0700
From: Mark Wieder [EMAIL PROTECTED]

Joel-

Sunday, August 21, 2005, 12:19:31 AM, you wrote:



feedback, did I miss something? Is there an other complete
documentation for externals?



Stay tuned.

--
-Mark Wieder
 [EMAIL PROTECTED]


___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: [ANN] Animated gif for OSX progress

2005-08-22 Thread Joel Guillod

You are most welcome, Joel.

And Howard, you are not actually stopping the  animation which  
continues in
the background. As in the original posting and  repeated when  
uploaded to ssBk
Online, set the repeatCount of the image ID to -1  to start the  
animation and

0 to stop it.



On what platform do you run? I still dont see the animation during  
script execution. Try this on MacOSX 10.4.2:


1.- Put this handler in the script of a card displaying your  
animation image:


on doTheLongProcess pCount
  repeat with i=1 to pCount
put i
  end repeat
end doTheLongProcess

2.- Ensure that the image is animated, i.e. type in the msg box: set  
the repeatCount of the image X to -1


3.- Type the following in the msg box doTheLongProcess 4000

4.- Here you notice that the msg box displays an increasing value but  
the image is not animated.


Now, do you catch my former question? Or does your own computer  
display the animation, mine does not...



So to allow for the animation to be displayed during the execution of  
script, I do the following:


1.- Change the above script to:
on doTheLongProcess pCount
  repeat with i=1 to pCount
put i
animateImg -- this is the fix to allow for the animation to  
display.

  end repeat
end doTheLongProcess

local llast_animate = 0

on animateImg i
  -- dont do the wait for each iteration of the calling handler  
since this will slow down the execution:

  if millisecs()-llast_animate100 then
wait 0 millisecs
put millisecs() into llast_animate
  end if
end animateImg

2.- Note that calling wait allows for the screen to display.
3.- Dont use a lockscreen or set lockscreen to true in your  
script because this will prevent the redisplay, of course.


That's my proposal. I build a test stack named Display animation  
process which you find under username imed. It will show you time  
wasting depending of the settings (animate or not, screen locked or  
not).


JG


___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Uncomplete Externals SDK Documentation

2005-08-22 Thread Joel Guillod

(Sorry I repost it with the correct subject title!)

Mark,

I have no idea if you are hired by Runrev to write the API and
documentation for the external. So the following should possibly be
applied to Runrev. But before filling a blocking bug, let me kindly
go on your reply.
We stayed tuned since a long while but now I actually need a proper
documentation for the SDK and probably that RunRev published all the
API.
I have hired an engineer for writing specific C externals we use in
medical image processing (malignant melanoma screening). Can we make
professionnal business with Revolution or should we consider it not
for serious? Can you tell us how long we have to wait for clean API
externals and documentation? Of course you understand that I  cannot
pay workers to wait. Because I have been a first days Hypercard/
Supercard/CompileIt! user, I was confident that our development could
succeed on Revolution. Now in our development stage we urgently need
to integrate our C code in the externals for MacOSX/Windows and Linux
in a second step. This month not in October! You could reply that I
had to test the external SDK before but this is a marketing issue
from Runrev that I have trusted based on their annonced features of
Revolution. Also it would be completely unfair (possibly a legal
offence) that only restricted or selected developers can make
professional business by coding externals properly. The very
experienced engineer I hired has just droped me this note about the
external SDK: «Considering what they give, it is clear that they do
not want that people make externs...». Yes we have been able to build
something but we want to do it professionally and safely. I dont want
to have my application regularly crashed the way I experiment it with
externals I have paid for recently (this is another debate, ok)...

Well, I am still entrusting that a robust and documented solution
will be published soon. All the Revolution community will benefit
from that and this will enable Runrev to grow in consideration of
professional developers, simply considering the many external plugins
available for other competitors IDE and their success. Today let us
know the delay, please!

Sincerely,

Joel Guillod



Date: Sun, 21 Aug 2005 09:27:31 -0700
From: Mark Wieder [EMAIL PROTECTED]

Joel-

Sunday, August 21, 2005, 12:19:31 AM, you wrote:




feedback, did I miss something? Is there an other complete
documentation for externals?




Stay tuned.

--
-Mark Wieder
 [EMAIL PROTECTED]


___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Uncomplete Externals SDK Documentation

2005-08-21 Thread Joel Guillod

In the RunRevExternalSDK found at:
http://downloads.runrev.com/resources/externals/revexternalssdk.zip
many features remain undocumented in the Externals stack and the  
other files. I know this has been a recurring and annoying problem  
for many years and that a great step has been made last year in the  
good direction. RunRev is certainly interested to provide all the  
details for developers who are willing to benefit from the whole  
power of the externals. Before filling a bug I would like to get your  
feedback, did I miss something? Is there an other complete  
documentation for externals?


Some of the callback functions not documented or with wrong  
documentation:


GetImageByID
GetImageByNum
mc_xtclose
mc_xtinit
ShowImageById
ShowImageByName
ShowImageByNum
X_close
X_init
X_main_loop
X_set_idle_handler
X_set_idle_rate
X_set_poll_handler
X_set_post_poll_handler
X_set_post_xevent_handler
X_set_pre_xevent_handler
X_set_select_handler

In advance thank you.

Joel G
---
«Only one thing is impossible for God: To find any sense in any  
copyright law on the planet.» (Mark Twain)
«Seulement une chose est impossible à Dieu : Trouver le moindre sens  
aux lois de copyright sur la planète.» (Mark Twain)



___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: [ANN] Animated gif for OSX progress

2005-08-21 Thread Joel Guillod

Thanks for the nice 16x16 24-frame animated gif !

I wonder to know if there is a way in Revolution that animated gif  
are going to be automatically animated during the execution of a  
script. This is in fact the reason of your new 'chasing arrows' to  
show the user that a process is currently running and he should be  
patient.


My solution up to now:
1.- open the animated gif in GraphicConverter
2.- save it as a Quicktime Movie,
3.- add a Player named MyAnim onto your card
4.- in message box type :
   set the filename of player MyAnim to theQuicktimeMovieFilePath
   set the looping of player MyAnim to true
5.- then a script sample during which the animation is displayed:

  on doSomeLongProcess
  show player MyAnim
  start player MyAnim
  here you have some long process to run -- -- change as needed...
  stop player MyAnim
  hide player MyAnim
  end doSomeLongProcess

6.- Of course the animation is not displayed if you set the  
lockscreen to true in your script.


Enjoy and tell me if there is a direct solution with animated gif.

Joel G
___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Revolution filepath to Applescript file: how to?

2005-08-02 Thread Joel Guillod
I am looking for a script to convert a filepath to an Applescript  
file statement. For example:
  /Users/toto/Desktop/Image 6.png = file Image 6.png in the  
folder Desktop in home


My current version is as below but it does not deal with files  
outside the /Users directory. Who can help me?


function Applescript_filepathFor pFile
  set the itemdel to /
  if offset($HOME,pFile) is 1 then
if there is a file pFile then put file  q(last item of  
pFile) into r

else put folder  q(last item of pFile) into r
delete char 1 to len($HOME) of pFile
repeat with i=the num of items in pFile -1 down to 2 -- 2  
because first item is empty (/...).

  put  in the folder  q(item i of pFile) after r
end repeat
return r  in home
  else throw ERROR: I DONT KNOW HOW TO CONVERT:  PARAMS()
end Applescript_filepathFor


Thanks, jg

___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Revolution filepath to Applescript file: how to?

2005-08-02 Thread Joel Guillod

Ken ,

Yes, I would be pleased to get your conversion routine.

My problem is that I dont know exactly know how to convert in MacOSX  
(MacOS9?)

from: /Users/toto/Desktop/Image 6.png
to: Main HD:Users:toto:Desktop:Image 6.png
or from: /Volumes/My Device/toto/Image 6.png
to ...?

Thanks very much. jg


have you considered converting to a :-delimited path for use with
AppleScript?  For example, your path above, if it was on a hard  
drive called

Main HD would be:

  file Main HD:Users:toto:Desktop:Image 6.png

and AppleScript can use that just as easily. If colon-delimited  
will work

for you, let me know and I'll post my conversion routine.


___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Getting the type code of a file under OSX

2005-07-31 Thread Joel Guillod

Ken,

Why do you bother with the second parameter pType? Just drop it and  
change the following from:


  put urlEncode(last item of pFilePath) into tItem
  delete last item of pFilePath
  put the directory into tOldDir
  set the directory to pFilePath
  if pType = file then
put the detailed files into tDetailedList
  else
put the detailed folders into tDetailedList
  end if

to:

  put there is a file pFilePath into tIsFile -- new script line
  put urlEncode(last item of pFilePath) into tItem
  delete last item of pFilePath
  put the directory into tOldDir
  set the directory to pFilePath
  if tIsFile then -- modified script line
put the detailed files into tDetailedList
  else
put the detailed folders into tDetailedList
  end if

then the first line of your function is simply:

   function stsFileInfo pFilePath

and that's it!

Cheers,

Joel



[...]

on mouseUp
  answer file Get a file:
  if it   then
put stsFileInfo(it,file) into tDocInfoA
put tDocInfoA[creatorType]
  end if
end mouseUp

If I selected a Word document, this would return MSWDW8BN.

--
--| FUNCTION: stsFileInfo
--|
--| Author:   Ken Ray
--| Version:  1.0
--| Created:  3/4/04
--| Last Mod: --
--| Requires: --
--|
--| Retrieves the file/folder information on a specific file/folder  
in a

parseable array
--

function stsFileInfo pFilePath,pType
  -- supports keys of
full,fileName,dataSize,resSize,createDate,modDate,accessDate,BUdate,o 
wnerID

,groupID,permissions,creatorType,Size
  set the itemDel to /
  put urlEncode(last item of pFilePath) into tItem
  delete last item of pFilePath
  put the directory into tOldDir
  set the directory to pFilePath
  if pType = file then
put the detailed files into tDetailedList
  else
put the detailed folders into tDetailedList
  end if
[...]

___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Spotlight indexing: feature request proposal

2005-07-31 Thread Joel Guillod
As far as I understand the indexing of stacks by Spotlight (MacOSX),  
scripts only are used as the text to index. Of course this is of very  
high value for developers and I am willing this feature. But on the  
other side it could impair security if the password of the stack has  
not been set (what I never do, at least during development cycle).  
Also indexing the content of fields would be also very usefull (even  
more than scripts for content management stacks). Do you agree? I am  
considering to fill a request feature in bz and would like to get  
user's feedback first. So please tell me more what you think about  
this idea:


I propose the addition of two new stack properties for telling  
Spotlight how to index stacks:
- the spotlightScript of this stack: if true the scripts of the  
stack is indexed by Spotlight. If false, no script indexing is done  
for the stack.
- the spotlightText of this stack: if true the content of fields  
and titles of objects are indexed by Spotlight. If false, objects  
content indexing is not done for the stack.
By default both properties are true (i.e. when the stack is created).  
When creating a substack, its spotlight properties are default to the  
value of its mainstack but they can be changed independantly from the  
mainstack.


Nice to read your coming comments.

jg
___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Getting the type code of a file under OSX

2005-07-30 Thread Joel Guillod

Hi Eric,



So, I propose another approach:
As usual, is this one the last one?
:-)
[...]
function CreatorAndType pFilePath
   local tDefaultFolder,tFile,tCreatorType
   -
   if the platform  MacOs then return Error: filetype not
supported
   put the defaultFolder into tDefaultFolder
   set the itemdel to slash
   set the defaultFolder to item 1 to -2 of pFilePath
   put the detailed files into tFile
   filter tFile with urlEncode(item -1 of pFilePath)  ,*
   set the defaultFolder to tDefaultFolder
   set the itemDel to comma
   put item 11 of tFile into tCreatorType
   if tCreatorType = empty then return Error: could not determine
the filetype
   return char 1 to 4 of tCreatorType,char 5 to 8 of tCreatorType
end CreatorAndType



This is the function handler I will retain for own my filefolder  
library:


/**
@usage local tCreator,tType; if file_getCreatorAndType 
(pFilePath,@tCreator,@tType) is not empty then
@result The returned value will not be empty if the pFilePath file  
does not exist. Also tCreator and tType will be set to the creator  
and type of the file pFilePath; when empty, the creator and type are  
not set for the OS plateform.
@version 30.7.2005 - Modified by Joel Guillod from a proposal by Eric  
Chatonnet.

*/
function file_getCreatorAndType pFilePath,@pCreator,@pType
  local tDefaultFolder,tFile,
  put the defaultFolder into tDefaultFolder
  set the itemdel to slash
  set the defaultFolder to item 1 to -2 of pFilePath
  put the detailed files into tFile
  set the defaultFolder to tDefaultFolder
  filter tFile with urlEncode(item - 1 of pFilePath),*
  if tFile = empty then return Error: could not find file
  set the itemDel to comma
  get matchtext(item 11 of tFile,()(),pCreator,pType)
end file_getCreatorAndType



Remarks:
- I dont want to have the handler to rely on one specific platform.  
So I dont check that the platform  MacOs. The result will be  
empty on not MacOS plateforms and this is safe (or a contract for the  
result).
- The function is intended to extract the file creator and/or type  
(at least one of both), so not to repeat the char 1 to 4/char 6 to 9  
on the result in the calling handle, I propose to directly set the  
value in the function by passing by reference the pCreator and pType  
variables. This should save some fractions of millisecs...
- ... and better it will be safer for future use: if you call your  
function and then forget that comma can be in the 4-chars of the  
creator or type, you could wrote buggy code like:

   put CreatorAndType(pFilePath) into tct
   put item 1 of tct into tCreator -- correct is: char 1 to 4 of tct
   put item 2 of tct into tType -- correct is: char 6 to 9 of tct




When working on the Getting the type code of a file under OSX
thread, I noticed that the long files function return an empty
filetype for TextEdit files (raw text or RTF).
FileBuddy reports correctly, Rev not.
Could you confirm?


Yes I confirm such a behavior. Remember that under MacOSX, not all  
files have a creator/type. Suffix of the file (e.g. .pdf) is  
usually sufficient for the MacOSX to know its type and therefore how  
to deal with it (e.g. application to open it).


One question: how can I get the application(s) which can open a file  
given its filepath? One answer to open the file but does not give the  
application(s) names:

   revgourl URL (binfile:  tFilepath)
Other solutions for each supported platform?

Joel
--
Ils ne savaient pas que c'était impossible, alors ils l'ont  
fait. (Mark Twain)

They did not know that it was impossible, so they did it.

___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: empty ask result + ok = result:cancel

2005-07-26 Thread Joel Guillod

Dear Mister X,

I mentioned such a bug (#3019) in build 91 and it has been  
wonderfully fixed for the current downloable build.


In  the msg box, put  version(), buildnumber() should reply  
2.6.5,108. Otherwise download and reinstall Rev 2.6 again.


Also I agree with Eric, you should place the result() function just  
after the ask statement:


   ask Replace what: with lselection
   if result() is cancel then exit mouseup
   put it into x

Hope this help.

Joel G


Le 25 juil. 05 à 04:46, [EMAIL PROTECTED] a  
écrit :



Date: Sun, 24 Jul 2005 20:04:06 +0200
From: MisterX [EMAIL PROTECTED]
...
  ask Replace what: with lselection
  put it into x
  get the result
  if it is cancel then exit mouseup


___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


[bug reason found] Re: Failing building Standalone on MacOSX 10.3.9 and Tiger 10.4.1

2005-06-28 Thread Joel Guillod

Thanks all folks for the advices.

I have now been able to build a standalone by commenting the  
savingStandalone in the main stack. In the IDE this handler works  
properly without error but when executed by the standalone builder it  
unexpected quits Rev. I am going to update the bug in this direction.

___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Failing building Standalone on MacOSX 10.3.9 and Tiger 10.4.1

2005-06-27 Thread Joel Guillod
Since Rev 2.6 I have not been able to build any standalone: after  
setting the Application Setting, then chosen the Save as Standalone  
Application menu Revolution unexpectedly quits after less than 1-2  
secs. I have tried to change settings but could not fix myself. For  
such a very very annoying situation I filled a blocking bug last week  
but didn't receive any reply from Runrev.
On my desktop the Help menu - Check for updates... replies You have  
the lastest version of Revolution along with the latest updates.
Could anyone tell me if (1) s/he has been able to build standalone  
under MacOSX 10.3.9+? If yes, how? (2) s/he is aware of such a  
problem and what to do?


On a previous release we had to wait for more than 4 months before  
Runrev fixes a problem with MacOSX bundles and externals and some  
days I really ask myself which dev plateform to go on with. I would  
accept that this problem could be due to a bit of electronic ghost in  
my hardware but before shaking my head once again to the wall, I  
prefer to check for other unfortunate MacOSX revolutioners...


In advance thanks so much for making me a happy Rev user! JG
___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: compileIt for revolution?

2005-06-24 Thread Joel Guillod

From: Dan Shafer [EMAIL PROTECTED]
[...]
Then my second favorite language was Python. The GUI-building tools
for Python are pathetic to non-existent. But the language is powerful
and elegant and extends naturally. If the PythonCard project I was
engaged in before I discovered Revolution had been on a fast track or
complete, odds are I'd have never used Rev.


Didn't you know about wxDesigner to generate the Python code for GUI? 
There is also a very new Boa Constructor upgrade...
Yes, Python is lacking for an IDE, i.e. Integrated tools for coding 
and designing GUI!

I expect an integrated Python external but as the SDK is so obscure...

___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: A hint of the Future

2005-06-21 Thread Joel Guillod
TMI Will someone that was at the conference please tell me the hint 
of the

TMI future for rev. please

It will all be revealed in the RevCon 2006 keynote.


2006? What a smart future for Rev!

I'm still dreaming about some REALly Rapid Release Plans. Maybe we as 
developers are not filling bugzilla requests for new features: XSLT, 
Xforms, HTMLViewer or some of the 40 native user interface controls 
that REALbasic provides, ...


JG



Joël Guillod

___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: use-revolution Digest, Vol 20, Issue 96

2005-06-11 Thread Joel Guillod
I had a dream that Runrev also has «Rapid Release Plans» for 
Revolution. Constructive ideas can be found at:

  http://www.realsoftware.com/company/pressreleases/pr_rapidrelease.html

:)
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Rapid Release Plans

2005-06-11 Thread Joel Guillod
I had a dream that Runrev also has «Rapid Release Plans» for 
Revolution. Constructive ideas can be found at:

  http://www.realsoftware.com/company/pressreleases/pr_rapidrelease.html

:)

___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


altSQLite versus Valentina for Rev

2005-05-16 Thread Joel Guillod
Russlan,
What a good opportunity to explain you some of the reasons why you 
probably miss so many users. My own experience of Valentina has been a 
failure because I have never been able to easily operate Valentina with 
Hypercard/Supercard and more recently with Revolution. Dont reply that 
I should not be an adequate programer, just search the Rev archives to 
understand that many  Revolutionados have made attempts to use 
Valentina with many difficulties and switched to another solution.

Also be aware that altSQLite has been released with the following 
advantages among others:
- many altPlugins are provided for free and has been proven very 
usefull and well polished;
- the altSQLite Demo stack is very well designed and just ready to use 
sample: you open it, it just works and you can see the sample scripts;
- affordable price;
- SQLite is widely recognized by many other developers: see PHP for a 
single instance, not to say the MacOSX Tiger integration.
- last but not least: speed development time. I spend many days failing 
to deal with Valentina user guides where I have been able to create a 
DB and to write error free scripts with altSQLite in just minutes.

Yet there is a problem with altSqlite under MacOSX 10.3.9 which crashes 
Revolution in some circonstances but I am confident that Chipp/Altuit 
will fix that soon. As Revolution developers we know that he is very 
active and reactive. You have proven the opposite. There was (is? I 
didn't check recently) no Revolution sample stack for Valentina. Also 
some arguments in favor of Valentina are not so important for most of 
our applications:
- speed is most often an issue when users have large databases which is 
not the case for most of us;
- price can be an issue: I am not sure that many of us are selling 
their applications to valuate Valentina more than the free Postgres or 
MySQL DBMS;
- Those DBMS are supported by many developers and we dont know what 
would happen to Valentina I you disappear tomorrow. SQLite source code 
is available and free. What a warranty for our data;
- multiusers capability require another process to execute Valentina 
and those DBMS. I dont see any advantages of one over the others if 
you'd like to release an easy installation to users.

My last comment is that competition is good! As developers we really 
thank Altuit to have written the SQLite plugin because this finally 
forces Paradigma Software Inc to seriously watch for the Revolution 
developers to give them the consideration and support they actually 
missed until today. BUT be aware that the time is very short not to 
loose the market today! Dont do war, build tools which prooves you make 
the developers' life easier!

Regards,
JG
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: altSQLite versus Valentina for Rev

2005-05-16 Thread Joel Guillod
Le 16 mai 05, à 18:00, [EMAIL PROTECTED] a écrit :
I'm not sure if you are on the Valentina mailing list or not but Ruslan
is one of the most helpful developers I have ever come across.  True
there is not example stack and Chipp has created an *excellent* example
stack but to say that Ruslan has proven the opposite is a not a fair
statement.
After some corrections the words have gone further my thought. You are 
right sorry I was not willing to be negative against Ruslan as an 
individual and I recognise that he was very responsive to my questions 
in the ancient time (about 1999) when I studied Valentina for the first 
time. What I wanted to point out is that altSQLite was released a few 
months after Altuit started the development and that we got a 
wonderfull Demo Stack which helps starting efficiently with SQLite 
under Revolution but after years there is no such a stack from 
Paradigma Software Inc to help us starting  with Valentina for Rev. In 
short Altuit has proven its committment in Revolution, Paradigma has to 
do it.

JG
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Python and Rev

2005-04-04 Thread Joel Guillod
Anybody familiar with Ruby or WideStudio?
Personnaly I use Eclipse + PyDev + Ant + wxDesigner for GUI (I am 
trying it currently) + wxPython (i.e. a wrapper for the wxWidgets as 
the multiplatform GUI). At first a bit more complex than Revolution or 
RealBasic IDE but opensource, much more reliable and quick fixes by the 
wide developers' community, object oriented with more complex data 
structures and many important modules ready to use (xslt, database, 
sockets, easy C/C++ externals, ...). Like others I will probably keep 
Rev for some programming but the most important - and the most 
difficult - is to use the right tool for the right thing...!


Rev allows AppleScript via the do ... as AppleScript command.
Perhaps this could be extended to support things like
do ... as Python
do ...
Why not? But under MacOSX 3.x you just have to run the following script:
  put print 'hello' into thePythonScript
  put shell(python -c  quote thePythonScript  quote)
(also similar for ruby...).
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Access to the Mac OS X Address Book

2005-02-21 Thread Joel Guillod
Is there a way to access to the Mac OS X Address Book from Revolution?
I found that RealBasic provides classes to do this so you can read from 
or write to the
Address Book.

JG
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


SuspendStack on CloseStack

2005-02-01 Thread Joel Guillod
Having problem in understand a strange behavior for a stack of mine, I 
realised that the doc explains that the suspendStack message is also 
send when closing a stack. But I need to distinguish two situations: 
(1) when user click on another window than the default stack (which is 
that the currentStack is suspended) from (2) when user close the 
default stack. Only the closestack message is sent in situation 2 but 
both suspendStack and CloseStack are sent in situation 1. How can I 
know that I am in situation 1? I thought the semantic meaning of 
suspendstack was precisely to distinguish from the closeStack which is 
the behavior in Hypercard. I use Rev 2.5, but the documentation does 
not report any change to this system message since its introduction in 
1.0.

Summary:
(1) clicking on another stack than the default one sends: suspendStack
(2) closing a stack sends: suspendStack + CloseStack
Question: how can I know in the suspendStack message that I am in 
situation 1 and not 2?

Thanks to any expert.
Joel G

Dr Joël Guillod
Médecin-associé au CHUV
Ancien chef de clinique
Fbg du Lac 7
2000 Neuchâtel
Tél. 032.721.29.29
Fax 032.721.29.30
Email: [EMAIL PROTECTED]
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


RE: Of standalones, bundles and files

2005-01-28 Thread Joel Guillod
Dave,

Date: Thu, 27 Jan 2005 23:27:32 -0700
From: David Squance [EMAIL PROTECTED]
Subject: Of standalones, bundles and files
I'm using RR2.1.2 on OSX, and would like to avoid using the standalone
builder, as it takes 30 to 40 minutes doing something with a particular
substack.  Is there a reason why I shouldn't just build the
splashscreen stack and put the 'real' rev file in the same folder and
avoid having it in the build?  And if I do this, is there a way to get
the file inside the OS X bundle?
Dave

Recently Trevor DeVore [EMAIL PROTECTED] gave me the answer 
(the at least for me!):

  http://mangomultimedia.com/developer/revolution/using_externals.html
My preferred way to fastly swap from developing to testing the 
implementation is to build the standalone as one stack with just the 
startup screen and the script below. That way I dont need to wait the 
long process of building a dozens stacks applications. My application 
folder looks like this:

path/Application Folder
path/StandaloneApplication -- this is the standalone
path/StandaloneStack -- Optional but practical for swaping between Dev 
and Standalone: This is the one stack used to build the standalone. Its 
card contains the script below and a splah screen.
path/plugins/Startup -- this is my initialization stack: I put in its 
preOpenstack all the scripts to executed to initialize my 
application.
path/plugins/ExternalLoader -- during initialization I do a: go 
invisible to stack ExternalLoader to load the externals (see the 
above link from Trevor).
path/plugins/many_other_stacks_used_by_your_application -- These are 
the stacks of my application.
path/plugins/externals/ -- this is the folder in which I put the 
externals
path/plugins/externals/revdb.bundle -- this is the externals for 
database
path/plugins/externals/revdb.dll -- this is the externals for database
path/plugins/externals/revxml.bundle -- this is the externals for xml
path/plugins/externals/revxml.dll -- this is the externals for xml

Script inside the unique card of the StandaloneApplication stack looks 
like this (I use a variant because I have a rolling script for a field 
displayed on the startup screen, I can share the whole stack if you'd 
like to):

on startup
  send startApplication to me in 3 secs -- dont do startApplication 
directly because some libraries will not be loaded, see documentation 
under the note under subject revGoURL.
end startup

constant kStarterStack = plugins/Startup
/** startApplication
@purpose To start the application according to the convention.
@convention Just next to the application file there should be a 
plugins folder with a Startup stack (depends on constant 
kStarterStack).
@convention This startup stack is just responsable to start the 
application when it receives a preOpenstack message.
*/
on startApplication
  put the short name of this stack into kApplicationStack
  start using stack kApplicationStack
  put startupStackFilepath() into tStartupStack
  if there is a stack tStartupStack then
hide stack kApplicationStack
open stack tStartupStack
  else
-- this is the french translation : answer error Le module de 
démarrage de l'application est introuvable! Veuillez vérifier votre 
configuration! crcr tStartupStack with Quitter
answer error The Startup module has not been found! Please check 
your configuration! crcr tStartupStack with Quit
quit
  end if
end startApplication

function startupStackFilepath
  set the itemdel to /
  put my_applicationStack() into f
  put kStarterStack into last item of f
  return f
end startupStackFilepath
function my_applicationStack
  put the filename of me into f
  if the platform is MacOS and char 1 of the systemVersion is 1 then
--it's a bundle
get offset(/Contents/MacOS/,f)
if it0 then delete char it to -1 of f
  end if
  return f
end my_applicationStack
Note that for MacOSX bundle it should be possible to adapt the 
startupStackFilepath() so the plugins folder is placed inside the 
bundle folder.

This is just a summary. If many are interested, I will take some hours 
to polish my own stacks and put them as a complete sample downloadable 
from the net. I wrote some usefull utility scripts to manage the 
application settings. Let me know!

Joel Guillod - www.imed.ch
___
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution


Responsivness of Runtime Revolution Ltd.?

2003-06-27 Thread joel . guillod
Dear Revolution Developers,

As far as I have been enable to test it these last weeks, Revolution appears as a very 
mature and advanced product. Being a first days Hyper- and Supercard user, I am 
convinced that Runtime Revolution Ltd should be very proud of their product because 
they 
have done a pretty good job until yet.

Leaving the implementation part of the product, I am wondering to know what you as 
developers and users are saying about the company. Is it responsive? Could we count on 
the company that the product will live a long time, being enhanced and bug corrected 
in a 
raisonable amont of time? That developers are listened for a best (R)evolution?

My own very short experience is that I registered through the Internet for some 
license of 
Revolution two weeks ago and still haven't got the serial to unlock the free version. 
I also 
sent an email yesterday but still no reply.

My previous experiences with RealBasic are so that the replies from Realsoftware are 
very 
fast. Also does the Supercard team. Then the meaning of my questions about the 
Revolution company: I have been waiting for a while for the second version annonced 
many 
months ago. Now it is here and is working quite fine (ok few bugs but very few for an 
upgrade). So, I decided to move and to make development first for academic projects 
to, 
maybe later on, commercial ones. And now I have to admit that things may be going very 
slow...

So, let me know if I will be able to do serious development with Revolution. I am 
convinced 
that my own problem is just a small failure somewhere but the doubt has been raised.

If you prefer for privacy, please just reply directly to me at [EMAIL PROTECTED].

King Regards and good pleasure with Revolution,

Joel
___
Fighting against the malignant melanoma, the worst skin cancer?
 See http://www.imed.ch/dermoscopy/

___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Responsivness of Runtime Revolution Ltd.?

2003-06-27 Thread joel . guillod
Dear Revolution Developers,

As far as I have been enable to test it these last weeks, Revolution appears as a very 
mature and advanced product. Being a first days Hyper- and Supercard user, I am 
convinced that Runtime Revolution Ltd should be very proud of their product because 
they 
have done a pretty good job until yet.

Leaving the implementation part of the product, I am wondering to know what you as 
developers and users are saying about the company. Is it responsive? Could we count on 
the company that the product will live a long time, being enhanced and bug corrected 
in a 
raisonable amont of time? That developers are listened for a best (R)evolution?

My own very short experience is that I registered through the Internet for some 
license of 
Revolution two weeks ago and still haven't got the serial to unlock the free version. 
I also 
sent an email yesterday but still no reply.

My previous experiences with RealBasic are so that the replies from Realsoftware are 
very 
fast. Also does the Supercard team. Then the meaning of my questions about the 
Revolution company: I have been waiting for a while for the second version annonced 
many 
months ago. Now it is here and is working quite fine (ok few bugs but very few for an 
upgrade). So, I decided to move and to make development first for academic projects 
to, 
maybe later on, commercial ones. And now I have to admit that things may be going very 
slow...

So, let me know if I will be able to do serious development with Revolution. I am 
convinced 
that my own problem is just a small failure somewhere but the doubt has been raised.

If you prefer for privacy, please reply directly to me at [EMAIL PROTECTED].

King Regards and good pleasure with Revolution,

Joel
___
Fighting against the malignant melanoma, the worst skin cancer?
See http://www.imed.ch/dermoscopy/


___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution