RE: Protecting your Rev apps - freeware options

2004-12-17 Thread MisterX

Just a couple notes on my experience.
- Freeware is not rewarded usually.
- Shareware neither
- blocking features = more problems in maintenance
- a demo, light and pro version seems better for all purposes (or budgets)

If you want protection for your efforts, leave the demo downloads and wait
for a pro version purchase request. By far the best examples among many
disable save and print (output) features. They dont block the user from
seeing or using the software and if they really need to save they simply
pay.

But anti piracy features are ALL futile. There isn't one I haven't seen
busted whether hardcoded or based on a physical (CD or dongle) protection or
a serial number. Look at DVD regions and protections - millions wasted in
research for nothing except less sales, disapointed customers who can't play
their dvds, incompatible (obsolete) dvd players, and so on...

I tried the freeware path. Then the shareware path. Im still trying to get a
second paypal donations after months of releases, improvements of many
freewares and sharewares.

The economics of it is sad. In the end, the freeware or shareware author
gets discouraged, changes market or builds limited demos and builds less
free features so the yellow leeches end up loosing anyway! In the end the
leech pays more in effort and time than they would have if they had donated
even just a simple burger menu for the author which would have kept the free
flow of free software - usually better featured than most commercial
softwares!

As many other freeware authors, they give ya instant free software, free
updates, free support, quick feedback and fixes where as commercial products
demand support fees or paying upgrades. Which is more expensive? Plus if you
need a feature, just asking or supporting the user gets you that feature
quite fast - compare THAT to commercial software anytime!

Personally, im quite impressed with how Flstudio.com did it. FruityLoops is
a music hypercard (forget midi software for RunRev!) built over Delphi (PC
only) for music production (GarageBand is just a lame lame music box
compared. They have a free fully working demo (no save) on Tucows. Once you
buy it, all updates are free! You can purchase new plug-ins when they are
released and add them to the whole (eg VSTs or DX effects or synthesizers).
The best of it all is that all updates are also free! They have 3 forums for
chat, files and tech. They are truely formidable and selling extremely well!
Their company started also like RunRev! The music business in this case is
quite like RunRev... 

Last but not least, sponsoring freeware authors also increases greatly their
motivations to make more and better software than what's available.
Remember, the best things in life are free. Your donation is just an
opportunity cost between money your would just waste any day on a wimsy
gadget and better software you could use to improve your computer toolset
the rest of your life and literally for free!

Currently Im going to stop doing freeware and work on better paying
solutions. I will bring out less nitrous plugs in (except in my tool chest
where they currently sprouting like mushrooms!) Maybe later there will be
more utilities seeking users wanting to help out but right now, the best
solution seems to create real executables that you can dump on tucows, and
the larger public.

Imagine I have a lego box. If you contribute to it, you can play with it. It
costs you a few lego pieces only. Then instead of playing with your punny
300 pieces you can play with everyone pieces! Interestingly simple and
devilish metaphor i think because if that was applied to science instead of
patent protection, the sharks leeching on the system and market wouldn't
raise the cost of products and taxes to support the bureaucracy behind.
That's just an iceberg tip in an artic ocean...

Xavier
HyperEconomist too ;)

> -Original Message-
> From: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED] On Behalf Of 
> kee nethery
> Sent: Saturday, December 18, 2004 01:12
> To: How to use Revolution
> Subject: Re: Protecting your Rev apps
> 
> Some of the more successful software Kagi sells has some of 
> the lamest protection mechanisms. The successful software 
> authors focus on getting people to to use their software, not 
> on getting people to not use their software.
> 
> Just my 2 cents,
> Kee Nethery
> 
> 
> On Dec 17, 2004, at 2:51 PM, [EMAIL PROTECTED] wrote:
> 
> >IMAO, improving your app's features/interface/etc is a 
> far better 
> > use of your time and effort than working out elaborate 
> copy-protection 
> > schemes that (a) won't work anyway and (b) will piss off your 
> > legitimate users. The question is, do you want to focus 
> your efforts 
> > on the people who are willing to pay you if your app does what they 
> > want, or on the people who will (in all probability) 
> *never* pay you 
> > no matter *what* you do?
> >Yes, software piracy is annoying. And yes, it would be a 
> Good Thi

RE: Rotating dial

2004-12-17 Thread MisterX
Kaveh,

http://monsieurx.com/modules.php?name=News&file=article&sid=164

has what you need. 

cheers
Xavier 

> -Original Message-
> From: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED] On Behalf Of 
> Kaveh Bazargan
> Sent: Friday, December 17, 2004 18:02
> To: [EMAIL PROTECTED]
> Subject: Rotating dial
> 
> I need a rotating dial, which is equivalent to a scrollbar, 
> which changes angle from 0 to 360 according to where the 
> mouse is. Actually, I managed to make one, using graphics. 
> But I wonder if there is one already done that I can use, 
> which is in keeping with GUI rules.
> -- 
> 
> Kaveh Bazargan
> http://www.focalimage.com/
> http://www.holographer.org/
> ___
> use-revolution mailing list
> [EMAIL PROTECTED]
> http://lists.runrev.com/mailman/listinfo/use-revolution
> 

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


Re: moving content of variable

2004-12-17 Thread Ken Ray
On 12/17/04 3:35 PM, "doug rogers" <[EMAIL PROTECTED]> wrote:

> 
> On 17-Dec-04, at 3:29 PM, J. Landman Gay wrote:
> 
>>> Which object do I address the copy/set command? Revolution doesn't
>>> have the dictionary to Get, Set or Copy.
>> 
>> I haven't worked much with this, so I'm just guessing, but I bet you
>> have to build a statement using "do". For example:
>> 
>> put "tell application" &"e& "HyperCard" "e&& "to copy" &&
>> theItems && "to theItems" into myScript
>> do myScript as AppleScript
>> 
>> I think that should work. Rev supports only the "dosc" appleevent for
>> script executions.
> 
> :-) There is light at the end of this tunnel... but I can't tell if
> it's the exit or an oncoming train :-)

Try this... put this in a button:

on mouseUp
  put "Call Mom,Buy groceries" into tSubjects
  put "3" into tPriority
  
  put "tell application `iCal`" & cr & \
  "copy `"  & tSubjects & "` to TheItems" & cr & \
  "set AppleScript's text item delimiters to {`,`}" & cr & \
  "set TheItems to text items of TheItems" & cr & \
  "repeat with m from 1 to (count of TheItems)" & cr & \
  "set the NewToDo to make new todo at the end of the todos" && \
  "of the calendar 1 with properties {due date:(current date)," && \
  "priority:" & tPriority & ", summary:(item m of TheItems)}" & cr & \
  "end repeat" & cr & \
  "end tell" into tAS
  
  replace "`" with quote in tAS
  do tAS as AppleScript
end mouseUp

This is how I work with AppleScript - I substitute left angle quotes for
real quotation marks while building the script and replace them with quotes
later, and I try to format it with the same line breaks as it would be if it
were being typed (note the \ line continuation characters).

Hope this gives you some insight on how to work with AppleScript in Rev...

Ken Ray
Sons of Thunder Software
Web site: http://www.sonsothunder.com/
Email: [EMAIL PROTECTED]


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


Re: moving content of variable

2004-12-17 Thread doug rogers
On 17-Dec-04, at 4:48 PM, Robert Brenstein wrote:
Is there a reason that you must use AppleScript for this?
:-) Because it is already written
Since iCal accepts appleevents, you could try using the "send to 
program" command to pass the stuff directly from Rev to iCal.
 I thought that I might also try this
 There is a crack in everything. That's how the light gets in.
____
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Newbie: find, search command

2004-12-17 Thread Ken Ray
On 12/17/04 4:20 PM, "D.Rothe" <[EMAIL PROTECTED]> wrote:

> 
> Thanx for all the help! The following method was spot on, as for the cr
> showing a blank line
> at the end of the field I simply used "filter theField without empty".

That's brilliant! I didn't even know that "filter theField without empty"
would work to remove blank lines in a string...cool!

Ken Ray
Sons of Thunder Software
Web site: http://www.sonsothunder.com/
Email: [EMAIL PROTECTED]


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


revForum

2004-12-17 Thread D.Rothe
Hi all,
New revForum bulletin board just launched, we need your feedback and 
suggestions to make it grow into 
a useful forum for all rev users to benefit from!
go to http://www.predance.com.au/cgi-bin/revforum/YaBB.cgi to visit, don't mind 
the strange URL but we are borrowing 
server space at the moment!

Best Regards to all.

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


Newbie find, search command reprise ...

2004-12-17 Thread Alex Tweedly
Earlier this week, it was said:
> I want to search for ALL instances of Xmas and display the whole
> matching line of each found in a list field.
> So far I can get it to display the first line only ( Father XmasIs
> Drunk) !
> Any help would appreciated!!! I have checked the tutorials for help
> but couldn't find what I was looking for,
> is there an example stack or notes anyone may know of?
>
The filter command is the fastest method, but be careful as it is a
destructive search i.e. it deletes the liens that don't match, so copy
your original data into a variable, filter that and keep the original
intact.
and a few people said minor variations on this; summary of them being that 
"filter" was fastest, though not always most convenient.

Well, it ain't always so.
I ran into some performance issues with my latest app this evening - 
something that I expected to be almost instantaneous took a long time. I 
assumed it was just a bug, but eventually convinced myself it wasn't - it 
was just taking too long. So I looked more closely at the parts where I was 
using "filter" quite heavily.

Input data : 10,000 lines, 1.5 Mb; the lines are all much the same size.
Search data: fairly long strings (32 characters each).
Success rate: each string happens between 2 and 5 times in the input.
In this case, "filter" appeared to be really, horribly slow - so I came up 
with a simple benchmark to check it.

on mouseUp
  put the millisecs into tStartTime
  set the itemDel to TAB
  repeat 4 times
put gFiles into tFList
filter tFList with "*cb2f8d231f68c5d70b3e62ed0a3c4c8f*"
  end repeat
  put "took " & the millisecs - tStartTime && the number of lines in 
tFList & cr & tFList & cr after msg

  put the millisecs into tStartTime
  put empty into fList
  repeat 4 times
repeat for each line L in gFilesput gFiles into tFList
  if  "cb2f8d231f68c5d70b3e62ed0a3c4c8f" is in L then put L & CR after 
tFList
end repeat
  end repeat
  put "took " & the millisecs - tStartTime && the number of lines in 
tFList & cr & tFList & cr after msg

The first version took 800 msec, while the second one took less than 1 msec.
I thought it must be because of the need to copy the input string to avoid 
destroying it (though I do need to do that in the real example), so I 
modified it to

  put gFiles into tFList1
  put gFiles into tFList2
  put gFiles into tFList3
  put gFiles into tFList4
  put the millisecs into tStartTime
  set the itemDel to TAB
  filter tFList1 with "*" & "cb2f8d231f68c5d70b3e62ed0a3c4c8f" & "*"
  filter tFList2 with "*" & "cb2f8d231f68c5d70b3e62ed0a3c4c8f" & "*"
  filter tFList3 with "*" & "cb2f8d231f68c5d70b3e62ed0a3c4c8f" & "*"
  filter tFList4 with "*" & "cb2f8d231f68c5d70b3e62ed0a3c4c8f" & "*"
  put "took " & the millisecs - tStartTime && the number of lines in 
tFList & cr after msg

Note that the time reported excludes the four copies; this still took 760 ms.
So at least in some (reasonable) cases, filter is far from being the 
fastest.  I suspect that the offset method Jacqueline suggested would be 
even faster - but since it was already less than 1 millisec I didn't pursue 
that thought.

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


Re: Protecting your Rev apps

2004-12-17 Thread kee nethery
Some of the more successful software Kagi sells has some of the lamest 
protection mechanisms. The successful software authors focus on getting 
people to to use their software, not on getting people to not use their 
software.

Just my 2 cents,
Kee Nethery
On Dec 17, 2004, at 2:51 PM, [EMAIL PROTECTED] wrote:
   IMAO, improving your app's features/interface/etc is a far better 
use of your time and effort than working out elaborate copy-protection 
schemes that (a) won't work anyway and (b) will piss off your 
legitimate users. The question is, do you want to focus your efforts 
on the people who are willing to pay you if your app does what they 
want, or on the people who will (in all probability) *never* pay you 
no matter *what* you do?
   Yes, software piracy is annoying. And yes, it would be a Good Thing 
if nobody pirated software. So what? Lots of annoying things happen, 
and software piracy is one of them. Deal with it.
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution

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


Re: Protecting your Rev apps

2004-12-17 Thread Cubist
   IMAO, improving your app's features/interface/etc is a far better use of 
your time and effort than working out elaborate copy-protection schemes that 
(a) won't work anyway and (b) will piss off your legitimate users. The question 
is, do you want to focus your efforts on the people who are willing to pay you 
if your app does what they want, or on the people who will (in all probability) 
*never* pay you no matter *what* you do?
   Yes, software piracy is annoying. And yes, it would be a Good Thing if 
nobody pirated software. So what? Lots of annoying things happen, and software 
piracy is one of them. Deal with it.
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Newbie: find, search command

2004-12-17 Thread D.Rothe

Thanx for all the help! The following method was spot on, as for the cr showing 
a blank line 
at the end of the field I simply used "filter theField without empty".

on mouseUp
do FindData(tString, tData)
end mouseUp

function FindData pStringToFind, pDataToSearch
repeat for each line tLine in pDataToSearch
if pStringToFind is in tLine then put tLine & cr after tFoundData
end repeat
put tFoundData into fld "List"
filter fld "List" without empty
end FindData

D.Rothe

> Message: 1
> Date: Fri, 17 Dec 2004 10:12:17 -0500
> From: "Frank D. Engel, Jr." <[EMAIL PROTECTED]>
> Subject: Re: Newbie: find, search command
> To: How to use Revolution <[EMAIL PROTECTED]>
> Message-ID: <[EMAIL PROTECTED]>
> Content-Type: text/plain; charset=US-ASCII; format=flowed

> Yes, but a cr at the end will show a blank line at the end of a field.  
> Remember that list boxes are fields, and the selectable lines are lines 
> of text from the field.  Since you can hit return/enter and add a blank 
> line at the end of the field and have it displayed, you will also see a 
> blank line at the end of a list box.
> 
> The original poster specifically stated that he wished to display these 
> results in a list box (which is a field), so this is definitely an 
> issue for him.  Trust me, it took me a while to work this one out 
> myself, and I've been using something similar quite heavily (although I 
> let PostgreSQL do most of my sorts and searches for me -- I just format 
> the results...)
> 
> On Dec 16, 2004, at 9:43 PM, J. Landman Gay wrote:
> 
> > On 12/16/04 5:42 PM, Frank D. Engel, Jr. wrote:
> >
> >> Except that you need to delete the last "cr" before putting it into 
> >> the list, or you will have a blank line at the bottom; just add one 
> >> line to the code:
> >>> function FindData pStringToFind, pDataToSearch
> >>>   repeat for each line tLine in pDataToSearch
> >>>  if pStringToFind is in tLine then put tLine &cr after tFoundData
> >>>   end repeat
> >>   delete the last char of tFoundData
> >>>   return tFoundData
> >>> end FindData
> >
> > Sometimes, but it depends on what you're doing. Revolution is 
> > forgiving enough that a lot of the time it doesn't matter. For 
> > example, "the number of lines" will return the same number whether the 
> > carriage return is at the end or not.
> >
> > This has come up before, and it isn't a bug, it's a feature. Commas 
> > work the same way.
> >
> >
> >> On Dec 16, 2004, at 6:32 PM, Richard Gaskin wrote:
> >>> D.Rothe wrote:
> >>>
>  Hi,
>  I have a tab delimited list I want to be able to search, say I have 
>  a list of names for example;
>  Father XmasIs Drunk
>  New YearsIs after Xmas
>  RudolphThe Reindeer
>  Merry XmasTo all
>  I want to search for ALL instances of Xmas and display the whole 
>  matching line of each found in a list field.
>  So far I can get it to display the first line only ( Father Xmas
>  Is Drunk) ! Any help would appreciated!!! I have checked the 
>  tutorials for help but couldn't find what I was looking for,
>  is there an example stack or notes anyone may know of?
> >>>
> >>>
> >>> For short lists (<50,000 lines) you may be pleasantly surprised by 
> >>> the speed of what might look like clunkly Transcript:
> >>>
> >>>
> >>> function FindData pStringToFind, pDataToSearch
> >>>   repeat for each line tLine in pDataToSearch
> >>>  if pStringToFind is in tLine then put tLine &cr after tFoundData
> >>>   end repeat
> >>>   return tFoundData
> >>> end FindData
> >>>
> >>>
> >>> You can call it simply enough:
> >>>
> >>> on mouseUp
> >>>   put FindData("Xmas", fld "stuff")
> >>> end mouseUp
> >>>
> >>>
> >>> -- 
> >>>  Richard Gaskin
> >>>  Fourth World Media Corporation
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: moving content of variable

2004-12-17 Thread Ben Rubinstein
I've made some progress here.  You may not be able to do copy, set, or get
to Revolution (though I suspect you should be able to); but you can do "do
script" and "evaluate".

I think you ought to be able to do something along the lines of

tell application "Revolution"
evaluate "global gBlah; get gBlah"
set x to the result
end tell

and hence copy the value of a Rev global variable to a variable in
AppleScript but I've not managed to do so.  Perhaps I just haven't
stumbled upon the right way to approach it.

Nor have I been able to use the equivalent of my old HyperCard trick,
invoking a function or handler to set or get a value.  I think this may be
because the default stack in this instance is not necessarily the one you
first thought of.

So it seems - at least without further research - that you're limited to
built in functions, and/or expressions which permit specifying a particular
stack.

However, what I have been able to do is read custom properties.  This works:

tell application "Revolution"
evaluate "the uTempStorage of stack \"MyStack\""
set x to the result
end tell

So it is at least possible to move a complex string from Revolution to an
AppleScript variable.  (Presumably it would also be possible to refer to a
field in the same way.)

I've not yet established a way to move a complex value back.   It is of
course possible to move one complex value back, in that Rev can get the
result of invoking an AppleScript; however, if the AppleScript needs to
return multiple values, you might have to combine them with some delimiter.
But I think we have at least the basics, even if it's not very elegant.

It would certainly be preferable to able to use set/copy/get.

(BTW,, if you get into this, one gotcha you should be aware of: in
AppleScript, 'return' is the character with code 13 ('\r').  In Transcript,
it is the character with code 10 ('\n', linefeed).  I have come to accept
that this was a reasonable design decision; but what I still find insane is
that Transcript has introduced a new constant 'CR', which has the same
value.  (CRLF, on the other hand, has the value '\n\r').  There is no
constant that has the value '\r'.  You'll need to do something like "replace
return with numtochar(13) in x' on the way into AppleScript, and "replace
numtochar(13) with return in x" on the way out.)
 
  Ben Rubinstein   |  Email: [EMAIL PROTECTED]
  Cognitive Applications Ltd   |  Phone: +44 (0)1273-821600
  http://www.cogapp.com|  Fax  : +44 (0)1273-728866

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


Re: moving content of variable

2004-12-17 Thread Robert Brenstein
put "tell application" &"e& "HyperCard" "e&& "to copy" && 
theItems && "to theItems" into myScript
do myScript as AppleScript

I think that should work. Rev supports only the "dosc" appleevent 
for script executions.
:-) There is light at the end of this tunnel... but I can't tell if 
it's the exit or an oncoming train :-)
Is there a reason that you must use AppleScript for this? Since iCalc 
accepts appleevents, you could try using the "send to program" 
command to pass the stuff directly from Rev to iCalc.

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


Re: moving content of variable

2004-12-17 Thread doug rogers
On 17-Dec-04, at 3:29 PM, J. Landman Gay wrote:
Which object do I address the copy/set command? Revolution doesn't 
have the dictionary to Get, Set or Copy.
I haven't worked much with this, so I'm just guessing, but I bet you 
have to build a statement using "do". For example:

put "tell application" &"e& "HyperCard" "e&& "to copy" && 
theItems && "to theItems" into myScript
do myScript as AppleScript

I think that should work. Rev supports only the "dosc" appleevent for 
script executions.
:-) There is light at the end of this tunnel... but I can't tell if 
it's the exit or an oncoming train :-)

babbling on...
the 'tell application Hypercard' etc works just fine and it explains 
why HyperCard was launching when called from the script from 
Revolution, but at this point, HyperCard doesn't know anything about 
the variable because all the content is in Revolution. How do I get it 
out of Rev and into the applescript variable?

tell application "Revolution" to copy card field "theItems" to theItems
would be ideal.
and even if I wrote a script in Transcript and called it from 
Applescript as a dosc event, still doesn't transfer the content of the 
variable (?)

perhaps some kind of function, parameters, or clipboard thing
so I've tried setting the clipboarddata["text"], but the applescript 
balks at getting the clipboard, or I am not calling the applescript 
correctly.

The Transcript:
on mouseUp
put card field "TheItems" into TheItems
answer TheItems &&"1" -- just to test that it was working
repeat while last char of TheItems is return
delete last char of TheItems
end repeat
set the clipboardData["text"] to TheItems
--tell application "HyperCard" to copy variable "TheItems" to TheItems
-- was launching HyperCard in Classic, perhaps responsible for Rev's 
crashes
do card field "TheItems" as Applescript
--do the SendListToiCal of me as applescript -- don't know if this 
works as I am working with the card field script
put empty into TheItems
put empty into card fld "TheItems"
end mouseUp

 the Applescript:
display dialog the clipboard & " 2" --nada no response nothing
--set TheItems to the clipboard
--display dialog TheItems &" 3"
set AppleScript's text item delimiters to {return} --probably have to 
deal; with this 10/13 thing later
set TheItems to text items of TheItems
set AppleScript's text item delimiters to {","}
set TheItems to text items of TheItems
set AppleScript's text item delimiters to {""}

tell application "iCal"
	repeat with m from 1 to (count of TheItems)
		set the NewToDo to make new todo at the end of the todos of the 
calendar 5 with properties {due date:(current date), priority:3, 
summary:(item m of TheItems)}
	end repeat
end tell

 There is a crack in everything. That's how the light gets in.
____
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: rev chat discussions

2004-12-17 Thread william griffin
On Dec 17, 2004, at 10:04 AM, [EMAIL PROTECTED] 
wrote:
Message: 16
Date: Fri, 17 Dec 2004 14:35:55 +0100
From: Mark Schonewille <[EMAIL PROTECTED]>
Subject: Re: rev chat disconnected

I'm replying to the list because you wrote to the list.
Rev Needs Forums, its as simple as that.


The client and the server we both created before André released
libNetServices. Besides, I don't think that libNetServices is
compatible with the ChatRev protocol.
Best,
Mark
I don't think compatibility would be a problem if you use each 
protocol/tech
for what you need to do, one opens port for chat server, other opens 
port
for web server.
Such processes could continue ...until..how many ports are there? 
32767? 65534?
Integrating web server and chat client (browser chat client), is up to 
the ambitious
developer. Live online chat based internet tech/sales support is making 
a friend of ours a bunch
of money in the PHP arena.

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


RE: Protecting your rev apps

2004-12-17 Thread Lynch, Jonathan
If you do ID the original computer - then this creates a potential
problem. What if the user upgrades his computer, and wishes to copy your
software to the new computer, then erase everything on the old computer?
Since the software is licensed to the user, it would still be legitimate
- but the software would think it was pirated.

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Gordon
Sent: Friday, December 17, 2004 3:05 PM
To: How to use Revolution
Subject: Protecting your rev apps

Dear Revolutionaries

Is there any way to access something like a unique ID
number for the computer currently running the rev app?

It is my understanding that Intel starting giving all
CPUs a unique IDs a few years back, probably to help
MS combat software piracy. I don't whether other chip
makers do the same (AMD for example).

More generally, my question is:

Is there any way of obtaining or generating some kind
of unique ID for an individual computer, for licensing
purposes. I have read a lot of discussion in the rr
archives about using crypto keys and hidden license
files and so on. It seems like getting the CPU ID
(perhaps through the Win API) would be like the best
way to do it.

I had another idea for this - if you write files to a
disk, the exact addresses and distribution of file
fragments will arguably be unique on anything except a
newly formatted disk. To get around even this
limitation, what you could do is use a random number
sequence to generate a whole bunch of random files of
differing lengths and to delete a random subset of
them and expand a random subset of the ones that
remain by a random number of bytes. The remaining
pattern of files on the hard drive would then act as a
kind of digital signature that you make a digest of
using their hardware addresses on the disk (sector and
block numbers) and their random contents. Even if
somebody copied all these files to another computer,
their distribution on the new disk would not be the
same and only by imaging the entire original hard
drive and outputting the result onto another drive,
could you reproduce this (unless you had access to
your hard drive at the hardware level and could write
bit sequences to specific sectors and blocks). You
might even be able to make this tougher to do by
incorporating the index of bad blocks for the original
drive, into the digest. Could such a dsik drive
fingerprint scheme be feasible (or maybe its already
been done)?

Replies to my this and to my original question would
be greatly appreciated.

Best

Gordon

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


Re: Protecting your rev apps

2004-12-17 Thread Alex Tweedly
At 12:22 17/12/2004 -0800, Gordon wrote:
As a follow-up question - what about using the MAC
address of the network card on your computer. With
enough determination, this can be spoofed - and it
would mean that the app would require the presence of
a network card (but not an internet connection) to run
-  AND you'd need a new key to run your app if you
changed the network card - but no system is foolproof.
"enough determination" == 4 clicks and type a new address (give or take a 
click or two - it's been a while since I did it - but it's not hard, and 
there are plenty of legitimate reasons for doing it, so it'snot hard to 
find out how to).
(This only works on some NC cards, but a few years ago it was over 80% - 
don't know current numbers).

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


Re: moving content of variable

2004-12-17 Thread J. Landman Gay
On 12/17/04 12:36 PM, doug rogers wrote:
On 17-Dec-04, at 11:53 AM, Dar Scott wrote:
Content in a field that I need to pick up and transfer to an 
applescript variable (script as a custom property of the button) then 
send to iCal.

Look at 'do ... as AppleScript'.

I've had that panel of the Help documentation open for a few hours now. 
This is how I would have done it in Hypercard...

with TheItems as a global:
tell application "HyperCard" to copy variable "TheItems" to TheItems
as one line of my Applescript.
Which object do I address the copy/set command? Revolution doesn't have 
the dictionary to Get, Set or Copy.
I haven't worked much with this, so I'm just guessing, but I bet you 
have to build a statement using "do". For example:

put "tell application" &"e& "HyperCard" "e&& "to copy" && 
theItems && "to theItems" into myScript
do myScript as AppleScript

I think that should work. Rev supports only the "dosc" appleevent for 
script executions.

--
Jacqueline Landman Gay | [EMAIL PROTECTED]
HyperActive Software   | http://www.hyperactivesw.com
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Applescript error?

2004-12-17 Thread Mark Wieder
Richard-

Friday, December 17, 2004, 7:20:22 AM, you wrote:

RG> More importantly, most of the things folks had to resort to externals to
RG> accomplish in HC are built in with Rev, so with a couple of lines of
RG> revised scripting you can ditch those externals and have the 
RG> functionality you're looking for on all platforms.

This bears repeating. When I started experimenting with rev I
converted some of my old HC stacks with some trepidation, since they
made heavy use of externals to get the required speed from the math
calculations. I was pleased and muchly surprised to find that rev's
internal math handlers were fast enough that I no longer needed to
spawn the tasks out to external handlers.

-- 
-Mark Wieder
 [EMAIL PROTECTED]

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


Re: Protecting your rev apps

2004-12-17 Thread Gordon
As a follow-up question - what about using the MAC
address of the network card on your computer. With
enough determination, this can be spoofed - and it
would mean that the app would require the presence of
a network card (but not an internet connection) to run
-  AND you'd need a new key to run your app if you
changed the network card - but no system is foolproof.


Gordon


--- Gordon <[EMAIL PROTECTED]> wrote:

> Dear Revolutionaries
> 
> Is there any way to access something like a unique
> ID
> number for the computer currently running the rev
> app?
> 
> It is my understanding that Intel starting giving
> all
> CPUs a unique IDs a few years back, probably to help
> MS combat software piracy. I don't whether other
> chip
> makers do the same (AMD for example).
> 
> More generally, my question is:
> t
> Is there any way of obtaining or generating some
> kind
> of unique ID for an individual computer, for
> licensing
> purposes. I have read a lot of discussion in the rr
> archives about using crypto keys and hidden license
> files and so on. It seems like getting the CPU ID
> (perhaps through the Win API) would be like the best
> way to do it.
> 
> I had another idea for this - if you write files to
> a
> disk, the exact addresses and distribution of file
> fragments will arguably be unique on anything except
> a
> newly formatted disk. To get around even this
> limitation, what you could do is use a random number
> sequence to generate a whole bunch of random files
> of
> differing lengths and to delete a random subset of
> them and expand a random subset of the ones that
> remain by a random number of bytes. The remaining
> pattern of files on the hard drive would then act as
> a
> kind of digital signature that you make a digest of
> using their hardware addresses on the disk (sector
> and
> block numbers) and their random contents. Even if
> somebody copied all these files to another computer,
> their distribution on the new disk would not be the
> same and only by imaging the entire original hard
> drive and outputting the result onto another drive,
> could you reproduce this (unless you had access to
> your hard drive at the hardware level and could
> write
> bit sequences to specific sectors and blocks). You
> might even be able to make this tougher to do by
> incorporating the index of bad blocks for the
> original
> drive, into the digest. Could such a dsik drive
> fingerprint scheme be feasible (or maybe its already
> been done)?
> 
> Replies to my this and to my original question would
> be greatly appreciated.
> 
> Best
> 
> Gordon
> 
> ___
> use-revolution mailing list
> [EMAIL PROTECTED]
>
http://lists.runrev.com/mailman/listinfo/use-revolution
> 

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


Protecting your rev apps

2004-12-17 Thread Gordon
Dear Revolutionaries

Is there any way to access something like a unique ID
number for the computer currently running the rev app?

It is my understanding that Intel starting giving all
CPUs a unique IDs a few years back, probably to help
MS combat software piracy. I don't whether other chip
makers do the same (AMD for example).

More generally, my question is:

Is there any way of obtaining or generating some kind
of unique ID for an individual computer, for licensing
purposes. I have read a lot of discussion in the rr
archives about using crypto keys and hidden license
files and so on. It seems like getting the CPU ID
(perhaps through the Win API) would be like the best
way to do it.

I had another idea for this - if you write files to a
disk, the exact addresses and distribution of file
fragments will arguably be unique on anything except a
newly formatted disk. To get around even this
limitation, what you could do is use a random number
sequence to generate a whole bunch of random files of
differing lengths and to delete a random subset of
them and expand a random subset of the ones that
remain by a random number of bytes. The remaining
pattern of files on the hard drive would then act as a
kind of digital signature that you make a digest of
using their hardware addresses on the disk (sector and
block numbers) and their random contents. Even if
somebody copied all these files to another computer,
their distribution on the new disk would not be the
same and only by imaging the entire original hard
drive and outputting the result onto another drive,
could you reproduce this (unless you had access to
your hard drive at the hardware level and could write
bit sequences to specific sectors and blocks). You
might even be able to make this tougher to do by
incorporating the index of bad blocks for the original
drive, into the digest. Could such a dsik drive
fingerprint scheme be feasible (or maybe its already
been done)?

Replies to my this and to my original question would
be greatly appreciated.

Best

Gordon

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


Re: moving content of variable

2004-12-17 Thread doug rogers
On 17-Dec-04, at 2:18 PM, Ben Rubinstein wrote:
As it happens I've been able to get away so far with taking an 
applescript
that has a placeholder, and replacing the placeholder directly with
literals.  But obviously that only works for short values that don't 
have
any inconvenient characters such as returns or quotes.
This sounds like what I want to do. I have a card field which holds a 
series of text strings separated by returns. I want to grab this and 
put it into my Applescript variable, and the script will turn it into a 
comma delimited string, and follow through to iCal.

Yes. How do I pick up that string of literals. Applescript can't
set theItems to card Field "TheItems"
cause it doesn't know what it is. I need to set the variable from Rev's 
side (?)

 There is a crack in everything. That's how the light gets in.
____
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: moving content of variable

2004-12-17 Thread Ben Rubinstein
Doug Rogers wrote:
> This is how I would have done it in Hypercard...
> 
> with TheItems as a global:
> 
> tell application "HyperCard" to copy variable "TheItems" to TheItems
> 
> as one line of my Applescript.
> 
> Which object do I address the copy/set command? Revolution doesn't have
> the dictionary to Get, Set or Copy.

Ooh, good question.  For some reason this hasn't come up for me so far in
Rev.  

I never discovered the technique you describe above for HyperCard; I used to
have a couple of functions (or perhaps a function and a handler) in the
stack script, called something like "setHCglobal" and "getHCglobal", and I
called those in an AppleScript.

But I've just tried that method in Rev now, and I get an execution error.
Presumably this is because as you've observed it doesn't have the dictionary
entries.

As it happens I've been able to get away so far with taking an applescript
that has a placeholder, and replacing the placeholder directly with
literals.  But obviously that only works for short values that don't have
any inconvenient characters such as returns or quotes.

I hope someone can up with a good answer to this.
 
  Ben Rubinstein   |  Email: [EMAIL PROTECTED]
  Cognitive Applications Ltd   |  Phone: +44 (0)1273-821600
  http://www.cogapp.com|  Fax  : +44 (0)1273-728866


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


ChatRev up again

2004-12-17 Thread Björnke von Gierke
Ups sorry for sending this to the improve list, was a mistake.
The service provider fixed the issue, and I hope that the chat and 
homepage will now work as usual.
Sorry for any inconvenience.
Bjoernke von Gierke
<>()<>()<>()<>()<>()<>()<>()<>()<>()<>()<>
official ChatRev page:
http://chatrev.cjb.net:8080
Chat with other RunRev developers:
go stack URL "http://homepage.mac.com/bvg/chatrev1.2.5.rev";
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: moving content of variable

2004-12-17 Thread doug rogers
On 17-Dec-04, at 11:53 AM, Dar Scott wrote:
Content in a field that I need to pick up and transfer to an 
applescript variable (script as a custom property of the button) then 
send to iCal.
Look at 'do ... as AppleScript'.
I've had that panel of the Help documentation open for a few hours now. 
This is how I would have done it in Hypercard...

with TheItems as a global:
tell application "HyperCard" to copy variable "TheItems" to TheItems
as one line of my Applescript.
Which object do I address the copy/set command? Revolution doesn't have 
the dictionary to Get, Set or Copy.

 There is a crack in everything. That's how the light gets in.
____
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Network - Running A Standalone Application From A Network Server

2004-12-17 Thread Frank D. Engel, Jr.
You should probably look into PostgreSQL while you are at it too 
(www.postgresql.com), it is also open source, but unlike MySQL, is not 
"open source for non-commercial use" (MySQL has some potential 
licensing issues), but at the same time, PostgreSQL is quite a bit more 
powerful than MySQL.  I'm developing a commercial product around it, 
and have been quite happy with it so far.

On Dec 17, 2004, at 12:25 PM, Stephen Barncard wrote:
"About a half-dozen use the program.."
John, If this is data you share, and it is shared often, you should 
immediately investigate using MYSQL to store your data. Not only will 
it speed up everything when you give everyone their own application to 
run locally, but its built-in record locking and other features will 
protect your data and you could even use the centralized data storage 
for code updates as well -- all scriptable..

MYSQL (and SQL in general) was designed to provide a reliable and fast 
way to exchange data with terminals and computers with low data rates. 
Play around with a free SQL browser and a database and type in a few 
queries to see how easy it works. If one can use filemaker, one can 
use SQL.

There are versions of MYSQL that are open source and run on many 
platforms, so find an old piece of iron and get it running -- or check 
with your ISP, they often have SQL servers included with your service. 
That's even easier, as you don't have to maintain the server.

sqb

Greetings All,
I have written a standalone estimation package for our company using 
Revolution. About a half dozen people use the program. We tried 
putting the app on the company server, but it runs awfully slow. This 
whole process raises several questions:

1. Can a standalone stack, running on a server, actually be used by 
more than 1 person at a time without problems?

2. Related Question: When somebody opens this stack on the server. Is 
it actually running on the stack, or does the program run on the 
indivual's computer?

3. Related Question: When a person is working on an estimation 
project, all the values for that project are temporarily stored in 
various fields within revolution. This info is later saved on a 
server as a text file. Am I correct in assuming that if more than 1 
person is running the app off the server, if indeed this is possible, 
that it could create quite a mess?

4. Related Question: Since this is a new program, I am coming up with 
a new version at least twice a week. If having several people running 
the stack off the server is not possible, is there a way to quickly 
update the stack on everybody's individual computers with a newer 
version?

I hope all this makes sense.
Kind regards,
John Miller
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution

---
Frank D. Engel, Jr.  <[EMAIL PROTECTED]>
$ ln -s /usr/share/kjvbible /usr/manual
$ true | cat /usr/manual | grep "John 3:16"
John 3:16 For God so loved the world, that he gave his only begotten 
Son, that whosoever believeth in him should not perish, but have 
everlasting life.
$


___
$0 Web Hosting with up to 120MB web space, 1000 MB Transfer
10 Personalized POP and Web E-mail Accounts, and much more.
Signup at www.doteasy.com
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Last call for revBears before Christmas

2004-12-17 Thread Marian Petrides
FWIW, Royal Mail works a WHOLE lot better than DHL for shipments to the 
US.

My little beary friend--ordered when Heather first announced them a few 
days ago--just arrived in the middle of nowhere Vermont.  Came neatly 
Christmas wrapped, so I will still have a surprise on Christmas 
morning. :-  Considering how long it takes to get US snail mail at 
my place, this delivery was nothing short of amazing, what with having 
to clear customs and all that.

Get 'em while you can!
Marian
On Dec 17, 2004, at 4:26 AM, Heather Nagey wrote:
Dear list members,
If you want to order a revBear for Christmas, this is positively the 
last
call, especially if you live overseas from the UK. You need to order 
now! We
still have a handful left but its strictly first come, first served.

www.runrev.com/revbears.php
For your very own lovable coding companion.
Warm regards and Happy Holidays to all
Heather
If you don't want to be on this low traffic list, you can unsubscribe 
by
going to http://www.runrev.com/mailman/listinfo/revolution. Or email
[EMAIL PROTECTED] with "unsubscribe announcements" in the subject 
line.

--
** For a faster response to all licensing, support, and technical 
issues,
please now send mail to [EMAIL PROTECTED] **

Heather Nagey ~ [EMAIL PROTECTED] ~ http://www.runrev.com/
Runtime Revolution - User-Centric Development Tools
Tel +44 (0) 870 747 1165 Fax +44 (0) 845 4588487
~~~ Check our web site for new Revolution editions & special offers ~~~
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Network - Running A Standalone Application From A Network Server

2004-12-17 Thread Stephen Barncard
"About a half-dozen use the program.."
John, If this is data you share, and it is shared often, you should 
immediately investigate using MYSQL to store your data. Not only will 
it speed up everything when you give everyone their own application 
to run locally, but its built-in record locking and other features 
will protect your data and you could even use the centralized data 
storage for code updates as well -- all scriptable..

MYSQL (and SQL in general) was designed to provide a reliable and 
fast way to exchange data with terminals and computers with low data 
rates. Play around with a free SQL browser and a database and type in 
a few queries to see how easy it works. If one can use filemaker, one 
can use SQL.

There are versions of MYSQL that are open source and run on many 
platforms, so find an old piece of iron and get it running -- or 
check with your ISP, they often have SQL servers included with your 
service. That's even easier, as you don't have to maintain the server.

sqb

Greetings All,
I have written a standalone estimation package for our company using 
Revolution. About a half dozen people use the program. We tried 
putting the app on the company server, but it runs awfully slow. 
This whole process raises several questions:

1. Can a standalone stack, running on a server, actually be used by 
more than 1 person at a time without problems?

2. Related Question: When somebody opens this stack on the server. 
Is it actually running on the stack, or does the program run on the 
indivual's computer?

3. Related Question: When a person is working on an estimation 
project, all the values for that project are temporarily stored in 
various fields within revolution. This info is later saved on a 
server as a text file. Am I correct in assuming that if more than 1 
person is running the app off the server, if indeed this is 
possible, that it could create quite a mess?

4. Related Question: Since this is a new program, I am coming up 
with a new version at least twice a week. If having several people 
running the stack off the server is not possible, is there a way to 
quickly update the stack on everybody's individual computers with a 
newer version?

I hope all this makes sense.
Kind regards,
John Miller
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


RE: GM Scanner2.0e improvements

2004-12-17 Thread MisterX
Hi everyone,

The persons who downloaded the GM scanner should redownload it again. I've
improved it a bit more, added more explanations.

http://monsieurx.com/modules.php?name=Downloads&d_op=getit&lid=72

Believe it or not I had 3 controls with GM settings misbehave already! (fix
uploaded yesterday 5pm). 2 of these are my fault for copy pasting and
forgetting about GM settings. That copy paste GM settings feature is nice
but treachourous too, in fact, the third misbehaving control, the about
field, was resized correctly and somehow it resized itself wrong after!
buuh! Asking support for an update was not worth the trouble either! The
only right thing to do that I could find, was to write a fix myself now...

If you think it's not worth the trouble, I believe RunRev 2.5 stacks (or
previous) maybe affected if they use the GM. Im only trying to prevent
support accidents and development barriers. Hence GMScanner also gives you a
way to fix and explains how to avoid the bug.

It you have lots of stacks, i might add a folder and cards scanner for large
stack lists with filtered reports and auto-clearing/navigation. While it's
easy to do, it would cost you less programming time and effort to make a
small 5 euro donation to monsieurx.com to do it for you. ;)

The GM is great and this is not a recommendation not to use it - on the
contrary, it will save you hours of work and it's quite competent for
complex GUIs too! 

Regards,
Xavier

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


Rotating dial

2004-12-17 Thread Kaveh Bazargan
I need a rotating dial, which is equivalent to a scrollbar, which changes
angle from 0 to 360 according to where the mouse is. Actually, I managed to
make one, using graphics. But I wonder if there is one already done that I
can use, which is in keeping with GUI rules.
-- 

Kaveh Bazargan
http://www.focalimage.com/
http://www.holographer.org/
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


revUniqueID

2004-12-17 Thread MisterX
Hello revGurus and Gods of the IDE,

Does anyone know how the revUniqueID is generated?

Regards,
Xavier

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


Re: moving content of variable

2004-12-17 Thread Dar Scott
On Dec 17, 2004, at 9:32 AM, doug rogers wrote:
Content in a field that I need to pick up and transfer to an 
applescript variable (script as a custom property of the button) then 
send to iCal.
Look at 'do ... as AppleScript'.
Dar

DSC (Dar Scott Consulting)
http://www.swcp.com/dsc/
Programming Services and Software

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


Re: Network - Running A Standalone Application From A Network Server

2004-12-17 Thread Frank D. Engel, Jr.
Actually, I don't view this as a limitation at all.  It makes more 
sense this way from the point of view of a typical end user, and I've 
seen people get confused over multiple instances of a program under 
Windows far more often than I'd like.  The behavior Apple specified in 
the Aqua HIGs make for excellent usability.

A single running instance of an App is a feature, not a limitation.
On Dec 17, 2004, at 10:52 AM, Ben Rubinstein wrote:
Ah! That makes sense.  Presumably Apple decided to place the same 
limitation
on (the GUI in) X that they had in Classic, to avoid scaring the 
horses (and
app developers who might have counted on the previous behaviour). 
Thanks for
clearing that up, Frank.


---
Frank D. Engel, Jr.  <[EMAIL PROTECTED]>
$ ln -s /usr/share/kjvbible /usr/manual
$ true | cat /usr/manual | grep "John 3:16"
John 3:16 For God so loved the world, that he gave his only begotten 
Son, that whosoever believeth in him should not perish, but have 
everlasting life.
$


___
$0 Web Hosting with up to 120MB web space, 1000 MB Transfer
10 Personalized POP and Web E-mail Accounts, and much more.
Signup at www.doteasy.com
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


RE: Newbie: find, search command

2004-12-17 Thread MisterX
there's many ways actually...

you can use the LineOffset(string,container,startingline) function

but if you dont care what line it was, check out 

filter alist with "*xmas"

which is much faster and just returns those lines...

You could also repeat for each line, each item but that's not very efficient
after a few 100 lines... 

cheers
Xavier

> -Original Message-
> From: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED] On Behalf Of D.Rothe
> Sent: Tuesday, November 16, 2004 23:58
> To: [EMAIL PROTECTED]
> Subject: Newbie: find, search command
> 
> Hi,
> I have a tab delimited list I want to be able to search, say 
> I have a list of names for example;
> 
> Father XmasIs Drunk
> New YearsIs after Xmas
> RudolphThe Reindeer
> Merry XmasTo all
> 
> I want to search for ALL instances of Xmas and display the 
> whole matching line of each found in a list field.
> So far I can get it to display the first line only ( Father 
> XmasIs Drunk) ! 
> Any help would appreciated!!! I have checked the tutorials 
> for help but couldn't find what I was looking for, is there 
> an example stack or notes anyone may know of?
> 
> Thanks D.Rothe
> 
> 
>  
> ___
> use-revolution mailing list
> [EMAIL PROTECTED]
> http://lists.runrev.com/mailman/listinfo/use-revolution
> 

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


moving content of variable

2004-12-17 Thread doug rogers
Content in a field that I need to pick up and transfer to an 
applescript variable (script as a custom property of the button) then 
send to iCal.

:-) I could do this with globals in HyperCard/Applescript. Revolution, 
understandably doesn't have the commands in it's dictionary which would 
- seemingly do this.

 There is a crack in everything. That's how the light gets in.
____
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Re[4]: Windows Dos window doesn't work?

2004-12-17 Thread Dar Scott
On Dec 17, 2004, at 3:43 AM, thierry wrote:
Dar, could you share one of your script to show where things didn't 
work ?
Will be great.
I don't think I have those.  It was long ago and the scripts might have 
been ephemeral anyway.  I didn't even submit error scripts back in 
those days.

One of these days, I may revisit this.
I do remember I tested against ping a lot.  And the program sort some 
concerning the close catch 22.

Nice  to  talk  of this topic.
i've got quite few frustrating evenings on this topic :-)
Yeah.
Dar

DSC (Dar Scott Consulting)
http://www.swcp.com/dsc/
Programming Services and Software

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


Re: Applescript error?

2004-12-17 Thread J. Landman Gay
On 12/17/04 7:45 AM, doug rogers wrote:
New to Revolution. May be a convert from HyperCard :-) Playing with 
the 30 day demo.
I think you'll be happy. After an initial unlearning curve -- you have 
to forget a few HC-specific behaviors and reorganize your brain around 
some others -- you will be amazed at what this engine can do.

3) :-) I have had Rev quit a couple of times developing this little 
stack, as Rev pages in and out of RAM, I think. Maybe it's the calls 
to the applescript, which seem to launch HyperCard in Classic. So I 
need to get that applescript up to where I can deal with it.
There are some issues if you imported your original HC stack. Crashes 
are often because the stack wasn't compacted well enough in HC before 
the import. Try going back to HC, and compact three times in a row, 
doing nothing else in between. Then bring the stack into Rev. I can't 
tell you how important this is. Stacks that crashed for me intially 
behaved fine after I did a triple-compact in HC first.

If the problem still occurs, try setting the hcAddressing of the stack 
to false. This turns off the HC-specific object referencing 
requirements, but also seems to help in some other ways. I'm not sure why.

Make sure you save the stack to disk immediately after bringing it into 
Rev. That seems to help too.

5) and I forget because I was interrupted by my daughter... h 
you can't help me with that :-) Oh! MIDI! I have another stack which I 
would like to work on which depends on an xcmd (XCMD?) which does a 
call to Quicktime to export out a MIDI file. Anyone working on this 
kind of stuff?
If your XCMD doesn't work, you might try just issuing AppleScript 
commands to QuickTime Player. I haven't looked, but I suspect Player 
would support this sort of thing.

--
Jacqueline Landman Gay | [EMAIL PROTECTED]
HyperActive Software   | http://www.hyperactivesw.com
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Network - Running A Standalone Application From A Network Server

2004-12-17 Thread Ben Rubinstein
on 17/12/04 3:27 pm, Frank D. Engel, Jr. wrote

>> On MacOS X I'm not sure; I know that an application writing to itself,
>> possible on Mac Classic but not on Windows (which corresponds to their
>> respective positions as to whether the running app uniquely owns the file it
>> sprang from) is not possible on X; however, it doesn't appear that an X app
>> can be open twice. Someone who knows what they're talking about may be able
>> to give more detail here.
> 
> An OS X program can have multiple running instances.  Additionally,
> Fast User Switching in OS X 10.3 allows several users to be logged in
> simultaneously on the same computer.  Having one user running a
> particular program does not prevent other users from running it at the
> same time.  It's partially due to the UNIX clone sitting under OS X.
> 
> Note that in general, trying to start a second instance of the same
> program within a single user login session from the GUI doesn't work:
> the behavior is the same as for OS 9.  But you can start a new instance
> from a terminal window just fine.

Ah! That makes sense.  Presumably Apple decided to place the same limitation
on (the GUI in) X that they had in Classic, to avoid scaring the horses (and
app developers who might have counted on the previous behaviour). Thanks for
clearing that up, Frank.
 
  Ben Rubinstein   |  Email: [EMAIL PROTECTED]
  Cognitive Applications Ltd   |  Phone: +44 (0)1273-821600
  http://www.cogapp.com|  Fax  : +44 (0)1273-728866

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


Re: Applescript error?

2004-12-17 Thread Frank D. Engel, Jr.
On Dec 17, 2004, at 8:45 AM, doug rogers wrote:

Begin forwarded message:
From: doug rogers <[EMAIL PROTECTED]>
Date: December 16, 2004 8:38:15 PM EST
To: [EMAIL PROTECTED]
Subject:
New to Revolution. May be a convert from HyperCard :-) Playing with 
the 30 day demo.

1) I have a button in my HyperCard stack -with a Hypertalk script- 
which has as its content a small applescript. So "do me as 
applescript" in the Hypertalk script executes. Where is the best 
place to put this snippet of applescript in my Rev Stack? Or, even 
better than compiling it again everytime, is there a better way to do 
this?

2) A question too about overhead. This is a small stack I want to 
run, basically one card that requests to a network and an applescript 
to send stuff to iCal. If I buy Dreamcard, I need to run it to access 
the stack. Upgrading to the Studio edition will allow me to build 
standalones... and it will just be stuff I'm running on this Mac, 
perhaps three or so stacks concurrently, OSX dual USB iBook. What is 
going to be the best use of Memory?

3) :-) I have had Rev quit a couple of times developing this little 
stack, as Rev pages in and out of RAM, I think. Maybe it's the calls 
to the applescript, which seem to launch HyperCard in Classic. So I 
need to get that applescript up to where I can deal with it.

4) And the 'request from server' gives me back a -1701 error , which 
is an AppleEvent thing, I think.

5) and I forget because I was interrupted by my daughter... h 
you can't help me with that :-) Oh! MIDI! I have another stack which 
I would like to work on which depends on an xcmd (XCMD?) which does a 
call to Quicktime to export out a MIDI file. Anyone working on this 
kind of stuff?
You may want to check out the Enhanced QuickTime External at 
http://www.mangomultimedia.com/developer/revolution/ -- not sure if 
that will have what you want, but it's probably worth a look.


 There is a crack in everything. That's how the light gets in.
____

 There is a crack in everything. That's how the light gets in.
____
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution

---
Frank D. Engel, Jr.  <[EMAIL PROTECTED]>
$ ln -s /usr/share/kjvbible /usr/manual
$ true | cat /usr/manual | grep "John 3:16"
John 3:16 For God so loved the world, that he gave his only begotten 
Son, that whosoever believeth in him should not perish, but have 
everlasting life.
$


___
$0 Web Hosting with up to 120MB web space, 1000 MB Transfer
10 Personalized POP and Web E-mail Accounts, and much more.
Signup at www.doteasy.com
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


where's my blinking cursor?

2004-12-17 Thread MisterX
Hi everyone,

As you know, I work in weendoz 2K.

In some fields you do see the cursor blinking, but when you have some links
in the fields, or keyup/down handlers in the script or styles on some other
occasions , the cursor doesn't blink at the current text insertion point
like my old apple ][ did!

Go figure where your cursor is now! Click again just to make sure each time
or start doing shift arrow moves which are a big productivity stopper if you
write a lot... After a few hundred times per document, it gets annoying
too...

Is there a bugzilla for this? Anyone know a solution? If I enter a bugzilla
will you vote for it? (otherwise, i wont - just kidding ;))

Regards,
Xavier
-
http://MonsieurX.com 
Rev your script and run your imagination wild.
Home of XOS, the Nitrous plug-ins and much more!

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


Re: Network - Running A Standalone Application From A Network Server

2004-12-17 Thread Frank D. Engel, Jr.
On Dec 17, 2004, at 6:08 AM, Ben Rubinstein wrote:
on 17/12/04 10:44 am, John Miller wrote
1. Can a standalone stack, running on a server, actually be used by
more than 1 person at a time without problems?
Probably not.  There may be a difference between operating systems 
here.  On
Mac (classic) an app can only be once; the file on disk corresponding 
to the
application is locked while the application is open.  On Windows (in
general) apps are loaded into (at least virtual) memory, and an app
corresponding to a file on disk can be open multiple times.  On MacOS 
X I'm
not sure; I know that an application writing to itself, possible on Mac
Classic but not on Windows (which corresponds to their respective 
positions
as to whether the running app uniquely owns the file it sprang from) 
is not
possible on X; however, it doesn't appear that an X app can be open 
twice.
Someone who knows what they're talking about may be able to give more 
detail
here.
An OS X program can have multiple running instances.  Additionally, 
Fast User Switching in OS X 10.3 allows several users to be logged in 
simultaneously on the same computer.  Having one user running a 
particular program does not prevent other users from running it at the 
same time.  It's partially due to the UNIX clone sitting under OS X.

Note that in general, trying to start a second instance of the same 
program within a single user login session from the GUI doesn't work: 
the behavior is the same as for OS 9.  But you can start a new instance 
from a terminal window just fine.


2. Related Question: When somebody opens this stack on the server. Is
it actually running on the stack, or does the program run on the
indivual's computer?
Not quite clear about your situation.  Two possibilities:
- there is a standalone on the server.  User has a share mounted from 
the
server, and launches the standalone from that network drive.  In that 
case,
it's running on the individual's computer; but it may be still 
accessing the
network drive (the operating system may not simply load everything 
into the
memory of the user's computer, it may still read some parts off the
(network) disk).
- there is a stack on the server, and the users have either the 
revolution
app, Dreamcard Player, or a simple 'launcher' standalone on their 
machines.
In this case, it's simpler; the app (whichever of the three) is 
running on
the user's computer: when the app opens a stack from the server, the 
whole
stack is read into memory (on the user's computer).

3. Related Question: When a person is working on an estimation 
project,
all the values for that project are temporarily stored in various
fields within revolution. This info is later saved on a server as a
text file. Am I correct in assuming that if more than 1 person is
running the app off the server, if indeed this is possible, that it
could create quite a mess?
Fields within a stack shouldn't be a problem.  This always takes place 
in
memory, which will always be on the user's computer.  (I'm assuming 
you're
not doing anything exotic like Citrix in all of the above, btw.)

When you save the data to the server, you obviously need to take 
precautions
against one user overwriting another user's data, or one user being 
locked
out by another.
In other words, if the same file is always used, you've got some 
potential issues.  If a different file is used each time (or for each 
user, perhaps), there shouldn't be a problem here.


4. Related Question: Since this is a new program, I am coming up with 
a
new version at least twice a week. If having several people running 
the
stack off the server is not possible, is there a way to quickly update
the stack on everybody's individual computers with a newer version?
I don't think the stack off the server should itself be a problem.
Revolution, or any standalone built round it's engine, will read a 
stack
into memory completely and operate on it there.  Problems may be if 
you're
not talking about a stack off the server, but about a standalone off 
the
server; and when it comes to saving data.

In terms of quickly updating the stack, you can build a 'shell' 
standalone
which doesn't do much except start up, and open a stack containing all 
the
good stuff of your app.  (These are sometimes referred to as 'splash 
screen'
standalones, since they often display a splash screen and then pretty 
much
hand over to the stack with the real stuff.)  Depending on your setup, 
this
could be a stack loaded each time off a file server; a stack loaded 
each
time from a web server; or a stack loaded from a local copy, with some
provision to check for updates, and download and replace the local 
copy.

HTH,
  Ben Rubinstein   |  Email: [EMAIL PROTECTED]
  Cognitive Applications Ltd   |  Phone: +44 (0)1273-821600
  http://www.cogapp.com|  Fax  : +44 (0)1273-728866
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/

Re: mySQL Query... need some help

2004-12-17 Thread Frank D. Engel, Jr.
Also, if your field is accepting user input, be careful about 
"escaping" the strings.  Otherwise, if the user inputs text with a 
quote delimiter (') in it, the query may fail in the database, or give 
unexpected results.  Run each text field you aren't absolutely sure of 
through a function something like this:

function quoteString inText
  put inText into x
  replace "'" with "''" in x
  return x
end quoteString
Now you are looking at something more like:
put revDataFromQuery(,,databaseID, "SELECT * FROM mybuddies WHERE 
FirstName = " & quoteString(field "myQuery"))

On Dec 17, 2004, at 5:05 AM, Ben Rubinstein wrote:
on 17/12/04 3:58 am, docmann wrote
on mouseUp
  get revDataFromQuery(,,"SELECT * FROM mybuddies WHERE FirstName =
field 'myQuery'")
end mouseUp
I can see two issues here (I won't say that there may not be other 
ones!).

The first one is that you need at least two parameters to
'revDataFromQuery': database id, and SQL query.  You've got the SQL 
query,
but not the id.  But I'm guessing you may have just left that out of 
the
message?  Anyway, you need to open the database before you can call
'revDataFromQuery': see revOpenDatabase for more information.

The second problem is that the query string passed as a parameter to
'revDataFromQuery' is actually passed directly to the database, in 
this case
MySQL.  So MySQL gets this query:

SELECT * FROM mybuddies WHERE FirstName = field 'myQuery'
But MySQL doesn't know anything about your Revolution fields.  So you 
need
to get the data out of the Revolution field before passing the query to
MySQL.  You could do something like this, just using Transcript's 
standard
string concatenation operator:

  put field "myQuery" into tName
  put "SELECT * FROM mybuddies WHERE FirstName = '" & tName & "'" into 
tSQL
  get revDataFromQuery(,, iDatabaseID, tSQL)

That way, if the field contains "Bob", then the variable tSQL will be 
set to
(and MySQL will get):

   SELECT * FROM mybuddies WHERE FirstName = 'Bob'
Because this is quite a common pattern in making queries from 
databases -
most of the query is hard wired, but part is dynamic - revDataFromQuery
includes a special feature to make this more convenient.  The string 
you
pass to revDataFromQuery can contain placeholders, which 
revDataFromQuery
fills in from variables, the names of which are passed in as additional
parameters.  In this simple case, it's hardly simpler, but it can be 
useful
in more complicated cases.  The following code will send exactly the 
same
string to MySQL:

  put field "myQuery" into tName
  put "SELECT * FROM mybuddies WHERE FirstName = ':1'" into tSQL
  get revDataFromQuery(,, iDatabaseID, tSQL, "tName")
(Note that the name of the variable holding the value to be 
substituted for
the placeholder is passed, rather than the value - unusual in 
Transcript,
and slightly confusing.)

Hope this helps,
  Ben Rubinstein   |  Email: [EMAIL PROTECTED]
  Cognitive Applications Ltd   |  Phone: +44 (0)1273-821600
  http://www.cogapp.com|  Fax  : +44 (0)1273-728866
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution

---
Frank D. Engel, Jr.  <[EMAIL PROTECTED]>
$ ln -s /usr/share/kjvbible /usr/manual
$ true | cat /usr/manual | grep "John 3:16"
John 3:16 For God so loved the world, that he gave his only begotten 
Son, that whosoever believeth in him should not perish, but have 
everlasting life.
$


___
$0 Web Hosting with up to 120MB web space, 1000 MB Transfer
10 Personalized POP and Web E-mail Accounts, and much more.
Signup at www.doteasy.com
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: rev chat disconnected

2004-12-17 Thread FlexibleLearning
 
 
paolo wrote:
> I can not connect to the chat server... I was  disconnected probably 
>  because your system did not like my  question. Or that's because it was 
> too long (actually it exceded the  insertion field) . I feel guilty about 
> that.




According to Björnke, his ADSL connection is interrupted along with  everyone 
else in the city who uses Swisscom. Fix time is unknown.
 
/H
 
Hugh  Senior
The Flexible Learning Company
Web: _www.FlexibleLearning.com_ (http://www.flexiblelearning.com/) 
E: [EMAIL PROTECTED] (mailto:[EMAIL PROTECTED]) 
T/F:  +44(0)1483.27 87 27
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Applescript error?

2004-12-17 Thread Richard Gaskin
Ben Rubinstein wrote:
But one to thing watch re XCMDs; Rev implements the original (or strictly
speaking, I think, the 1.1) XCMD API; but not the subsequent enhancements
(most of which came in with HC 2, IIRC).  In theory, XCMDs could be written
so that they tested if a particular function was available; but as far as I
know, few if any ever did.  If an XCMD makes an unsupported call, Rev does
the right thing in terms of supplying a polite response, but many (most?)
XCMDs don't check it properly, and crash.  If you have access to the source
code of the XCMD, you can very likely code round the missing calls (I found
a bunch of mine were just using some convenience functions like StrToRect,
which it weren't in the earlier API (and blush, of course I wasn't
checking), so it was trivial to replace these calls).
Well said.
It may be worth noting that while more than a dozen apps once supported 
the HC 1.x XCMD interface, the HC2.x interface was so steeped in 
HC-specific structures that only HC itself ever supported it.

More importantly, most of the things folks had to resort to externals to 
accomplish in HC are built in with Rev, so with a couple of lines of 
revised scripting you can ditch those externals and have the 
functionality you're looking for on all platforms.

Since I first started working with this engine in 1997, I've only used 
one external -- written for Windows, which has since been replaced by 
native commands.  Everything else was replaced with Transcript.

--
 Richard Gaskin
 Fourth World Media Corporation
 __
 Rev tools and more: http://www.fourthworld.com/rev
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Newbie: find, search command

2004-12-17 Thread Frank D. Engel, Jr.
Yes, but a cr at the end will show a blank line at the end of a field.  
Remember that list boxes are fields, and the selectable lines are lines 
of text from the field.  Since you can hit return/enter and add a blank 
line at the end of the field and have it displayed, you will also see a 
blank line at the end of a list box.

The original poster specifically stated that he wished to display these 
results in a list box (which is a field), so this is definitely an 
issue for him.  Trust me, it took me a while to work this one out 
myself, and I've been using something similar quite heavily (although I 
let PostgreSQL do most of my sorts and searches for me -- I just format 
the results...)

On Dec 16, 2004, at 9:43 PM, J. Landman Gay wrote:
On 12/16/04 5:42 PM, Frank D. Engel, Jr. wrote:
Except that you need to delete the last "cr" before putting it into 
the list, or you will have a blank line at the bottom; just add one 
line to the code:
function FindData pStringToFind, pDataToSearch
  repeat for each line tLine in pDataToSearch
 if pStringToFind is in tLine then put tLine &cr after tFoundData
  end repeat
  delete the last char of tFoundData
  return tFoundData
end FindData
Sometimes, but it depends on what you're doing. Revolution is 
forgiving enough that a lot of the time it doesn't matter. For 
example, "the number of lines" will return the same number whether the 
carriage return is at the end or not.

This has come up before, and it isn't a bug, it's a feature. Commas 
work the same way.


On Dec 16, 2004, at 6:32 PM, Richard Gaskin wrote:
D.Rothe wrote:
Hi,
I have a tab delimited list I want to be able to search, say I have 
a list of names for example;
Father XmasIs Drunk
New YearsIs after Xmas
RudolphThe Reindeer
Merry XmasTo all
I want to search for ALL instances of Xmas and display the whole 
matching line of each found in a list field.
So far I can get it to display the first line only ( Father Xmas
Is Drunk) ! Any help would appreciated!!! I have checked the 
tutorials for help but couldn't find what I was looking for,
is there an example stack or notes anyone may know of?

For short lists (<50,000 lines) you may be pleasantly surprised by 
the speed of what might look like clunkly Transcript:

function FindData pStringToFind, pDataToSearch
  repeat for each line tLine in pDataToSearch
 if pStringToFind is in tLine then put tLine &cr after tFoundData
  end repeat
  return tFoundData
end FindData
You can call it simply enough:
on mouseUp
  put FindData("Xmas", fld "stuff")
end mouseUp
--
 Richard Gaskin
 Fourth World Media Corporation
 __
 Rev tools and more: http://www.fourthworld.com/rev
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution

---
Frank D. Engel, Jr.  <[EMAIL PROTECTED]>
$ ln -s /usr/share/kjvbible /usr/manual
$ true | cat /usr/manual | grep "John 3:16"
John 3:16 For God so loved the world, that he gave his only begotten 
Son, that whosoever believeth in him should not perish, but have 
everlasting life.
$
___
$0 Web Hosting with up to 120MB web space, 1000 MB Transfer
10 Personalized POP and Web E-mail Accounts, and much more.
Signup at www.doteasy.com
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution

--
Jacqueline Landman Gay | [EMAIL PROTECTED]
HyperActive Software   | http://www.hyperactivesw.com
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution

---
Frank D. Engel, Jr.  <[EMAIL PROTECTED]>
$ ln -s /usr/share/kjvbible /usr/manual
$ true | cat /usr/manual | grep "John 3:16"
John 3:16 For God so loved the world, that he gave his only begotten 
Son, that whosoever believeth in him should not perish, but have 
everlasting life.
$


___
$0 Web Hosting with up to 120MB web space, 1000 MB Transfer
10 Personalized POP and Web E-mail Accounts, and much more.
Signup at www.doteasy.com
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: rev chat disconnected

2004-12-17 Thread Björnke von Gierke
Unfortunately the ADSL connection to my home is interrupted. Actually 
it's the whole city, the ex-monopolist Swisscom made some fault. When 
they fix the problem is unknown, but i guess they are feverishly 
working on it. I am writing this on dialup...

see you after they fix it
Bjoernke ovn Gierke
<>()<>()<>()<>()<>()<>()<>()<>()<>()<>()<>
official ChatRev page:
http://chatrev.cjb.net:8080
Chat with other RunRev developers:
go stack URL "http://homepage.mac.com/bvg/chatrev1.2.5.rev";
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Applescript error?

2004-12-17 Thread Ben Rubinstein
> New to Revolution.  May be a convert from HyperCard :-)

Come on in, the water's lovely.  I am a deep, deep, HyperCard loyalist;
"Bill Atkinson is my hero" t-shirt worn to shreds; will always bleed in one
colour, etc.  Revolution is unquestionable the onlie true descendant;
incorporating just about everything that was good about HyperCard, with some
really fantastic advances.  I used RealBasic for a few years, and there are
some nice things about that product, but overall I find Revolution
infinitely better.  We're still dealing with IDE issues, but getting there;
the engine is very solid; and most importantly the development team is
excellent. 

> 1) I have a button in my HyperCard stack -with a Hypertalk script-
> which has as its content a small applescript. So "do me as
> applescript" in the Hypertalk script executes. Where is the best place
> to put this snippet of applescript in my Rev Stack? Or, even better
> than compiling it again everytime, is there a better way to do this?

No alternative to compiling it again everytime - ie Rev, like HyperCard,
simply supports the 'do x as applescript' construction.  Best place to put
it?  Every object in Rev - stack, card, group, field, button, etc - can have
unlimited custom properties.  So no need to store this sort of thing in the
script anymore (effectively the only custom property available in HC).  So
put the applescript into a custom property called eg "uAppleScript", and
then eg "do the uAppleScript of me as applescript".

> 2) A question too about overhead. This is a small stack I want to run,
> basically one card that requests to a network and an applescript to
> send stuff to iCal. If I buy Dreamcard, I need to run it to access the
> stack. Upgrading to the Studio edition will allow me to build
> standalones... and it will just be stuff I'm running on this Mac,
> perhaps three or so stacks concurrently, OSX dual USB iBook. What is
> going to be the best use of Memory?

Note sure it makes much odds; if you can make it work with Dreamcard Player,
you should be able to use that to run your stacks without the memory
overhead of the IDE.

> 3) :-) I have had Rev quit a couple of times developing this little
> stack, as Rev pages in and out of RAM, I think. Maybe it's the calls
> to the applescript, which seem to launch HyperCard in Classic. So I
> need to get that applescript up to where I can deal with it.

Hmpph.  I use AppleScript from Rev quite a bit, never does me any harm.  Not
necessarily communicating with Classic apps, though I'd have said I do
sometimes.

If you can make it reproducible - and even if you can't, but can give a good
description of the setup - please report this in Bugzilla:
.  On OS X, there should be crash
logs, which you'll find in ~/Library/Logs/CrashReporter/Revolution.crash.log
- you can attach these to your report, which is helpful.

> 4) And the 'request from server' gives me back a -1701 error , which
> is an AppleEvent thing, I think.

"errAEDescNotFound", apparently.  Whatever that means.

> 5) and I forget because I was interrupted by my daughter... h
> you can't help me with that :-)

Nope, try eBay.

> Oh! MIDI! I have another stack which I would like to work on which depends on
> an xcmd (XCMD?) which does a call to Quicktime to export out a MIDI file.
> Anyone working on this kind of stuff?

I know nothing about MIDI.

But one to thing watch re XCMDs; Rev implements the original (or strictly
speaking, I think, the 1.1) XCMD API; but not the subsequent enhancements
(most of which came in with HC 2, IIRC).  In theory, XCMDs could be written
so that they tested if a particular function was available; but as far as I
know, few if any ever did.  If an XCMD makes an unsupported call, Rev does
the right thing in terms of supplying a polite response, but many (most?)
XCMDs don't check it properly, and crash.  If you have access to the source
code of the XCMD, you can very likely code round the missing calls (I found
a bunch of mine were just using some convenience functions like StrToRect,
which it weren't in the earlier API (and blush, of course I wasn't
checking), so it was trivial to replace these calls).

So first point, save before you test XCMDs, you might crash; secondly, test
them hard!

Good luck, have fun.
 
  Ben Rubinstein   |  Email: [EMAIL PROTECTED]
  Cognitive Applications Ltd   |  Phone: +44 (0)1273-821600
  http://www.cogapp.com|  Fax  : +44 (0)1273-728866

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


Applescript error?

2004-12-17 Thread doug rogers

Begin forwarded message:
From: doug rogers <[EMAIL PROTECTED]>
Date: December 16, 2004 8:38:15 PM EST
To: [EMAIL PROTECTED]
Subject:
New to Revolution. May be a convert from HyperCard :-) Playing with 
the 30 day demo.

1) I have a button in my HyperCard stack -with a Hypertalk script- 
which has as its content a small applescript. So "do me as 
applescript" in the Hypertalk script executes. Where is the best place 
to put this snippet of applescript in my Rev Stack? Or, even better 
than compiling it again everytime, is there a better way to do this?

2) A question too about overhead. This is a small stack I want to run, 
basically one card that requests to a network and an applescript to 
send stuff to iCal. If I buy Dreamcard, I need to run it to access the 
stack. Upgrading to the Studio edition will allow me to build 
standalones... and it will just be stuff I'm running on this Mac, 
perhaps three or so stacks concurrently, OSX dual USB iBook. What is 
going to be the best use of Memory?

3) :-) I have had Rev quit a couple of times developing this little 
stack, as Rev pages in and out of RAM, I think. Maybe it's the calls 
to the applescript, which seem to launch HyperCard in Classic. So I 
need to get that applescript up to where I can deal with it.

4) And the 'request from server' gives me back a -1701 error , which 
is an AppleEvent thing, I think.

5) and I forget because I was interrupted by my daughter... h 
you can't help me with that :-) Oh! MIDI! I have another stack which I 
would like to work on which depends on an xcmd (XCMD?) which does a 
call to Quicktime to export out a MIDI file. Anyone working on this 
kind of stuff?


 There is a crack in everything. That's how the light gets in.
____

 There is a crack in everything. That's how the light gets in.
____
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: rev chat disconnected

2004-12-17 Thread Mark Schonewille
Hi Paolo,
I'm replying to the list because you wrote to the list. 
Probably, it is to be preferred to send bug reports and comments 
about the ChatRev M client to 
 and omments about the 
server to Björnke's e-mail address.

paolo wrote:
I can not connect to the chat server... I was disconnected probably 
 because your system did not like my question. Or that's because it was 
too long (actually it exceded the insertion field) . I feel guilty about 
that.
It seems that the server decided to give up. The server is 
maintained by Björnke. I'm sure it will be back on-line, soon.

There isn't much that you can do to deliberately crash the 
client or the server. Don't worry about posting long texts.

I just wanted to ask if you have used  libNetServices from Andre Garzia. 
I need a web server for a private LAN. It would be great to use Rev for 
this task.
The client and the server we both created before André released 
libNetServices. Besides, I don't think that libNetServices is 
compatible with the ChatRev protocol.

Best,
Mark
--
eHUG coordinator
mailto:[EMAIL PROTECTED]
fax: +1 501 633 94 04
http://home.wanadoo.nl/mark.sch
http://www.ehug.info
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


rev chat disconnected

2004-12-17 Thread paolo
I can not connect to the chat server... I was disconnected probably 
 because your system did not like my question. Or that's because it was 
too long (actually it exceded the insertion field) . I feel guilty 
about that.

I just wanted to ask if you have used  libNetServices from Andre 
Garzia. I need a web server for a private LAN. It would be great to use 
Rev for this task.

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


Re: getting the number of the current marked card

2004-12-17 Thread xbury . cs
>Looks like it is not even necessary to sort by id first...

only if cards were not sorted by id first ;))

>Have a nice weekend (and don't drive too fast ;-)

Fortunately, I can drive as fast as I want with GTR! 
After trying Ferrari 575 and 550s in GT class (+600HP),
the Lamborghini Murcielago, the Lister and the Saleen,
i've come to love the way Porsches drive and drift all
the time! Takes getting used to though - persistence
helps! 

Not only Germans make fine cars but also fine and
safe games! ;)

X


-
Visit us at http://www.clearstream.com
IMPORTANT MESSAGEInternet communications are not secure and therefore
Clearstream International does not accept legal responsibility for the
contents of this message.The information contained in this e-mail is
confidential and may be legally privileged. It is intended solely for the
addressee. If you are not the intended recipient, any disclosure, copying,
distribution or any action taken or omitted to be taken in reliance on it,
is prohibited and may be unlawful. Any views expressed in this e-mail are
those of the individual sender, except where the sender specifically states
them to be the views of Clearstream International or of any of its
affiliates or subsidiaries.END OF DISCLAIMER
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: getting the number of the current marked card

2004-12-17 Thread Klaus Major
Hi Xavier,
i wanted justly to avoid going through every card!
Yes, sure, see my last mail...
So if I move card 2 to the last card of the stack, it is still card 
2???
No, then it is the last (the num of cds) card :-)
Seems unreal!
Life is unreal :-D
So after sorting cards, how do you know which is the 5 card in the 
list?
You are forced to either remember every card in an array index or
go next 5 times? This sounds ridiculous...
In my case that doesn't matter, fortunately ;-)
X

...
Depends on how you sort the cards but that's one cheap trick to
find them...
sort by id of each card
Sort by the marked of each card
The correct syntax is (i finally found out):
...
sort cds by the mark of each
...
Looks like it is not even necessary to sort by id first...
Have a nice weekend (and don't drive too fast ;-)
Best
Klaus Major
[EMAIL PROTECTED]
http://www.major-k.de
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: getting the number of the current marked card

2004-12-17 Thread xbury . cs
i wanted justly to avoid going through every card! 

So if I move card 2 to the last card of the stack, it is still card 2???

Seems unreal!

So after sorting cards, how do you know which is the 5 card in the list?
You are forced to either remember every card in an array index or
go next 5 times? This sounds ridiculous...

X

On 17.12.2004 13:09:50 use-revolution-bounces wrote:
>Bon jour Xavier,
>
>> Hallo Klaus!
>>
>> Depends on how you sort the cards but that's one cheap trick to
>> find them...
>> sort by id of each card
>> Sort by the marked of each card
>
>Sorry, no success, did not work :-(
>After sorting this way, the actual cd number will still be displayed...
>
>But i found a workaround:
>...
>go first marked cd
>repeat with i = 1 to the num of marked cds
>set the num of this cd to i
>go next marked cd
>end repeat
>go first marked cd
>...
>
>does exactlyly what i want and since i lock screen i think this will be
>fast
>enough even with lots of cards...
>
>> Now all cards are sorted by id, all marked cards together andthe
>> number of the current card will tell you which it is!
>>
>> easy does it!
>
>That's for sure :-)
>
>Thanks for your inspiration ;-)
>
>> cheers
>> Xavier
>
>Regards
>
>Klaus Major
>[EMAIL PROTECTED]
>http://www.major-k.de
>
>___
>use-revolution mailing list
>[EMAIL PROTECTED]
>http://lists.runrev.com/mailman/listinfo/use-revolution


-
Visit us at http://www.clearstream.com
IMPORTANT MESSAGEInternet communications are not secure and therefore
Clearstream International does not accept legal responsibility for the
contents of this message.The information contained in this e-mail is
confidential and may be legally privileged. It is intended solely for the
addressee. If you are not the intended recipient, any disclosure, copying,
distribution or any action taken or omitted to be taken in reliance on it,
is prohibited and may be unlawful. Any views expressed in this e-mail are
those of the individual sender, except where the sender specifically states
them to be the views of Clearstream International or of any of its
affiliates or subsidiaries.END OF DISCLAIMER
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: getting the number of the current marked card

2004-12-17 Thread Klaus Major
Bon jour Xavier,
Hallo Klaus!
Depends on how you sort the cards but that's one cheap trick to
find them...
sort by id of each card
Sort by the marked of each card
Sorry, no success, did not work :-(
After sorting this way, the actual cd number will still be displayed...
Excuse-moi mille fois, mon ami!!!
I used the wrong syntax (the little typos "made in a hurry"), of course 
this DOES
work and will probably faster than re-numbering all marked cds.

Thanks!
Regards
Klaus Major
[EMAIL PROTECTED]
http://www.major-k.de
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: getting the number of the current marked card

2004-12-17 Thread Klaus Major
Bon jour Xavier,
Hallo Klaus!
Depends on how you sort the cards but that's one cheap trick to
find them...
sort by id of each card
Sort by the marked of each card
Sorry, no success, did not work :-(
After sorting this way, the actual cd number will still be displayed...
But i found a workaround:
...
go first marked cd
  repeat with i = 1 to the num of marked cds
set the num of this cd to i
go next marked cd
  end repeat
 go first marked cd
...
does exactlyly what i want and since i lock screen i think this will be 
fast
enough even with lots of cards...

Now all cards are sorted by id, all marked cards together andthe
number of the current card will tell you which it is!
easy does it!
That's for sure :-)
Thanks for your inspiration ;-)
cheers
Xavier
Regards
Klaus Major
[EMAIL PROTECTED]
http://www.major-k.de
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: getting the number of the current marked card

2004-12-17 Thread xbury . cs
Hallo Klaus!

Depends on how you sort the cards but that's one cheap trick to
find them...
sort by id of each card
Sort by the marked of each card

Now all cards are sorted by id, all marked cards together andthe 
number of the current card will tell you which it is! 

easy does it!
cheers
Xavier

On 17.12.2004 12:20:53 use-revolution-bounces wrote:
>Hi friends,
>
>has anybody a receipe on how to get the number of the current marked
>card
>in a series of marked cards (obviously :-)?
>
>I want to supply a bg field which tells the user the (relative) number
>of the current
>marked cd like "1 of (the num of marked cds)" after marking some cards
>ind a stack with e.g. 100 cards...
>
>Know what i mean? How can i get this (relative) number?
>Something obvious i am overlooking?
>
>Thanks in advance.
>
>
>Best
>
>Klaus Major
>[EMAIL PROTECTED]
>http://www.major-k.de
>
>___
>use-revolution mailing list
>[EMAIL PROTECTED]
>http://lists.runrev.com/mailman/listinfo/use-revolution


-
Visit us at http://www.clearstream.com
IMPORTANT MESSAGEInternet communications are not secure and therefore
Clearstream International does not accept legal responsibility for the
contents of this message.The information contained in this e-mail is
confidential and may be legally privileged. It is intended solely for the
addressee. If you are not the intended recipient, any disclosure, copying,
distribution or any action taken or omitted to be taken in reliance on it,
is prohibited and may be unlawful. Any views expressed in this e-mail are
those of the individual sender, except where the sender specifically states
them to be the views of Clearstream International or of any of its
affiliates or subsidiaries.END OF DISCLAIMER
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re[4]: Windows Dos window doesn't work?

2004-12-17 Thread thierry
Hi Dar,


DS> On Dec 16, 2004, at 3:18 AM, thierry wrote:

>> today, this is a "Industry Product" which uses the open process, reads
>> few information at the start, and a report at the end. In between,
>> the 2 processes ( Rev and Perl ) communicate via Sockets.

DS> Socket communication is a good idea.

Well, i did struggled the same as with open process to make it right :-)

>> This works on Win98, NT systems and with Rev Express 2.1.

DS> You might have found a scheme that works but might not with small 
DS> changes, or some things do not work as well as they should and you 
DS> don't know, or things have been fixed, or Dar was up too late 30 months 
DS> ago.

Hummm, thanks for your comments...
that's why i said i should test a bit more
what i did few months ago even if i'm happy today about it.

otherwise, what i see different in my case, is the ability to tune the perl
process accordingly to Rev behavior; also may be i got a lot of luck ?
Who knows :-)

Anyway, whenever i have a bit of time, i'll try to put together in a nice
stack all the tests i did with some explanation for the community

Dar, could you share one of your script to show where things didn't work ?
Will be great.

Nice  to  talk  of this topic.
i've got quite few frustrating evenings on this topic :-)

Best regards, thierry


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


getting the number of the current marked card

2004-12-17 Thread Klaus Major
Hi friends,
has anybody a receipe on how to get the number of the current marked 
card
in a series of marked cards (obviously :-)?

I want to supply a bg field which tells the user the (relative) number 
of the current
marked cd like "1 of (the num of marked cds)" after marking some cards 
ind a stack with e.g. 100 cards...

Know what i mean? How can i get this (relative) number?
Something obvious i am overlooking?
Thanks in advance.
Best
Klaus Major
[EMAIL PROTECTED]
http://www.major-k.de
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Network - Running A Standalone Application From A Network Server

2004-12-17 Thread Ben Rubinstein
on 17/12/04 10:44 am, John Miller wrote

> 1. Can a standalone stack, running on a server, actually be used by
> more than 1 person at a time without problems?

Probably not.  There may be a difference between operating systems here.  On
Mac (classic) an app can only be once; the file on disk corresponding to the
application is locked while the application is open.  On Windows (in
general) apps are loaded into (at least virtual) memory, and an app
corresponding to a file on disk can be open multiple times.  On MacOS X I'm
not sure; I know that an application writing to itself, possible on Mac
Classic but not on Windows (which corresponds to their respective positions
as to whether the running app uniquely owns the file it sprang from) is not
possible on X; however, it doesn't appear that an X app can be open twice.
Someone who knows what they're talking about may be able to give more detail
here.

> 2. Related Question: When somebody opens this stack on the server. Is
> it actually running on the stack, or does the program run on the
> indivual's computer?

Not quite clear about your situation.  Two possibilities:
- there is a standalone on the server.  User has a share mounted from the
server, and launches the standalone from that network drive.  In that case,
it's running on the individual's computer; but it may be still accessing the
network drive (the operating system may not simply load everything into the
memory of the user's computer, it may still read some parts off the
(network) disk).
- there is a stack on the server, and the users have either the revolution
app, Dreamcard Player, or a simple 'launcher' standalone on their machines.
In this case, it's simpler; the app (whichever of the three) is running on
the user's computer: when the app opens a stack from the server, the whole
stack is read into memory (on the user's computer).

> 3. Related Question: When a person is working on an estimation project,
> all the values for that project are temporarily stored in various
> fields within revolution. This info is later saved on a server as a
> text file. Am I correct in assuming that if more than 1 person is
> running the app off the server, if indeed this is possible, that it
> could create quite a mess?

Fields within a stack shouldn't be a problem.  This always takes place in
memory, which will always be on the user's computer.  (I'm assuming you're
not doing anything exotic like Citrix in all of the above, btw.)

When you save the data to the server, you obviously need to take precautions
against one user overwriting another user's data, or one user being locked
out by another.

> 4. Related Question: Since this is a new program, I am coming up with a
> new version at least twice a week. If having several people running the
> stack off the server is not possible, is there a way to quickly update
> the stack on everybody's individual computers with a newer version?

I don't think the stack off the server should itself be a problem.
Revolution, or any standalone built round it's engine, will read a stack
into memory completely and operate on it there.  Problems may be if you're
not talking about a stack off the server, but about a standalone off the
server; and when it comes to saving data.

In terms of quickly updating the stack, you can build a 'shell' standalone
which doesn't do much except start up, and open a stack containing all the
good stuff of your app.  (These are sometimes referred to as 'splash screen'
standalones, since they often display a splash screen and then pretty much
hand over to the stack with the real stuff.)  Depending on your setup, this
could be a stack loaded each time off a file server; a stack loaded each
time from a web server; or a stack loaded from a local copy, with some
provision to check for updates, and download and replace the local copy.

HTH,
 
  Ben Rubinstein   |  Email: [EMAIL PROTECTED]
  Cognitive Applications Ltd   |  Phone: +44 (0)1273-821600
  http://www.cogapp.com|  Fax  : +44 (0)1273-728866

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


Network - Running A Standalone Application From A Network Server

2004-12-17 Thread John Miller
Greetings All,
I have written a standalone estimation package for our company using 
Revolution. About a half dozen people use the program. We tried putting 
the app on the company server, but it runs awfully slow. This whole 
process raises several questions:

1. Can a standalone stack, running on a server, actually be used by 
more than 1 person at a time without problems?

2. Related Question: When somebody opens this stack on the server. Is 
it actually running on the stack, or does the program run on the 
indivual's computer?

3. Related Question: When a person is working on an estimation project, 
all the values for that project are temporarily stored in various 
fields within revolution. This info is later saved on a server as a 
text file. Am I correct in assuming that if more than 1 person is 
running the app off the server, if indeed this is possible, that it 
could create quite a mess?

4. Related Question: Since this is a new program, I am coming up with a 
new version at least twice a week. If having several people running the 
stack off the server is not possible, is there a way to quickly update 
the stack on everybody's individual computers with a newer version?

I hope all this makes sense.
Kind regards,
John Miller
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: mySQL Query... need some help

2004-12-17 Thread Ben Rubinstein
on 17/12/04 3:58 am, docmann wrote

> on mouseUp
>   get revDataFromQuery(,,"SELECT * FROM mybuddies WHERE FirstName =
>field 'myQuery'")
> end mouseUp

I can see two issues here (I won't say that there may not be other ones!).

The first one is that you need at least two parameters to
'revDataFromQuery': database id, and SQL query.  You've got the SQL query,
but not the id.  But I'm guessing you may have just left that out of the
message?  Anyway, you need to open the database before you can call
'revDataFromQuery': see revOpenDatabase for more information.

The second problem is that the query string passed as a parameter to
'revDataFromQuery' is actually passed directly to the database, in this case
MySQL.  So MySQL gets this query:

SELECT * FROM mybuddies WHERE FirstName = field 'myQuery'

But MySQL doesn't know anything about your Revolution fields.  So you need
to get the data out of the Revolution field before passing the query to
MySQL.  You could do something like this, just using Transcript's standard
string concatenation operator:

  put field "myQuery" into tName
  put "SELECT * FROM mybuddies WHERE FirstName = '" & tName & "'" into tSQL
  get revDataFromQuery(,, iDatabaseID, tSQL)

That way, if the field contains "Bob", then the variable tSQL will be set to
(and MySQL will get):

   SELECT * FROM mybuddies WHERE FirstName = 'Bob'

Because this is quite a common pattern in making queries from databases -
most of the query is hard wired, but part is dynamic - revDataFromQuery
includes a special feature to make this more convenient.  The string you
pass to revDataFromQuery can contain placeholders, which revDataFromQuery
fills in from variables, the names of which are passed in as additional
parameters.  In this simple case, it's hardly simpler, but it can be useful
in more complicated cases.  The following code will send exactly the same
string to MySQL:

  put field "myQuery" into tName
  put "SELECT * FROM mybuddies WHERE FirstName = ':1'" into tSQL
  get revDataFromQuery(,, iDatabaseID, tSQL, "tName")

(Note that the name of the variable holding the value to be substituted for
the placeholder is passed, rather than the value - unusual in Transcript,
and slightly confusing.)

Hope this helps,
 
  Ben Rubinstein   |  Email: [EMAIL PROTECTED]
  Cognitive Applications Ltd   |  Phone: +44 (0)1273-821600
  http://www.cogapp.com|  Fax  : +44 (0)1273-728866

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


Re[2]: Disabled submenu items on Win XP

2004-12-17 Thread thierry
Hi Eric,

ÉC> enabled menu item 1
ÉC> enabled menu item 2
ÉC> DISABLED submenu item 21
ÉC> enabled submenu item 22
ÉC> enabled submenu item 23
ÉC> enabled menu item 3
ÉC> etc.


just try again on my PC, and could disable item 21 and still can select
item 22 or 23 .

i don't develop wtih Rev on Mac.. so no idea about the differences.

HTH, thierry

ÉC> With Rev Win32, you are not able to select submenu item 22 or 23 :-(
ÉC> On Mac OS X, no problem :-)
ÉC> Any idea?



Best regards, 


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


Last call for revBears before Christmas

2004-12-17 Thread Heather Nagey
Dear list members,

If you want to order a revBear for Christmas, this is positively the last
call, especially if you live overseas from the UK. You need to order now! We
still have a handful left but its strictly first come, first served.

www.runrev.com/revbears.php

For your very own lovable coding companion.

Warm regards and Happy Holidays to all

Heather
-- 

** For a faster response to all licensing, support, and technical issues,
please now send mail to [EMAIL PROTECTED] **

Heather Nagey ~ [EMAIL PROTECTED] ~ http://www.runrev.com/
Runtime Revolution - User-Centric Development Tools
Tel +44 (0) 870 747 1165 Fax +44 (0) 845 4588487
~~~ Check our web site for new Revolution editions & special offers ~~~

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