Mobile Names
On the topic of names of things - I have developed a technique for creating names that are as mobile as possible - the best form seems to be as follows: button Test of stack Mobile Seems simple? I wish it was easier to create these names in Rev or am I missing something - the long names give the file path and the short names omit the stack bit - deconstructing and reconstructing a name is what i do - but it is a real pitty that there is no built in way of getting this? NB - the point of this is that if you copy the folder around the references still work. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Filling in PDF forms
Same in the UK Rob - which is actually the application I am thinking of. So the question is what is the best way to take the IRS documents and get Rev to fill in the forms from the accounts database? Read the XML? Or is there another way On 25/05/07, Rob Cozens [EMAIL PROTECTED] wrote: Hi David, I've had a quick search regarding the ability to auto fill in PDF forms - that is not creating PDF's from databases - but lets say you have an existing PDF that you need to fill out many many times from your data - software that does this for you. FWIW, the US IRS distributes fill-in tax forms in PDF format. Acrobat Reader allows the reader to fill in the boxes but not change any form text. The completed form(s) can then be saved as a separate document. Rob ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Can't quit Rev - things to look for?
I am addicted I confess! Try as I might - I just can't quit. It's not just a case of will power - most usually I leave the computer sleeping and Rev open and make a regular svn backup of everything before I go to bed - or watch Liverpool loose but recently I have been taking the precaution of actually shutting down the computer - only to find that my beloved Revolution will not let me quit? I can work, save do everything but quit. Is this a plot by RunRev I here you ask, to make us all do nothing other than use their IDE? No I think I have done something wrong, and am being punished for it. Most likely it is an external loaded, which won't let the stack close until it is unloaded but where and which one? It seems that manually opening each stack and closing it allows me to quit, but I got very, very bored after the 30th stack and still not able to quit. Perhaps I need to write a script to run through the open stacks and find out where the problem is? There can be anywhere between 25 and 50 in memory. While I am on the question can someone help me with the difference between an external package, and an externals... etc. Bundles OK - but what is a package? ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Can't quit Rev - things to look for?
Yes - lockmessages allows me to quit - but I cant debug very easlily. No timers are running and while there is a pending message its from Galaxy - which I doubt is the problem - I think its an external - just wandering how to debug it? On 24/05/07, Malte Brill [EMAIL PROTECTED] wrote: Hi David, any timers running? Did you try lock messages before quitting? Check if the pendingmessages are empty. All the best, Malte ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Filling in PDF forms
I've had a quick search regarding the ability to auto fill in PDF forms - that is not creating PDF's from databases - but lets say you have an existing PDF that you need to fill out many many times from your data - software that does this for you. It seems possible in that you can import the PDF into Adobe Acrobat and then name the fields in such a way that you can connect them to a database - which makes me think that you should be able to do this with Rev - has anyone done this? I guess it would require an external? ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Private commands
On 20/05/07, Shao Sean [EMAIL PROTECTED] wrote: Anyways, back to the topic at hand.. I too attempted to use a private command with parameters passed by reference and was just given a 417 as well (see above for the joke) Have you filed it as a bug report - can't see it. I also came across another problem with the new private command feature and have detailed it in bug report 4997, but the basic gist of it is you can't use private commands for socket callback messages which is too bad because those are basically the ones I personally want to hide from the public API of the libraries *sigh* Yes. Same here there are two types of handlers that i use often which are of no use to anyone except as a private handler that is repeatedly called by one or more functions: 1) A handler that needs to return multiple values - like a line parser 2) A recursive handler that have params that are internal to its recursive nature Both of these need to use call-by-reference handlers - and both want to be private handlers. It looks as if by some strange coincidence the handlers that actually need to be private can't - maybe there will be way round it. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Debugger fixes bug - expert advise needed!
No - I am not trying to be cryptic - but this one is driving me nuts. The problem I have is in a script that creates complex nested objects using copy something to group destination. The script first copied a template group and then fills in the subgroups depending on the result wanted. All works fine except sometimes :( And sometimes the group that has been created, renamed and then positioned - well the controls within it do no exist()! I have come across this before, and the reason I am finding it so hard to fix is that if I put a breakpoint before the offending line in order to debug it - well it starts to work fine - the lines are as follows: put the object_FromReferencePath [view_Object/right_View/header_View] of topView -- mistakenly results in empty breakpoint put the object_FromReferencePath [view_Object/right_View/header_View] of topView -- is now completely fine The script that does the work is simple: getprop object_FromReferencePath [objectRefPath] put the long id of the target into someObject set the itemdelimiter to / repeat for each item objectRef in objectRefPath if exists(someObject) is false then return empty put the objectRef of someObject into someObject end repeat return someObject end object_FromReferencePath So what could the debugger be doing to fix this? Is it to do with the way the debugger evaluates a script line? I have spent 4 hours on this and well frankly it is impossible to debug :) I am trying to replicate it with a clean stack to file as a bug report, but no joy yet... it seems only to cause a problem at a certain level of nesting or object creation. Clues anyone? ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
altID
Has anyone got extensive experience of using altID? I am thinking of using it - but not sure exactly how. The scenario I have is to do with a library of components that get copied all over the place, replace each other and need a good way of referring to each other and their library equivalents. I cant to use ids as they change when copied. I can't use names, because there may be other controls of the same name, and i want to be able to rename them without affecting anything, so... can I use altIDs? For a while now I have been using custom properties like: getprop title_Field return the long id of fld Title of me end title_Field Which works very well - put the title_Field of group Outline works. Renaming can be handled using a look-up in the custom property and trapping for the nameChanged message. The script is nicely organised as there is only one place where a control is referred to. That said could I be using altIDs or another technique? ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Copy control - is not copying now!
Still not got to the bottom of this - but what is happening is that the previous copy has happened but is not being registered by the rev engine. A breakpoint gives it time to catch up - though wait has no effect (perhaps due to blocking). It is not to do with the way I am referencing the controls: Without adding a breakpoint for the following lines of code: put rightView put the name of rightView put the number of controls of rightView put the name of control 1 of rightView put the name of control 2 of rightView put the long id of group 1 of rightView I get: group id 1992 of group id 1981 of card id 1002 of stack Test Copy group _Right View 2 button _Layout PlaceHolder button _Placeholder Menu with the script exiting on the last line because there is supposedly no group 1. Well there is! It has been copied there and the original controls deleted. After teh script wrongly exits - they are there to see and refer to with the same code. If I put a breakpoint before the lines of code above and then run the same code in the debugger: breakpoint put rightView put the name of rightView put the number of controls of rightView put the name of control 1 of rightView put the name of control 2 of rightView put the long id of group 1 of rightView I get the following correct result: group id 2083 of group id 2069 of card id 1002 of stack Test Copy group _Right View 12 button _Menu Button button _Header Divider group id 2087 of group id 2083 of group id 2069 of card id 1002 of stack Test Copy in other words it has been created and is a group with 12 controls (one of them a nested group) in it not the old simple place holder group. Any idea how to force the engine to catch up - which must be what the debugger is doing? ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Debugger fixes bug - expert advise needed!
Found it - the reason why the engine had not registered the new status of the created objects is the following lines of code: send delete viewToReplace to viewToReplace in 2 ticks# in order to self delete if required. The engine must be waiting until the delete occurs before updating its records - even though a subsequent copy has already created the new objects. Changeing the line to: delete viewToReplace Fixes everything - phew! I am not sure if this is a bug or something that should be put up with and put in the docs - but its filed: http://quality.runrev.com/qacenter/show_bug.cgi?id=5038 ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Debugger fixes bug - expert advise needed!
Yes it contains the long id. I always put the long id into a variable and use that for references. I store references differently so the moving folders on the hard disk does not change things. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: altID
I just did a test and unfortunately I cannot use them as I need to have multiple copies of the same template on the same card - the syntax btn id 600 of group 1 does not work for altids :( On 20/05/07, Eric Chatonet [EMAIL PROTECTED] wrote: Hi David, AltID works perfectly as long as there is not yet another object with this ID: Then always choose very high altIDs to avoid conflicts: Set the altID of btn ID 1011 to 60 put the long ID of btn ID 60 button id 1011 of card id 1002 of stack stack path :-) Le 20 mai 07 à 14:35, David Bovill a écrit : Has anyone got extensive experience of using altID? I am thinking of using it - but not sure exactly how. The scenario I have is to do with a library of components that get copied all over the place, replace each other and need a good way of referring to each other and their library equivalents. I cant to use ids as they change when copied. I can't use names, because there may be other controls of the same name, and i want to be able to rename them without affecting anything, so... can I use altIDs? For a while now I have been using custom properties like: getprop title_Field return the long id of fld Title of me end title_Field Which works very well - put the title_Field of group Outline works. Renaming can be handled using a look-up in the custom property and trapping for the nameChanged message. The script is nicely organised as there is only one place where a control is referred to. That said could I be using altIDs or another technique? Best regards from Paris, Eric Chatonet. http://www.sosmartsoftware.com/ [EMAIL PROTECTED]/ ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Private commands
Sounds kind of pornographic doesn't it :) Hope it doesn't get trapped in you spam filters! A little complex this one - changing a command to a private command has stopped a script working for a reason I can't work out. The situation is: 1) I have a getprop handler layout_Outline that calls a... 2) Recursive command 3) The recursive command hander uses a call by reference parameter Nothing else. No call to any other handlers inside or outside of the script. Now it works as a straight command but not when changed to private command. Does anyone know if private command handlers fail with either getprops, recursive, or call-by-reference thingies ? ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
New date stuff: am I doing something wrong?
I have been testing/working with the new date fixes in 2.8.1 and have a problem with english dates - which I cannot convert properly: put 20/4/02 into testDate -- convert testDate from english date to dateItems convert testDate from short english date to dateItems put testDate put 20/4/02 into testDate -- convert testDate from system date to dateItems convert testDate from short english date to dateItems put testDate put 6/4/02 into testDate -- convert testDate from english date to dateItems convert testDate from short english date to dateItems put testDate put 6/4/02 into testDate convert testDate from english date to seconds convert testDate to dateItems put testDate break Is this a bug I should file? Either way how can convert the english dates back - do I have to manually change the order of the items myself in a script? ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: New date stuff: am I doing something wrong?
Ah - so that definitely is a bug :) Should be american date no? So there is no way of taking a date in english - lets say Scottish format and converting it as we cannot assume the user settings... ok so I guess I have to script it. Funny I thought those yanks would of objected to being called english :) On 18/05/07, Mark Smith [EMAIL PROTECTED] wrote: David, are you sure you've understood what english denotes in Revolution? From the docs: english Used with the date and time functions to specify a date or time in the format used in the United States. So 20/4/02 is not an english date Best, Mark On 18 May 2007, at 09:17, David Bovill wrote: I have been testing/working with the new date fixes in 2.8.1 and have a problem with english dates - which I cannot convert properly: put 20/4/02 into testDate -- convert testDate from english date to dateItems convert testDate from short english date to dateItems put testDate put 20/4/02 into testDate -- convert testDate from system date to dateItems convert testDate from short english date to dateItems put testDate put 6/4/02 into testDate -- convert testDate from english date to dateItems convert testDate from short english date to dateItems put testDate put 6/4/02 into testDate convert testDate from english date to seconds convert testDate to dateItems put testDate break Is this a bug I should file? Either way how can convert the english dates back - do I have to manually change the order of the items myself in a script? ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Script Limits in 2.8.0 [was Spreadsheet]
Which is why I said then I thought better of the idea. On 16/05/07, Chipp Walters [EMAIL PROTECTED] wrote: And exactly how does 'letting them sue you' save money? Lawyers cost money no matter which side of a case they are on. In reality though it would be a foolish company or individual to sue you if they had absolutely no case, and if they did you could always represent yourself, or better get a lawyer to defend you on a no-win-no-fee basis. If you have the facts, ie the contract, the comments in the code etc and you use conventional journalistic standards in reporting them, you should be on fairly safe ground. Of course if you want to play really safe - you'd be better taking it as a learning exercise - who to trust who not that sort of thing. On the other hand if as is often the case you really do not want people to get away with that sort of thing, you are angry, and you want to forewarn other people, simply letting it slide under the carpet may not be what you are after. I still think there should be some sort of web site for publishing these sort of stories. Companies and individuals would think twice about ripping someone off, whereas as it is at the moment they know they are likely to get away with it. The counter problem of course is spurious claims - but these would be subject to libel in the normal way for any publication. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Script Limits in 2.8.0 [was Spreadsheet]
Thanks - if thats the right word Andre. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Script Limits in 2.8.0 [was Spreadsheet]
Andre - you made me think of the little guy versus big guy in law issue... I have known a number of people with similar stories, and it makes me think always of what to do in the age of the internet about these issues. And every time I have this thought - so you have the evidence but not the money to take them to court - so why not publish the story on the net and let them sue you - so you get your chance to produce your evidence without the cost? And then I think better of the idea. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Menus, fields and not activating a mouseUp?
You have a field with a contextual menu - so when you control-click on the field a popup menu apears (called in a mouseDown handler). If you do not use the control key - but simply click the mouseUp handler does something else... So how do you prevent the mouseUp handler? Neither exit to top nor the pending messages seem to help... so I have always set a flag in the menu code and then checked this in the mouseUp code... still is there a better way to prevent mouseUp messages from being sent? ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: A challenge: adding months to a date?
Thanks everyone! And Ken - you've made my day by making me feel so stupid :) Seriously thanks for the input. And in the mean time I've learned a lot about the quirks of convert - tip is to ensure the time is 2am On 13/05/07, Ken Ray [EMAIL PROTECTED] wrote: On Sun, 13 May 2007 19:18:25 +0100, David Bovill wrote: This command passes the test: on date_AddMonth monthsToAdd, startDate, @endMonth, @endYear /* Problem is if new month has less days in it than the original start date days then just adding a month will add 2 months on conversion as the overlap pushes it over the month -- can add extra month if next months max days are shorter -- not a bug a feature? Or could trucate day to last of month? */ convert startDate to dateItems put startDate into someDate put item 3 of someDate into oDay put 1 into item 3 of someDate put 2 into item 4 of someDate# seems to be required !!! add monthsToAdd to item 2 of someDate convert someDate to dateItems put item 1 of someDate into endYear put item 2 of someDate into endMonth put oDay into item 3 of someDate convert someDate to internet date return someDate end date_AddMonth How about this: on date_AddMonth monthsToAdd, startDate, @endMonth, @endYear put item 1 of startDate into tYear put item 2 of startDate into tMonth put (monthsToAdd+tMonth) mod 12 into endMonth if endMonth = 0 then put 12 into endMonth put ((monthsToAdd+tMonth) div 12) + tYear into endYear end date_AddMonth ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: A challenge: adding months to a date?
Does anyone know exactly what the convert is doing with the times? I modified Kens code so it also returns the best guess date as well as working out the month and year - that is if there is no exact match it return s the last day of that month And the Unit test returns this: Thu, 28 Feb 2002 01:00:00 + Sun, 31 Mar 2002 02:00:00 + Tue, 30 Apr 2002 02:00:00 + Fri, 31 May 2002 02:00:00 + Sun, 30 Jun 2002 02:00:00 + Wed, 31 Jul 2002 02:00:00 + Sat, 31 Aug 2002 02:00:00 + Mon, 30 Sep 2002 02:00:00 + Thu, 31 Oct 2002 01:00:00 + Sat, 30 Nov 2002 01:00:00 + Wed, 31 Dec 2003 01:00:00 + Fri, 31 Jan 2003 01:00:00 + Fri, 28 Feb 2003 01:00:00 + Mon, 31 Mar 2003 02:00:00 + 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 Which passes - as each month is incremental, as are the month numbers. But - why do the times change from October to February. Note I added the 2am line to the script to ensure convert does not subtract the odd day now and then... Here is the modified code: on mouseUp put 2002,1,31,1,0,0,5 into startDate put 1 into lastMonth put lastMonth into endMonths repeat with statementNumber = 1 to 14 set the cursor to busy date_AddMonth statementNumber, startDate, endMonth, endYear put the result put space endMonth after endMonths if statementNumber mod 12 is not (endMonth - 1) then put merge(Failed adding [[statementNumber]] to [[abbeyStartDate]]. Resulted in [[someMonth]]) end if end repeat put endMonths end mouseUp on date_AddMonth monthsToAdd, startDate, @endMonth, @endYear -- thanks to Ken Ray [EMAIL PROTECTED] ! put startDate into someDate convert someDate to dateItems put item 1 of someDate into tYear put item 2 of someDate into tMonth put (monthsToAdd+tMonth) mod 12 into endMonth if endMonth = 0 then put 12 into endMonth put ((monthsToAdd+tMonth) div 12) + tYear into endYear put endYear into item 1 of someDate put endMonth into item 2 of someDate put date_MaxDaysInMonth(endMonth, endYear) into item 3 of someDate put 2 into item 4 of someDate# seems to be required !!! convert someDate to internet date return someDate end date_AddMonth function date_MaxDaysInMonth theMonth, theYear -- thanks to Björnke von Gierke [EMAIL PROTECTED] ! put 1,January,3,March,5,May,7,July,8,August,10,October,12,December into Months31 put 4,April,6,June,9,September,11,November into Months30 if theMonth is among the items of Months31 then put 31 into HowManyDays else if theMonth is among the items of Months30 then put 30 into HowManyDays else --February if (theYear mod 400 = 0) or (theYear mod 100 0) and (theYear mod 4 = 0) then put 29 into HowManyDays -- leap year else put 28 into HowManyDays end if end if return HowManyDays end date_MaxDaysInMonth ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: [ANN] Altuit VueTools available...
Chipp looks great! I took a look at the videos, and understand I thinks how Rev can be used to manage and tailor dynamically the python scripts - but there are some thigs I don't get? It looks from the video like there is more interaction between the manager and Vue... you choose a bevel tool and there is an instant change in Vue is this because Vue is polling for changes in the python scripts or are you using something else there - like some sort of IAC (AppleScript etc)??? Puzzled and amazed. NB heard a word-of-mouth report that Maya is going Python. Do you have plans for other 3D platforms? ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Script Limits in 2.8.0 [was Spreadsheet]
On 13/05/07, Robert Brenstein [EMAIL PROTECTED] wrote: Robert Brenstein wrote: Another example: scientific applications where users can enter their own functions for analyzing, processing, or displaying some data. Given how few scientists also have Rev experience, is it necessary that the functions be written in Transcript? No - not necessary. For these sort of applications I think it is easy enough to allow people to script in any language they want by organising a plugins folder with shell scripts - so you could use python, perl, SQL or whatever you have and are able to use. The thing is for novices it is easier to learn Transcript, and there is the speed advantage... The way I look at it is a slightly puzzled question to RunRevs strategy here - there would be no better way of getting a greater mind share for the RunRev IDE than alowing a bunch of tools to be created which demonstrate the simplicity and advantages of coding in Transcript over other scripting languages - this needs applications like this that give you the choice while providing an easy path to get into Rev scripting. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: [ANN] Altuit VueTools available...
On 14/05/07, Chipp Walters [EMAIL PROTECTED] wrote: David, Originally I had a 'VueHub' which acted as a broker between Rev and Vue's Python, sending and retrieving Python scripts and data back and forth. I ended up only using Rev as the Installer/Manager for Vue and the toolbar you are seeing is wxPython (runs on all platforms as well). I could never get the VueHub approach to run in it's own thread. Not a problem for Rev, but rather a problem for Vue's own version of Python. I'm not clear on this Chipp - probably as I've never written a plugin. I have played with wxPython a few years back - but only for standalones... what I'd like to Grok is exactly how The VueToolbar does run in it's own thread, and communicates back and forth from it to Vue. ? Is this an internal feature of Vue - that is because you can use embedded python as a scripting language you can use the wxWidgets - I'd be happy to read up on this if you have any references as I'd really like to get to know how to create scripted plugins for other applications. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Script Limits in 2.8.0 [was Spreadsheet]
On 14/05/07, Chipp Walters [EMAIL PROTECTED] wrote: Would that suppose we should never copy protect our applications as we can use law to sue pirates? That said, I do agree with your 25 lines restriction. Out of interest has anyone on this list had software pirated / re-engineered? I'd be interested to hear of any cases. End user copying is very common - but I've not come across stories of someone or taking an app and copying the code illegally to sell a derivative version, but then I might just be being naive here? Go-on make me paranoid :) ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Hiliting a cell or tabbed item in a field....
I've forgotten how to do this... whats the trick again I've got a field with tabbed data in it and I want to hilite say the second column of the 3rd line. I know I've done this before but all I can get right now is the text hilit - not the whole cell? select item columnNum of line rowNum of the target ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Spreadsheet
Thanks everyone - yes using Rev syntax would hit the Script limits using do - but I think: put value(field cell 1,3 + field cell 1,4 / field cell 1,5) into Would not be subject to this, using SQL syntax is also interesting - I would like to use the same syntax that people would use in Excel / OpenOffice... so I am thinking of creating a parser for this... With regard to the OpenOffice code - its a fragment at the moment, and all it does is unzip the file and read the folder / XML structure... it is not useful yet, and I plan to get this ready for a number of similar formats to release later. My guess with regard to a general spread sheet object would be to take a table and then add a custom property which would contain any formulae referenced by cell (ie 2,5). An evaluate function would then loop through this custom property array and evaluate each of the formulae - replacing / updating the contents of the cell - I have never used the Rev table object because of difficulty in hacking it - and here you would need to intercept the Rev table object calls when editing a formula cell - does anyone have any experience of trapping Rev table calls - is when editing the cell? ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
A challenge: adding months to a date?
I thought this was easy! Well I discovered a bug in some old code and now I am pulling my hair out trying to fix / code this... an interesting puzzle for those of you so inclined on a Sunday :) The Task The function needs to add a variable number of months to a given date: function date_AddMonth monthNum, startDate end date_AddMonth Seems easy no? Use Case I have some bank statements with statement numbers issued each calendar month. First statement is numbered 01 and is for October 2002. I want to work out what the month and year is for the nth statement. First Try function date_AddMonth monthNum, startDate convert startDate to dateItems put startDate into someDate put item 2 of someDate into oMonthNum put oMonthNum + monthNum into overMonthNum put overMonthNum into item 2 of someDate convert someDate to dateItems return someDate end date_AddMonth I thought this worked fine, but if the startdate is lets say January 31 - well adding a month basically goes to Feb 31st which converts to March... so you need to do something else but what??? Been trying a few hours now and things have got complicated involving for a start working out leap years! Unit Test Well if anyone can figure this out - here is the test to pass: on mouseUp -- put Friday, January 31, 2002 into abbeyStartDate put 2002,1,31,1,0,0,5 into abbeyStartDate put 1 into lastMonth repeat with statementNumber = 1 to 100 put item 2 of date_AddMonth(statementNumber, abbeyStartDate) into someMonth put someMonth if statementNumber mod 12 is not (someMonth - 1) then put merge(Failed adding [[statementNumber]] to [[abbeyStartDate]]. Resulted in [[someMonth]]) answer Failed! exit to top end if end repeat answer Success!! end mouseUp I cant figure it out??? More Problems Sometimes when you dig things just get more complex. While debugging i am finding that sometime adding numbers to the 2nd item of the dateitems and then reconverting to dateitems works fine, and then mysteriously at others it does not... seemingly getting confused by having the wrong daynum in item 7... still not figured what is going on... Stuff that may help? Here is a function you may need (well thats the direction I am trying): function date_MaxDaysInMonth someDate /* Base on the rhyme: 30 dyays has September, April, June and Novemeber All the rest have 31 Except Februaruy Which has 28 and 29 on a leap year */ convert someDate to dateItems put item 2 of someDate into monthNum return date_MaxDaysInMonthNum(monthNum) end date_MaxDaysInMonth function date_MaxDaysInMonthNum monthNum /* Base on the rhyme: 30 days has September, April, June and Novemeber All the rest have 31 Except Februaruy Which has 28 and 29 on a leap year */ put 30 into item 9 of maxDaylist put 30 into item 4 of maxDaylist put 30 into item 6 of maxDaylist put 30 into item 11 of maxDaylist put 31 into item 1 of maxDaylist put 31 into item 3 of maxDaylist put 31 into item 5 of maxDaylist put 31 into item 7 of maxDaylist put 31 into item 8 of maxDaylist put 31 into item 10 of maxDaylist put 31 into item 12 of maxDaylist if date_IsLeapYear(someDate) then put 29 into item 2 of maxDaylist else put 28 into item 2 of maxDaylist end if return item monthNum of maxDaylist end date_MaxDaysInMonthNum function date_IsLeapYear someDate convert someDate to dateitems put 2 into item 2 of someDate put 29 into item 3 of someDate convert someDate to dateitems return item 2 of someDate = 2 end date_IsLeapYear - but maybe someone already has a simple function that passes this test? ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Script Limits in 2.8.0 [was Spreadsheet]
No - I don't think this makes sense - I wish it did. Allowing you to add as many lines of code as you want and create your own IDE would mean you could recreate an app with RunRev IDE functionality and release this as a binary without needing anything from RunRev - hence the script limits? RunRev may be encouraging alternative IDE's but thats not the same as being able to release a straight competative product based only on purchasing a single user license? On the other hand I do not see why they don't free up the script limits and use the law to enforce the non-competing IDE thing - though I'd say that in the long term none of this is going to make any sense to anyone. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Script Limits in 2.8.0 [was Spreadsheet]
I'd agree with Roger on both the key points - use law not functional restrictions and at least extend to 25 lines. On 13/05/07, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: On 05/13/2007 at 11:37 AM, Robert Brenstein wrote: Shouldn't this limitation be obsoleted? I had read once that RunTime had no fear of a competing IDE, and in fact, they encourage it. It was explained that a license to the engine is still required, so RunTime would still benefit from sales. This ancient 10 line limit is well, limiting us as developers. Do any of Revs competing languages have such a limit imposed on built standalone apps? Roger Eller [EMAIL PROTECTED] I think you are confusing two different things. An IDE runs with licensed engine, so the script limits do not apply. This is why we can use alternative IDEs. The stand-alone applications or stacks running in the player are subject to script limits. Were they not, some mischievious person would release a stack that allows anyone to run any size script, effectively eliminating a need for buying the license. This would, of course, kill RR's business. The limits affect only scripts that are compiled at runtime, when running not in licensed IDE that is, like the code executed through do. Robert I admit my confusion regarding the conditions of where and why the script limits exist. I still believe it to be an unnecessary constraining factor in a developers ability to create dynamic code in their standalones when law could be used instead to enforce anti-piracy. Certain application types need this flexibility such as AI. My preference would be either the removal of the limitation completely or to expand it to 25 lines (or more). It would still be limiting enough to prevent mischievous persons from stealing RRs business, yet broad enough that most developers could accomplish their goals when longer dynamic scripts are really needed. Roger Eller [EMAIL PROTECTED] ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: A challenge: adding months to a date?
Getting there :) But still fails the unit tests - resulting in: 1 Failed adding 1 to 2002,1,31,1,0,0,5. Resulted in 1 2 Failed adding 2 to 2002,1,31,1,0,0,5. Resulted in 2 4 5 6 7 8 9 10 10 Failed adding 10 to 2002,1,31,1,0,0,5. Resulted in 10 Which looks like is kind of one out of the loop - NB I like your evaluation of leap years - is that all there is to it? Taking a look at the code now to see where it is going wrong... on mouseUp -- unit test put 2002,1,31,1,0,0,5 into abbeyStartDate put 1 into lastMonth repeat with statementNumber = 1 to 10 put item 2 of date_AddMonth(statementNumber, abbeyStartDate) into someMonth put someMonth if statementNumber mod 12 is not (someMonth - 1) then put merge(Failed adding [[statementNumber]] to [[abbeyStartDate]]. Resulted in [[someMonth]]) end if end repeat end mouseUp function date_AddMonth monthNum, startDate convert startDate to dateItems# does not work if startDate is a system date put item 3 of startDate into theDay put 1 into item 3 of startDate add monthNum to item 2 of startDate convert startDate from dateItems to dateItems put item 2 of startDate into theMonth put item 1 of startDate into theYear put getMaxDays(theMonth, theYear) into maxDay if theDay maxDay then put maxDay into theDay end if put theDay into item 3 of startDate --convert startDate from dateItems to favorite date format return startDate end date_AddMonth function getMaxDays theMonth, theYear put 1,January,3,March,5,May,7,July,8,August,10,October,12,December into Months31 put 4,April,6,June,9,September,11,November into Months30 if theMonth is among the items of Months31 then put 31 into HowManyDays else if theMonth is among the items of Months30 then put 30 into HowManyDays else --February if (theYear mod 400 = 0) or (theYear mod 100 0) and (theYear mod 4 = 0) then put 29 into HowManyDays -- leap year else put 28 into HowManyDays end if end if return HowManyDays end getMaxDays ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: A challenge: adding months to a date?
Sorry I thought it would be clear from the Use Case - basically I am not interested in the days just the month number. The following function would be more accurate: on date_AddMonth monthsToAdd, startDate, @endMonth, @endYear -- add a whole number of months to a date returning the new dates month and year end date_AddMonth The aim is simply to add one whole calendar month. The problem is when the day of the start date is near the end of the month as convert can then take this over to an extra month There seems to be a few quirks with convert for dateitems - and I am updating to the latest version to see if this fixes them. In the mean time your direct question looks like solving the problem :) That is I an use the 1st of the month which will always work and then add the days needed... Anyway thats what I will try - the unit test has been modified to work without Galaxy: on mouseUp put 2002,1,31,1,0,0,5 into startDate put 1 into lastMonth put lastMonth into endMonths repeat with statementNumber = 1 to 14 set the cursor to busy date_AddMonth statementNumber, startDate, endMonth, endYear put space endMonth after endMonths if statementNumber mod 12 is not (endMonth - 1) then put merge(Failed adding [[statementNumber]] to [[abbeyStartDate]]. Resulted in [[someMonth]]) end if end repeat put endMonths end mouseUp Should print out: 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 On 13/05/07, Ken Ray [EMAIL PROTECTED] wrote: What would help would be what you expect to get as a result. Should the above conversion return the last day in February? So on a non-leap-year anything with a startdate of January 29, 30, or 31 should return February 28 when you add a month? Please clarify... The Unit Test should print out: 2 3 4 5 6 7 8 9 10 11 12 1 as it ads 1 month to January 1, 2002 ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: A challenge: adding months to a date?
This command passes the test: on date_AddMonth monthsToAdd, startDate, @endMonth, @endYear /* Problem is if new month has less days in it than the original start date days then just adding a month will add 2 months on conversion as the overlap pushes it over the month -- can add extra month if next months max days are shorter -- not a bug a feature? Or could trucate day to last of month? */ convert startDate to dateItems put startDate into someDate put item 3 of someDate into oDay put 1 into item 3 of someDate put 2 into item 4 of someDate# seems to be required !!! add monthsToAdd to item 2 of someDate convert someDate to dateItems put item 1 of someDate into endYear put item 2 of someDate into endMonth put oDay into item 3 of someDate convert someDate to internet date return someDate end date_AddMonth on mouseUp put 2002,1,31,1,0,0,5 into startDate put 1 into lastMonth put lastMonth into endMonths repeat with statementNumber = 1 to 14 set the cursor to busy date_AddMonth statementNumber, startDate, endMonth, endYear put space endMonth after endMonths if statementNumber mod 12 is not (endMonth - 1) then put merge(Failed adding [[statementNumber]] to [[abbeyStartDate]]. Resulted in [[someMonth]]) end if end repeat put endMonths end mouseUp And prints out: 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 Does this work on other platforms? Note I had to inset 2 into item 4 of the dateItems to get it to work (the hours) which has never made any sense to me - but is Revs version of midnight :) It would be nice to test it on other versions and platforms as the convert to dateitems does seem a little flakier than I thought? ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Script Limits in 2.8.0 [was Spreadsheet]
There are two examples which are not reated to self modyfyin code really: 1) Spread sheet type applications where the user can do simple stuff but extend the manipulations to any level using an embedded scripting language that is as easy to understand and write ans Transcript 2) Component frameworks in which high end components can be created by developers and then customised with a built in scripting language, or even 3) Components created within a free environment and made available to be used in the commercial IDE, which has extended workflow tool sets over and above the pure language.. On 13/05/07, Richard Gaskin [EMAIL PROTECTED] wrote: Roger.E.Eller wrote: I still believe it to be an unnecessary constraining factor in a developers ability to create dynamic code in their standalones when law could be used instead to enforce anti-piracy. If a fly-by-nighter steals RunRev's work, RunRev could sue the culprit for everything they had and chances are with someone playing at such a low level it won't amount to a fraction of the money the company would have lost. The most effective enforcement is prevention. Since the product was born in 1992, the method of preventing this form of piracy has been scriptLimits. Certain application types need this flexibility such as AI. My preference would be either the removal of the limitation completely or to expand it to 25 lines (or more). It would still be limiting enough to prevent mischievous persons from stealing RRs business, yet broad enough that most developers could accomplish their goals when longer dynamic scripts are really needed. Personally, I'd like to see it go much further and make the entire engine fully open source with no limits of any kind. But then again I don't follow Eric Raymond's economic theories, and certainly don't begrudge the folks at RunRev a chance to get some ROI and earn a living. So in the meantime, let's take a look at this: Can you describe the algorithms that need self-modifying code, and how those are handled in compiled languages like C? What's happening in those 15 extra lines that makes the difference in usefulness? I'll bet some of the folks here can find a solution that's at least workable, possibly even more efficient and easier to maintain than the caveats and migraines traditionally associated with self-modifying code. ;) If we find that yours is the unique circumstance where there really isn't any way to take advantage of classic compiled algorithms, perhaps you could take Kevin up on his offer and see what can be worked out for your app. But I'd be interested in seeing folks chew on this first, if only because I love a good problem-solving session and almost always learn a lot from it. -- Richard Gaskin Fourth World Media Corporation ___ [EMAIL PROTECTED] http://www.FourthWorld.com ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
HTTPS from the comandline
I have to do a one-off https post, and as the ssl library is now a $199 extra I am looking to do this from the command line. Does anyone have any cross-platform experience of doing this? ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: HTTPS from the comandline
Using the curl command line tool seems to be easy and working well for https and http posts - it is installed by default on linux and OSX machines - how about windows? put curl -d kwote(postData) someURL into someShell put shell(someShell) into theResult delete line 1 to 3 of theResult put theResult The -d option is for post - see http://curl.haxx.se/docs/httpscripting.html and http://curl.haxx.se/docs/manual.html for examples... ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Spreadsheet
I am just starting work on a basic spreadsheet in Rev - I have a few fragments but was wandering if anyone has some work they would be willing to share? The bits I have: 1. altTable like component with headers 2. data model 3. bits to read and write to OpenOffice documents I don't have any GUI or code for viewing, adding and editing formulae, or a general way of taking standard formulae and applying them to cells. Any ideas? ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Dynamic Language Runtime
Thanks for the lowdown Mark! It's a pity OSA didn't take off - I remember having some success with coding JavaScript, AppleScript, and event tried but failed some python I think all within Rev IDE (back when we had MetaCard), its just that the incentives were not there for the language communities to make them OSA compatible. It seems from what you are saying that this may not be a problem with the DLR / .NET approach? NB - the DLR stand for Docklands Light Railway where I come from :) ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Dynamic Language Runtime
Thanks Mark. In general you seem to be supporting the potential of this path? It seems at this stage more promising than other stabs at this no - say Open Scripting Architecture (OSA), and yes it means a lot more than just a browser plugin - though i guess this would get most peoples attention here? A question about writing a transcript compiler for DLR? What does this involve - starting from scratch in C# or if you were RunRev and already presumably had some code basis for a compiler would you be able to use that directly - I guess not. Secondly if it means starting from scratch would that mean anyone could legally undertake such a thing - that is to write a minimal Transcript compiler for the DLR. Its not something I am picturing doing - but I am curious :) On 09/05/07, Mark Wieder [EMAIL PROTECTED] wrote: David- I was part of a DLR roundtable discussion at CommunityOne day at JavaOne yesterday, so I think I can speak to this from the bleeding edge. A few points to consider: 1. The DLR is alpha. I'm bullish on it, and it's very promising, but there are quite a few rough edges and things that just aren't worked out yet. There's no consensus on threads, for instance. Give it time. 2. The DLR means a lot more than just being able to run something in a browser. It promises cross-language compatibility, the ability to run modules written in one language within the context of another language. 3. There's never been a jit compiler for xtalk. Not that it couldn't be done, but that brings headaches of its own. The whole short path / long path thing, for one, is something that I don't think has ever been considered for xtalk syntax. 4. Peter Fisk's Smalltalk compiler is capable of processing arithmetic expressions. That's still a far cry from a full-blown Smalltalk compiler. I'm reasonably certain that a compiler that would process put 2 + 3 in Transcript wouldn't be that hard to build. But there's a lot more to the infrastructure than that. 5. We can't all be Peter Fisk. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Function Points
I have not looked at Function Point Analysis before - but reading up on it makes doesn't leave a good taste. Research shows that a huge percentage of initial requirements (ie function points) never reach the final product - from memory and the published research I read on this last year this was well over 65% for projects of 5 months duration and over! And perhaps more to the point: Am I looking for a Holy Grail in trying to find an objective measurement for projects which don't have any code yet? Sounds interesting Richard - would love to know more... I have been looking hard for this Holy Grail perhaps from a different perspective of games and collaborative publishing. For project management applications I'd think of going more in the direction of as Chipp says agile development with an emphasis on light weight documentation - and go for Unit Tests perhaps as any measure of project complexity? I have used Unit Tests myself in Rev - but I don't think the benefits that they have for other language type projects correspond I think what I am trying to say is that the long term forward planing is all but impossible and the real advantage of any form of project planning documentation is with regard to a customer feedback cycle designed to keep things on track? The biggest problem is trying to convince the customer that forward planning does not work so well, and to pay for a development process that they steer, rather than a hypothetical but detailed plan - Rev and other Agile Tools have the advantage here in that results can be made visible right from the word go. The only form of quantifying I have found useful are Sprint Back Catalogues - which basically keep a daily cumulative graph of time to completion to the end of the next sprint cycle. As a counter to all this Agile development nonsense I came across this ditty a while back :) Imagine (with apologies to John Lennon) Imagine there's no requirements. It's easy if you try Just a bunch of coders, reachin' for the sky Imagine all the people, coding for today Imagine there's no schedules. It isn't hard to do No silly project deadlines, no one supervising you Imagine all the people, coding hand in hand You may say I'm an extremer but I'm not the only one I hope someday you'll join us and make coding lots more fun. Imagine oral documentation. I wonder if you can No need for UML diagrams. Just words passed, man to man Imagine just refactoring, playing in the sand You may say I'm an extremer, but I'm not the only one I hope someday you'll join us and make coding lots more fun. Taken from Stephens, D. Rosenberg. Extreme Programming Refactored But apart from saying I don't think it is possible - am I missing the point? ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Function Points
Whats a slam-dunk? ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Function Points
More seriously On 09/05/07, Richard Gaskin [EMAIL PROTECTED] wrote: But since most of my works spans multiple versions of products, I've been fleshing out some internal tools for code base analysis, What sort of tools are you thinking of here Richard? I am asking because I still have the code graphing tools hanging around waiting for a renewed lease of I'm needed energy... they graph handler relationships, optionally including which controls they are in... from memory you were looking at profiling? ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Function Points
On 09/05/07, Richard Gaskin [EMAIL PROTECTED] wrote: It started out with an interest in cyclomatic complexity, tailoring McCabe's algorithm to be more appropriate for Rev (for example, I weight send...in time since it's one of the few ways you can introduce race conditions into Rev code, and race conditions eat disproportionate time when diagnosing bugs). Looks fun - but I don't get the point yet why would you want to quantify the code complexity - seems overkill for working out how much to pay freelancers :) Then I added a few other metrics, including fan-in and fan-out, which led to the Fandango design pattern Ken and I talked about in our session last year at RevCon West. Fan-in/Fan-out sound like overlaps of your dependency diagrams. I've avoided the challenge of diagramming dependencies myself, as the ROI didn't match up for my needs. But if you have dependency diagramming already in place, there may indeed be some way the two tools could be integrated. Pretty sure that:* M* = *E* − *N* + *2 *where *M* = cyclomatic complexity*E*= the number of edges of the graph *N* = the number of nodes of the graph*P* = the number of connected components.is pretty much there in the code though it would need to be amended to include intra-hadler node connections, as to date i have only been interested in graphing handler relationships not overall complexity. The weak link to such an integration may be on my end: while useful, they're of a lower priority than client work, so they get attention only in between phases with more important projects. As a result, it's hard to say when it'll be in any form that others could use. Ditto - still good to know what you are up to and where to ask questions. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Can this be true: just a few weeks to get Rev running as a cross-platform cross-browser browser plugin?
Well according to Peter Fisk ( http://vistasmalltalk.wordpress.com/2007/05/07/smalltalk-dlr-compiler/): I have built a Smalltalk compiler for the DLR (Dynamic Language Runtime) which is currently capable of processing arithmetic expressions. Smalltalk is structurally a very simple language, and I estimate that the compiler could be completed within one to two weeks. Which basically means that it is possible to run a whole bunch of languages like IronPython, Smalltalk and Lisp amongst others inside a Windows( Browser.IE, Browser.Fx) or an OSX(Browser.Fx, Browser.Safari)) using the Silverlight cross-browser plugin - http://www.oreillynet.com/windows/blog/2007/05/ironpython_smalltalk_lisp_wind.html Now is the Transcript language in RunRev that much more complicated than SmallTalk? If it can take one developer a couple of weeks to build a SmallTalk compiler then how much effort would it be to do this for RunRev? Not only would we be able to use Transcript in the browser, but mix it with other languages in the .NET / Mono frameworks? My guess is that it would be a bit more complicated than SmallTalk - and we would not be able to use the RunRev controls inside the browser. Still to be able to use Transcript instead of Javasript, and as part of a long term strategy to get Rev working seamlessly with altBrowser and AJAX style apps - is this not a good direction to follow? Yes people would need to install the Silverlight plugin, but this is a Microsoft plugin and a strategic(ish) part of VISTA? ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Quick CGI question: doing nothing?
How do I create a CGI that does nothing - from searching around I came across the 204 HTTP Response code. So my basic question is how do I write cgi's to return different HTTP response codes? ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Quick CGI question: doing nothing?
Thanks Andre, I have tried a bunch of variations and think I must be making a basic error as I am getting nothing but Internal server errors. What's wrong with this script: on startup put Do nothing into buffer -- put HTTP/1.1 204 buffer crlf crlf put HTTP/1.0 204 my descriptive text put Content-Type: text/html CR put Content-Length: length(buffer) crlf crlf -- write buffer to stdout quit end startup On 27/03/07, Andre Garzia [EMAIL PROTECTED] wrote: David, a nice read is HTTP Made Easy http://www.jmarshall.com/easy/http/ for a 204 response, just begin your response with HTTP/1.0 204 my descriptive text then put your headers, then your actual data... Cheers andre On Mar 27, 2007, at 9:42 AM, David Bovill wrote: How do I create a CGI that does nothing - from searching around I came across the 204 HTTP Response code. So my basic question is how do I write cgi's to return different HTTP response codes? ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Quick CGI question: doing nothing?
OK - thanks guys that fixed it: on startup put Hello world! into buffer -- put HTTP/1.0 204 my descriptive text crlf put Status: 204 my descriptive text CR put Content-Type: text/html CR put Content-Length: length(buffer) crlf crlf put buffer quit end startup I guess the Status: part of the header applies to other status responses? NB - is there a rhyme and a reason to when to use CR and when CRLF - it seems pretty well interchangeable on a Linux server, are there any buts? Sam goes with using write buffer to stdout or just put buffer - any actual differences? ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Flash and Rev question....
Yes - but I have two problems with that. Apart from not manageing yet to be able to copy and paste text into an altBrowser window on Mac (still think this should be possible by scripting focus issues) is that I can't do transitions between movies. If somene has knowledge of how to do this inside Flash - ie play lists of FLV files then I can either do something server side to pass the playlist to Flash or if it is possible in Flash 5 I could even use the player - but I doubt Flash 5 supports FLV - I think FLV came in with Falsh 7? On 18/03/07, Klaus Major [EMAIL PROTECTED] wrote: Hi David, My understanding is that QuickTime as used in Rev applications can handle Flash tracks - but only Flash 5 tracks? Also there was a problem with the fact that as of last September Flash track support was turned of by default and needed to be manually reset by the user (ot sure if this is still the case) My question is directed at swf movies such as those commonly found on the internet that cannot be played currently by QuickTime is it possible to create a player in Flash 5 format? I guess not, but if so cannot that player be used as a Falsh QuickTime track so that we can play these movies in Rev? Hint: Use the altBrowser external with your stack and display them ALL*** inside of Rev! ;-) ***As long your user does have all necessary internet plugins installed, which is true in most of the cases! Regards Klaus Major [EMAIL PROTECTED] http://www.major-k.de ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Duration of non supported applications
On 18/03/07, Bill Marriott [EMAIL PROTECTED] wrote: I'd wager that a first-year comp sci undergraduate with no prior knowledge of xTalk could be sat down in front of the typical Revolution stack and make any updates required in the time it took for the other three routes to get past the research/requirements phase. That's the great strength of our beloved platform. True. In my experience truth has little to do with this though :( The problem is that human beings and institutional structures get in the way of that. The real world logic goes to often like this: 1) A university department without a dedicated in house coder defers to the IT Department for advice and support. 2) The IT department unless it has a Rev convert will recommend a commercial solution if it does not have available software engineers (most common), or if it does either industry standard (Java / Micorsoft) or open source solutions. 3) The University department is reliant on the rubber stamp from the IT Department to gain the required project funding The relative merits of the technology have little to do with the decision - again the human factors are more important. Remove a student or department from this catch-22 and they would often choose Rev - otherwise they go for an industry standard or open source solution for career or ideological reasons. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Flash and Rev question....
My understanding is that QuickTime as used in Rev applications can handle Flash tracks - but only Flash 5 tracks? Also there was a problem with the fact that as of last September Flash track support was turned of by default and needed to be manually reset by the user (ot sure if this is still the case) My question is directed at swf movies such as those commonly found on the internet that cannot be played currently by QuickTime is it possible to create a player in Flash 5 format? I guess not, but if so cannot that player be used as a Falsh QuickTime track so that we can play these movies in Rev? ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Duration of non supported applications
On 16/03/07, Bill Marriott [EMAIL PROTECTED] wrote: David, 1) Redevelop the software using standard web technology for which there are many developers available. 2) Buy a commercial package 3) Adopt a mixed open source strategy Unfortunately I cannot agree with you on *ANY* of these recommendations. Strange I agree with most of yours! If you really believe this, why the heck are you using Rev at all? It's my prefered development platform. I can do pretty well anything I need with it, more reliably and faster than with any other platform. These arguments could be used against any desktop application Which is why rightly or wrongly desktop apps are moving increasingly to web based apps. For apps that can oly be delivered on the desktop your arguments hold strong - it may be that this is true for Signe's app - but there are less justifications now than there used to be for Desktop apps. I think for all practical purposes the answer to the original poster is: Find a Vista machine and try your stuff out. If for some reason it doesn't work, try re-building the standalone with Rev 2.8. It will undoubtedly work great and continue to do so for the forseeable future. Could well be. I'd find it hard to think of an application in a University setting that has that sort of requirements stability - which is why I'd stand by going with the people and not the technology - maybe an app will not technically need updating over the next 3 years - but most University applications I come across need annual updates because the requirements change - new teachers demand new things - and courses evolve pretty fast (with some exceptions). Perhaps this is the case for Signe - I can't picture it in the courses I know about. I'f I'm somehow misunderstanding you, please help clarify. 3) is a bit of a shorthand, and I'd agree with your caution. I tried to word what I said without promising it to be an easy path. Most open source projects are a have for bugs and truly shoddy work. The larger communities are pretty solid by now though - personally i find Firefox rock solid and upgrading basic installations of MediaWiki or WordPress are in the main done for you with a one click upgrade in many hosting set-ups - its the custom bits and small projects that cause the problems. Again this says to me - go with the people not the technology (both WordPress and MediaWiki are not strong technically) - as the upgrades come for free. A main reason to stick with Rev is this community and the help given - the time taken with your reply is no exception. My advice was to stick with a human centered approach - if there is a Rev developer or a teacher that wants to learn stick with that - if not don't encourage the university to put more resources into an application without the human resources to mange the inevitable change in requirements. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
altBrowser: copy and paste does not work on OSX !
Thanks - good to know. And better to know it works on Windows :) On 14/03/07, Terry Judd [EMAIL PROTECTED] wrote: From: David Bovill [EMAIL PROTECTED] Reply-To: How to use Revolution use-revolution@lists.runrev.com Date: Wed, 14 Mar 2007 15:43:23 +0100 To: How to use Revolution use-revolution@lists.runrev.com Subject: OSX - copy and paste in altBrowser? I still cannot figure out how to get copy and paste work between RunRev and altBrowser? Is this not possible? Or is it a case of being an OSX focus issue, whcih can be got round with some scripting? I'd like to be able to transfer text generated in RunRev or copied from another application to a form shown in an altBrowser window. No go or am I missing something? David - looks to me like this just doesn't work on OSX (works just fine under Windows). You might be able to come up with some sort of horrible hack that involves one or other of the altBrowser callbacks (e.g. XBrowser_click elementID,browserID) and setting the htmlText of the browser directly but it won't be much fun to either implement or use. Sorry I can't be more helpful. Regards, Terry... -- Dr Terry Judd Lecturer in Educational Technology (Design) Biomedical Multimedia Unit Faculty of Medicine, Dentistry Health Sciences The University of Melbourne Parkville VIC 3052 AUSTRALIA 61-3 8344 0187 ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Duration of non supported applications
Signe - while I'd agree with the purely technical advice given, I'd have to be frank and say that I would never advise the University to do this. It would be a waisted effort in my opinion for you or the university to spend any further resources on software that neither has an internal developer available or proper external support. They have in my opinion three options: 1) Redevelop the software using standard web technology for which there are many developers available. 2) Buy a commercial package 3) Adopt a mixed open source strategy The first 2 will involve a significant up front cost, and most likely result in limited (perhaps severely limited) functionality compared with a RunRev approach, but will work out in the longer run. Either of these are the safe bet. The last approach means a painstaking and somewhat risky attempt to share development resources with other similar institutions and members of this community (you mentioned Sivakatirswami). Unfortunately the present community is not set up to develop open source projects where there is not a strong vested interest (the Metacard IDE). This will I believe and hope will change for the better in the near future. It has the advantage of costing only time - but that is a cost. It also has no guarantee of success, but putting more time into upgrading RunRev based software - without the likelihood of gaining another dedicated developer is not going to work either. If you think you would like to explore the latter (3), my guess is you may get a few people on this list interested enough to look at how we could host and develop shared code for use in Educational environments (you can include me) - if there is a will within the University and it matches a similar need outside - then you have an open source project. That backed with a little petty cash to pay developers (not me :) from this list and your in business. If not I'd advise against using Rev and go for 1) or 2). Hope that doesn't put a downer on things. On 16/03/07, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: I agree with Ken. It would not hurt and would probably help to update your materials to the newest version of rev. At a minimum, you should re-build the portal standalone with the latest rev engine. In my view that would help legacy stacks survive longer. Devin Devin Asay Humanities Technology and Research Support Center Brigham Young University Good morning and thanks to both Ken Ray and you for your advice. When you say the latest rev engine, do you mean 2.8? I have only 2.7, if I bought 2.8would I have to install Vista? What about testing on Window XP then? Can both systems be present at the same time? Signe Marie ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
OSX - copy and paste in altBrowser?
I still cannot figure out how to get copy and paste work between RunRev and altBrowser? Is this not possible? Or is it a case of being an OSX focus issue, whcih can be got round with some scripting? I'd like to be able to transfer text generated in RunRev or copied from another application to a form shown in an altBrowser window. No go or am I missing something? ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: shell() in a separate thread with callback message at exit?
This is an important feature request - no? I am not sure how to do this - I have suspected you may be able to do this with some clever shell scripting - but not cracked it for things that you need results from. You can put a shell into the background using ie think, and you could look into the screen command, but the only ways I figured on doing this properly is to have a separate program running and executing the shell. This program can then talk to Rev using sockets or some other technique. On 10/03/07, Joel Guillod [EMAIL PROTECTED] wrote: What platforms are you supporting? If it is Mac only then I think you can achieve this using an AppleScript and AppleEvents. Let me know and I'll let you have more details. Yes, I would be very pleased to get the details for MacOSX. Also I need to support this feature under Windows but let us start with the Mac solution. Thanks a lot, Joel All the Best Dave On 8 Mar 2007, at 11:20, Joel Guillod wrote: How can I implement the following features: - invoque a shell command in a separate thread, i.e. a non blocking shell during execution of the command; - receive a callback message with the output and the error result when the thread exits? This would be some function similar to the load command, i.e.: shellExecute commandLine [with message callbackMessage] where ... ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Copy and paste in altBrowser
A quick question: anyone know how to copy and paste from Rev to an html form field in an altBrowser window? ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Copy and paste in altBrowser
OK - i have been experimenting and am stuck. On OSX if I try to copy text from an altBrowser window I cannot. If I use XBrowser_Get(selected, browserID) I can if I am lucky get some text onto the clipboard but ony if there is a div tag - and this wont hep with pasting. Is it possible? I want to generate some text in Rev and make it easy to paste into html forms - the only thing I can think of doing is parsing the HTML which is exactly what I am trying to avoid. Anyone help me with a simple copy and paste solution? ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Dates: ISO 8601
I need a handler to convert a Rev date into ISO 8601? From my library I have a rough and ready one to go the other way round: on date_Convert8601 @revisionDate -- was date_ConvertT replace T with return in revisionDate put line 1 of revisionDate into someDate put line 2 of revisionDate into someTime put last char of someTime into timeZoneThing delete last char of someTime replace - with comma in someDate set the itemdelimiter to . put item 1 of someTime into colonTime put item 2 of someTime into colonSeconds replace : with comma in colonTime set the itemdelimiter to comma put someDate into someDateItems put colonTime into item 4 of someDateItems put 0 into item 7 of someDateItems convert someDateItems to internet date delete word -1 of someDateItems convert someDateItems to internet date put someDateItems into revisionDate end date_Convert8601 But seem to have lost the other side of the equation ) ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Dates: ISO 8601
Hi Klaus - I was just thinking someone out there must have a ready made handler as it is real common format on the internet. I've given a go below - I include some info for reference: A common use could be []-[MM]-[DD]T[hh]:[mm]:[ss]±[hh]:[mm]. 1981-04-05T14:30:30-05:00, for example. Two good references: 1. http://www.w3.org/TR/NOTE-datetime 2. http://en.wikipedia.org/wiki/ISO_8601#Combined_representations So it's basically dateitems with dashes a T in the middle and a Z or bit from the internet time (UTC) at the end - not too clear on the timezone stuff. UTC If the time is in UTChttp://en.wikipedia.org/wiki/Coordinated_Universal_Time, it is very easy to show this. Simply add a 'Z' directly after the time, without a space. 09:30 UTC is therefore represented as 09:30Z or 0930Z. 14:45:15 UTC would be 14:45:15Z or 144515Z. [edithttp://en.wikipedia.org/w/index.php?title=ISO_8601action=editsection=12 ] Other time zones Other time zones are specified by their *offset* from UTC, in the format ±[hh]:[mm], ±[hh][mm] or ±[hh]. So if the time being described is one hour ahead of UTC (such as the time in Berlinhttp://en.wikipedia.org/wiki/Berlinduring the winter) the offset would be +01:00, +0100 or simply +01. This is appended to the time in the same way that 'Z' was above. Note that the offset is the actual offset from UTC, and does not include any information on daylight saving timehttp://en.wikipedia.org/wiki/Daylight_saving_time. Times expressed in local time for a user in Chicagohttp://en.wikipedia.org/wiki/Chicagowould be -06:00 for the winter (Central Standard Time http://en.wikipedia.org/wiki/Central_Standard_Time_Zone) and -05:00 for the summer (Central Daylight Timehttp://en.wikipedia.org/wiki/Central_Daylight_Time_Zone). The following times all refer to the same moment: 18:30Z, 22:30+04, 1130-0700 and 15:00-03:30. So this seems to work: function date_Construct8601 someDate -- ie 1981-04-05T14:30:30-05:00 convert someDate to internet date put word -1 of somedate into utcOffset convert someDate to dateItems put item 1 to 3 of someDate into dateBit replace comma with - in dateBit put item 3 to 6 of somedate into timeBit replace comma with : in timeBit return dateBit T timeBit utcOffset end date_Construct8601 ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
XMLRPC Time problem
I am not sure if this is a problem with the XMLRPC library but I cannot send a time to the web service which expects ISO 'time data did not match format: data=2007-03-07T21:28:44Z UTC fmt=%Y%m%dT%H:%M:%S %Z' And while the above is the correct ISO_8601 time I also tried the following based on the error codes returned: 20070307T21:26:41 Z 20070307T21:25:14Z 2007-03-07T21:27:38 Z 20070307T213142Z All give the same result. however the error includes the letters UTC and from the docs: The type is the type of data contained in the value parameter. The supported types are: * dateTime.iso8601: the value is an Internet date Which makes me wander if the library is sending the internet time followed by UTC? Or can someone help me with what the format response is asking for if it is not in one of the above. Stuck here. NB there was a bug in the function I posted -this is the one I am using at the moment: function date_Construct8601 someDate, useDateDelim, useTimeDelim -- 1981-04-05T14:30:30-05:00 if useDateDelim is not false then put - into dateDelim if useTimeDelim is not false then put : into timeDelim convert someDate to internet date put word -1 of somedate into utcOffset put char 2 to 3 of utcOffset into extraHours put char 4 to 5 of utcOffset into extraMin convert someDate to dateItems if char 1 of utcOffset is + then add extraHours to item 4 of someDate add extraMin to item 5 of someDate else subtract extraHours from item 4 of someDate subtract extraMin from item 5 of someDate end if convert someDate to dateItems set the numberformat to 00 put item 1 of someDate dateDelim into fDate put (item 2 of someDate + 0) dateDelim after fDate put (item 3 of someDate + 0) after fDate put T after fDate put (item 4 of someDate + 0) timeDelim after fDate put (item 5 of someDate + 0) timeDelim after fDate put (item 6 of someDate + 0) Z after fDate return fDate end date_Construct8601 ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Anyone got experience with the XMLRPC libraries?
Thanks Bernard - I tracked down the problem based on your advice. It is that there was an Apache redirect on the server and while without authentication the url works fine with the XMLRPC library - turn on authentication and it does not work - switching to alternate non-redirected url allows authenticated XMLRPC access. I guess that is a bug? On 07/03/07, Bernard Devlin [EMAIL PROTECTED] wrote: David, I've only done some simple tests, but I can get basic authentication working like this: put revxmlrpc_createrequest() into myrequest revxmlrpc_sethost myrequest,myUsername:[EMAIL PROTECTED] revxmlrpc_setport myrequest,8080 revxmlrpc_setpath myrequest,/ revxmlrpc_setmethod myrequest,undo_log put revxmlrpc_execute(myrequest) into myresponse if myresponse is a number then answer revxmlrpc_getparam(myresponse,1,string) revxmlrpc_free myresponse else answer myresponse revxmlrpc_free myrequest When you say it is not working, what kind of response are you getting? Bernard ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
AltBrowser Crash
I have a problem I can't track down that causes a reproducible crash with altBrowser external on OSX (intel). It is a strange one to me as the browser is initiated, and it resizes fine - plus my scripts can set the url. However clicking on absolutely any link causes the crash. Now this does not happen with the demo stack. I am starting to use the browser id - so I can have multiple windows open - but in fact I only have the one, and well I am lost. There are no mouse handlers in the normal hierarchy - though I could try to look at the front and back scripts... any ideas? What should I check for? ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Anyone got experience with the XMLRPC libraries?
The documentation is a bit sparse :) In particular I need to authenticate the XMLRPC call using the normal basic authentication - and I can find no way of doing it? Setting the host to: username:[EMAIL PROTECTED] does not work. I've asked before but got no reply - is anyone actually using it ??? ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Rev and version control systems
Hi Ben - hows Brighton? Yes _ ia have been using CVS and Revolution from 1999 and switched to svn last year. I have a library for controlling svn from within Rev and some GUI work, integrated with a documentation web site. If you would like to check this out contact me off list. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Set the filename of image 1 to url....
If you set the filename of image to a url what is actually happening? Is the image loaded into the cache? Is there a way of getting the image contents (to save to a file for instance) without actually fetching the image again from the internet? ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
libURL: add to cache?
I would like to be able to add a local image to the cache. I can unload the image to remove it, and I guess (thugh not tried I can save the image as a file and then load the file: - but is there some way to add an image in memory to the libURL cache? ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
libURLSetStatusCallback: is there a simpler way?
I am getting errors with fetching data from a web server. The symptoms are: On occassion put url someURL in someXML return empty - that is someXML is empty. This happens when I click a couple of times on different items in the GUI in succession resuling in an error. I think though it is hard to debug, that this is because I am using load and mixing these calls with blocking call like the above when I want to get the data now. I am sure I read somewhere in the docs that multiple calls to the same URL can cause problems - is this right ??? In which case I should do a check with urlstatus(someURL) before calling the url? URLStaus? Well if this is the cause of the problem I could not fix it - as AFAIK urlstatus(someURL) only allows you to check the status of a url you know. In my case the previous url would be different from the one I am about to call - that is the script is about to check: www.mydomain/new.cgi and I have a number of load url http://www.mydomain/someimage.png; in progress. My guess is that because they share the same domain - the call to the cgi is returning empty - but that I cannot check the urlstatus before the call to the cgi as the urlstatus of new.cgi is empty and without tracking all the load calls in my script there is no way to find out how many urls are currenty loading but no finished loading - this is surely a deficiency of the urlstatus function? The hard way? Before embarking on this I thought I would check in to see if there is an easier way... but this is what I am thinking of doing... If I set libURLSetStatusCallback then I could effectively log all calls to urls that are in the process of loading but not in the cache yet. That is the following status commands would be (effectively) sent back from the server: queued: on hold until a previous request to the same site is completed contacted: the site has been contacted but no data has been sent or received yet requested: the URL has been requested And I could then store the urls of the pending urls yet to be cached by the load function? The easy way? It would seem there must be an easier way? Am I right about the source of the error? The only other way I can think of doing this is simply not to mix load and get url... from the same server. If I used another load if would be place in th cue. However then I loose my ability to prioritize calls to certain urls and all 500 thumbnails would have to load before a user click shows the full image... ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: libURL: add to cache?
On 19/02/07, Jim Ault [EMAIL PROTECTED] wrote: I guess the short question is why add it to the cache? If it is a local file, the access will be snappy, but if you want to 'preload', just put the image into a variable or custom property. The GUI i am working on is one which fetches a lot of stuff from the web - images, thumbnails, data etc. To speed things up I am trying to create an interface which loads stuff that may be needed into the background (thubnails mostly) lowing the user to interact with the GUI. Now I could script this all myself but the built in libURL cache does prety well what I want - that is the scripts just refer to the data and images by URL - if it has nt been downloded off it goes fetches it and caches it in case the data is needed later. So far so good. however if you have a situatio where a few hunder thumbnails are loading in the background and the user clicks on the GUI to display a piece of text information or to display a particular image you want to get that piece of data straight away. This is where I get problems. Firstly the blocking calls sometimes return empty due to ongoing loads to the same domain (I think) and secondly once I have the image or data - Id like to use the same code to display it later nd not write my own caching malarky - duplicating what the internet library does - that is Id like to add the image or data to the internet libraries cache so that as with the rest of the data later calls to the url fetch it as per normal. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: libURL: load unload bug?
Thanks - Ive added that check and so far so good. I think it would be good to add libUrlResetAll - it would have saved me from quiting and restarting a number of times? But thanks for documenting and structuring the code so nicely! ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
LibURL: more loaded questions
If you have a bunch of thumbnails that you are loading in the background and you want to be able to make sure that a user click to see the full image is prioritised is there anyway to do this except using a blocking command? That is can you pause a(ll) load? If not is there a way of adding the downloaded image to the cache if you have not used load and don't fancy downloading it again with just in order to take advantage of subsequent calls? ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: A hard challenge anyone?
On 15/02/07, Richard Gaskin [EMAIL PROTECTED] wrote: How would the profiler fit in - I didn't even think the thing worked :) Profiling wouldn't be part of a code base reporter per se, but it's a great way to identify runtime bottlenecks. MC's works, but its UI is ugly and it's painfully slow. Jacque tells me there's a way to speed it up in one line, but alas I haven't had the time to dig into it. OK - I think I am got the wrong end of this. I was thinking of property profiles - from your and Jacques reply it seems like we are talking about something much more interesting what does the MC profiler actually do / generate? ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: A hard challenge anyone?
I downloaded it Jacque - but having some problems using it - could it be clashing with something - Galaxy? Or does it need to be opened in a certain way? On 16/02/07, Richard Gaskin [EMAIL PROTECTED] wrote: J. Landman Gay wrote: Richard Gaskin wrote: Conceivably, MC's profiler could be extracted and used in any IDE. It's just a question of getting the time to do that. You must be getting old, Richard. :) I did that about a year ago and posted the stack for use with Rev. It's on my site, though I admit there is no public link to it. http://www.hyperactivesw.com/downloads/script_profiler.rev I've also just uploaded it to RevOnline; see screen name Jacque to download it from there. Excellent, Jacque. Thank you. It's nice to see MC's open source X11 license paying dividends for the community. -- Richard Gaskin Managing Editor, revJournal ___ Rev tips, tutorials and more: http://www.revJournal.com ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
libURL: load unload bug?
What could this be? I have found that on occasion urls cease to work and this time rather than quiting and starting again I took a look at what it could be... I found that while some urls still worked a few returned very fast and empty - one of them was an image and one www.google.com. Testig the image url in a browser proved that the image was there. It looked like it was a problem with the url cache so I wrote this script: repeat for each line someURL in the cachedurls unload url someURL end repeat put the cachedurls and checked that the cache was empty - still no joy with the urls that were causing the problem. Next I edited the script of the internet library (added a space) in order to kill the local variables that cache the url's and hey presto the urls worked again ??? Is there an occasional problem with unload? In that empty url's perhaps resulting from faulty calls are not cleared with an unload call? Or should I call something like libUrlResetAll - not documented AFAIK to reset things? ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: libURL: load unload bug?
To confirm - issueing libUrlResetAll fixes the problem. But what is the problem ??? I am loading thumbnails into my application asynchronously using the load with message command. As each thumbnail comes over I get the url from the cache and put the data into the thumbnail image finally unloading the url so as to clear the image from the cache memory. Seems all to work fine except that every so often with loads of 100 images well the cache gets mucked up - here are the scripts: setprop image_Loaded photoURL put the long id of the target into thumbView load url photoURL with message image_DisplayLoaded end image_Loaded on image_DisplayLoaded someURL, someStatus put url someURL into someImage set the image_Value of me to someImage unload url someURL end image_DisplayLoaded setprop image_Value someImage put the short id of the image_Object of me into imageObjectID put someImage into image id imageObjectID of me end image_Value Perhaps I am not checking the status before unloading? Should not cause this problem but still... ? ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: A hard challenge anyone?
Thanks Ken! I will test your approach out against the quick hack that I have in place and send you the pictures! Just a note - but so far I the diagramming of the code is proving a lot more useful than I thought. Just one glance picks up all sorts of things - handlers which are not linked to any events - probably hanging around from some earlier incarnation - handlers which are bottle necks - which handlers work best in backscripts of libraries - and a general impression of things that are had to quantify like is it too complex? Most of all the pictures are pretty :) ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: A hard challenge anyone?
On 15/02/07, Richard Gaskin [EMAIL PROTECTED] wrote: Got a screenshot handy? Here is an early one - this is the image export which I am working on turning into an image map. Better yet, will this be an open source tool? Perhaps there's a way it could be modularized to incorporate other measurements so I could donate mine to the mix. Yes. Though I see it at the moment as more of an online resource (hence the image maps) - using REST web services to embed the tools within the Rev IDE. I've been pondering whether to also leverage MetaCard's profiler into such a tool, but it's a bit of work and as cool as it would be I'm not sure my clients would let me take the time away to do it. :) How would the profiler fit in - I didn't even think the thing worked :) ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: A hard challenge anyone?
Ah yes the link to an image - here is a large one that I was having problems with earlier - but so far it is the only one online. http://docs.rev-co.de/radial.png The bits still missing apart from the the nested function problem is handling sends and calls -- including getprop and setprop calls. The graph above works because of the way I script my code allowing me to work out most of the time which objects are being called - however it is nowhere close to being a general method. To do this I think you would need to almost build a mini-debugger to execute the code in the handler to find out what object the comand was being sent to in a call like this send test to someObject At the moment my code looks for a definition line for someObject like put the long id of group 1 of me into someObject And extracts group 1 of me etc... ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: BUG: Anyone confirm SSL support broken on 2.7.4 MacOS X Intel
Andre - where can I find RevOnRockets ? I cant reach http://www.andregarzia.com? ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
RevOnRockets - download?
Anyone got a copy? Doing some CGI work and would like to take a look - but there seems to be a DNS issue with http://www.andregarzia.com/revwiki/page/RevOnRockets - maybe its moving? ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Set the script of... not working ???
That could not be the problem, because: put the number of chars of someScript set the script of scriptObject to empty -- exit here! put someScript The script could not be set to empty? Also I gave up trying to figure may way round this and instead used the same scripts to set the text of a field in the script editor - only compiling the script at the very end. It makes no sense - as the script editor clearly must be able to set the script - but good to know there is no known bug here. All very strange! But thanks for the advice. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Set the script of... not working ???
I have a script which is trying to delete handlers from a library - here are the lines that are not working: put the script of scriptObject into someScript delete char startChar to endChar of someScript put the number of chars of someScript set the script of scriptObject to empty put someScript set the script of scriptObject to someScript put merge(Deleted handler '[[handlerName]]'!) In the message box I get: 70641 That is the script exits and is not able to set the script to empty or to anything else. I have never come across this before - but it is a large script - is there a limit to the how large a script can be for this to work ??? ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Wide PNG's displaying only coloured stripes?
There are lots of time when you need to make these calculations - due usually to information or interfaces provided by other software (often defined primarily for print) - in my case I need to pass inches to the shell and therefore convert to inches from the rect in Rev, So the question is exactly what is involved in moving from lets say 640 x 480 image rect to a value in inches that you must supply to a piece of print orientated software? At one time I thought it was just 72 dpi = an inche - but then I never got straight the use of points and pixels and dots per inch. I know what dpi are in print world - I know (I think) what pixels are in the screen world. That is i think I do :) - Pixels are little glowing spots on your screen - Dots are little non-glowing spots of colour (usually on paper) - the rect and loc etc in Rev refer to pixels of glowing colour - inches and other conventional measure refer to fixed distances in space (relativity not withstanding) - to get from pixels or dots to some real physical measure you need to know the number of pixels or dots per unit of space on the output device concerned (paper or screen) - dpi is this factor and the dpi of monitor screens used to be 72dpi I think all though tis should really be pdi for pixels per inch or gdpi for glowing dots per inch. 96 is another number entirely. Can someone help me here - I think I am in the wrong tree - how do I know the dpi factor to use in a conversion? ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Wide PNG's displaying only coloured stripes?
On 06/02/07, Scott Rossi [EMAIL PROTECTED] wrote: Recently, David Bovill wrote: Here is an example: http://docs.rev-co.de/radial.png How do you intend to display this image? Do you show it at full size and expect a user to scroll it around the screen, or do you scale it down? Both - hand pan around and view the entire image. Also trying to figure out an interface to zoom in and out - not sure what the best is there. I dont want icons and maginifying glasses more of a game like interface or Google Earth style? FYI, I can't get it to display in a stack -- the size exceeds the threshold Sarah mentioned. When the image is scaled to 4000 pix wide, it imports as expected. Yes - I think that has fixed the problem. Especially if I can figure out how many inches 4000 pixels is :) ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
CGI's - can they return quick and then continue doing something?
I have not had to do this before - or rather I tired once and failed - but thought Id ask before trying again... essentially can a CGI return an OK to the Rev client and continue with the execution of the script? This would avoid the Rev client locking up waiting for the cgi to return. In my case I have a graphic intensive application on the web server ( a renderer) which i want to activate from Rev to create images on the web site. It may take a minute or so to create the image on the server... so whats the best strategy? I was thinking either to et the CGI to return early and allow the client to manually or automatically refresh the image display, or secondly to do an asynchronous call to the CGI I guess by using load? ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Resolution - DPI, PPI LPI (was: Wide PNG's displaying only coloured stripes?)
No thanks a lot for the info! In simple terms I have a piece of graphing software which I can control in various ways - one is to set the size of the resulting image. The image will be scaled proportionally to fit into this size. Now the size is in inches so you can basically pass the programme size=41.6667,41.6667 and it will scale the image to print it within a square of about 41 inches. Now I wanted to be able to figure out how many inches to set the size in order to get 4000 x 4000 pixels and wrote a function: on convertSizeToInches @pixelSize set the numberformat to 0. repeat with itemNum = 1 to the number of items of pixelSize put (item itemNum of pixelSize) / 72 into item itemNum of pixelSize end repeat end convertSizeToInches Now looking at the resulting image which should be 41.6667 inches wide - it ends up being 4014 pixels according to the Finder and the formattedwidth property of the image. This means then that the software is using 4014 / 41.6667 = or just over 96dpi. Now i guess what you are saying is this is just arbitrarily set by the graphing software and there is no real way of figuring it out from first principles? I have a similar problem with GoogleEarth where I need to figure out how many pixels on screen is a kilometer at a given height? ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: just noticed another potential bug
Confirmed here - in general commandkey short cuts can stop working all though they continue to work direct from the menu. On 05/02/07, Jim Ault [EMAIL PROTECTED] wrote: Mac OSX 10.4.8, Mac G5 dual processor, Rev Enteprise 2.7.2 This is probably the same bug reported before. Previous bug report was the cmd-V for paste stops working in script editor window, then will start working again. Temporary fix is close the window and reopen it. Otherwise use the mouse to choose the command in the menu (which works all the time), or do the workaround I described last week with MenuMaster (great so far) The cmd-M for focus on the message box also stops working. I know that it stops yet the paste still works. Tough one since timing and recipes have not been reproducible. Jim Ault Las Vegas ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Wide PNG's displaying only coloured stripes?
With the graphing application I have a problem i do not understand. With smaller graphs everything is OK, but with large or rather wide graphs they do not dislay correctly - I get coloured bands. Has anyone else seen this - I do not think jpegs or other formats work much better - they display fine in Preview on OSX? ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Wide PNG's displaying only coloured stripes?
That sounds like the problem - is there a way around it - setting a background colour? Here is an example: http://docs.rev-co.de/radial.png On 05/02/07, Scott Rossi [EMAIL PROTECTED] wrote: Recently, David Bovill wrote: With the graphing application I have a problem i do not understand. With smaller graphs everything is OK, but with large or rather wide graphs they do not dislay correctly - I get coloured bands. Has anyone else seen this - I do not think jpegs or other formats work much better - they display fine in Preview on OSX? Can you post a screenshot somewhere, or an example stack? One thing that can happen is if you have shallow gradient spanning a large distance, there may not be a wide enough range of colors to render the gradient smoothly, and the result is a banding effect. Regards, Scott Rossi Creative Director Tactile Media, Multimedia Design - E: [EMAIL PROTECTED] W: http://www.tactilemedia.com ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Wide PNG's displaying only coloured stripes?
Well yes - the image example is 4772 x 1492. Ill try within 4096 - is there a bug report - it would be good to know wha tthe maximum i can safely scale the images to? On 05/02/07, Sarah Reichelt [EMAIL PROTECTED] wrote: On 2/6/07, David Bovill [EMAIL PROTECTED] wrote: With the graphing application I have a problem i do not understand. With smaller graphs everything is OK, but with large or rather wide graphs they do not dislay correctly - I get coloured bands. Has anyone else seen this - I do not think jpegs or other formats work much better - they display fine in Preview on OSX? How wide are the images that fail? There is a known issue with Rev displaying images on OS X if they are more than 4096 pixels in any dimension. I think that's the limit, but it's something like that. Sarah ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Wide PNG's displaying only coloured stripes?
Found it (bug report): http://quality.runrev.com/qacenter/show_bug.cgi?id=4026 4091 is that the image object displays a corrupt image. And that seems to fix the problem. NB anyone know how to convert inches to pixels? There is this Url: but I cant figure the dpi I need it is not 72dpi... or 96? http://www.classical-webdesigns.co.uk/resources/pixelinchconvert.html ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: A hard challenge anyone?
Thanks a lot for the background and references Marielle. I'll take the tip of working outwards, and read up a bit more on regular expressions - one thing you mention which intrigues me is searching right to left... sounds like a technique to be used in regexp - but how? ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: A hard challenge anyone?
On 04/02/07, Richard Gaskin [EMAIL PROTECTED] wrote: David Bovill wrote: The hard bit is to be able to match the function call... What is this to be used for? Its for graphing relationships between handlers. An itch I have been wanting to scratch for a very long time now. A problem I have are dead functions - that is the stuff hanging around in libraries that are used rarely or perhaps never. I also want to be able to reliably extract stand-alone collections of handlers from these libraries so that you do not have to distribute entire libraries with the finished code. If this is a code base analysis tool, one in which you might already have had occasion to obtain a list of function names, might it simplify things to search for those? To work backwards? Hmmm... I guess but it would miss one point which seems to be proving somewhat useful - the ability to spot missing handlers prior to coming across the bug. The graphing tool bundles all handlers it cannot find into one a Missing box. It is not as useful as the ability to extract code and view realationships - so the approach you suggest has merit... still would need to distinguish between handlers with the same name and different types (command, function, get/setprop) in any case? ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: A hard challenge anyone?
I'll try this approach JIm - I am always surprised by how complicated stuff can be analysed by the simple techniques you suggest! On 03/02/07, Jim Ault [EMAIL PROTECTED] wrote: Or perhaps a cleaner implementation would be get line x of fcnListing replace ( with cr ( in it replace ) with )cr in it --no need for dividers Jim Ault Las Vegas ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: A hard challenge anyone?
On 04/02/07, Jim Ault [EMAIL PROTECTED] wrote: How are you tracking valid functions that have the same name yet different locations? If both functions that are named the same are in the path, the first will trap a message (most frequent example is the mouseup). Does this get graphed in your app? Yes they do. Each handler is given a database type unique key of the style: handlerName,handlerType,handlerNumber,handlerObject The type can be one of command, function, getprop, or setprop (I use the first letter). The number is for duplicate handlers, and the object is the control the handler is found in. this record I call an hKey (handler key) and should be unique. I do not use handlerNum much and for message hierarchy walks this is set to 1 (it is only really used for checking for duplicate handlers to see if they are identical. I bundle these in a single record because it makes it easier to construct the recursive handlers that do the walking. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Unicode Question
I hope I got your question right - it is more abot an interface style to a library than auto-detecting whether which format the data is in? If so - arrays are a good bet, but in my opinion the most user friendly approach is to create a model which deals with the functions and commands for getting and setting the ID3 data from the file, and then a set of simpler getprop and setprop interfaces that users would use with a Rev based control. In your case it would look something like: -- Model - function id3_GetArray someFile ... end id3_GetArray someFile on id3_SetArray someFile, id3Array ... end id3_SetArray someFile -- Interface - getprop id3_UnicodeText put the filename of the target into someFile put id3_GetArray(someFile) into id3Array return id3Array [unicode] end id3_UnicodeText And so forth for the various elements of the model you want to expose in a friendly way to the user. They can then just set the filename of the player to a mp3 file and use: put the id3_UnicodeText of player 1 If there are too many interfaces you can use the array type sytax: put the id3_Data [unicode] of player 1 With and getprop handler like: getprop id3_Data [someKey] put the filename of the target into someFile put id3_GetArray(someFile) into id3Array return id3Array [someKey] end id3_Data ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Unicode Question
I am not really sure - can you put it into a field and if it differs from the original text value assume it is unicode, or maybe regEx looking for some chars outside of the ascii range? ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Unicode Question
Well inside Rev - I think that most users would like to use the htmlText. From my point of view i would like to be able to do the following: set the text of fld Title to the id3_Title of player 1 set the htmltext of fld Title to the id3_Title [htmlText] of player 1 -- (could have id3_HtmlTitle as well) set the unicodeText of fld Title to the id3_Title [unicode] of player 1 And query the player like: put the id3_TextFormats of player 1 into availableFormats put the id3_TitleArray of player 1 into titleArray if unicode is among the items of availableFormats then set the unicodeText of fld 1 to titleArray [unicode] But in general i don't see why you would need to do anything other than one of the first three (I'd use the . The library would just give you the format if it were available and if not give you the text which would work fine. The library would just need to uniencode the plain text - ie set the unicodetext of fld 1 to uniencode(Test) works fine. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Once upon a time?
Thanks guys! Now I wonder which will be fastest: get wordOffset(word1, tText) if (it 0) AND (it = (wordOffset(word2, tText) - 1)) then or put space into P put replaceText(once upon a time,\s+,P) into cleanVar put Ponce uponP is in PcleanVarP = true ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Script Hierarchy
I am writing a handler to walk the script hierarchy - which means I have got to get to the bottom of exactly how the message passing happens. My question is basically how the hierarchy works exactly with front and backscript and used stacks. The front go in the front, the used after the stack hierarchy and the back in the back - and the order in pop in pop out. What is puzzling me is that the order of the libraries seems to make no difference - it is as if they were all in one big script space. Some of my handlers in the libraries call others and if the hierarchy was strict this should lead to a script error in that the handler should be effectively missing - when it is below the library in the hierarchy (sorry about the mouthful). For instance if I have 2 used libraries and library one calls a handler in library 2 - it does not seem to matter which way around the libraries are added - the call is always found? Is it the case that libraries of the same type (forn,used, and back) are effectively all in one flat space - as if they were in a single script, and that the order only affects the order the scripts are added to this space (in case there are multiple handlers of the same name)? ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Once upon a time?
That is a big difference! ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution