Problem with more than one open stack
Hi, I have a stack that runs a task that takes a about 2 mins to run. While it's working I want to display a simple Progress window, this works ok, except the when I Go to the Progress stack, the calling stack loses it's context so that references to fields on the stack don't get resolved, e.g. "this" stack refers to the Progress Stack, not the Driving Stack. How can I display one stack (e.g. the Progress Stack) have have it update, but have code running in another Stack? I am "Sending" messages to the Progress stack to set the thumb position every N cycles. Thanks a lot All the Best Dave ___ 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: More problems with revExecuteSQL
Hi, I believe that even with variable substitution, you have to put ' around any non-numeric parameter. Do you mean the data in the array? The reason I moved from just sending the data in the SQL Statement directly was to get around the problem that there may be quotes in the data to be inserted. Your SQL statement doesn't have that. The 13T01 is the time. It appears that the expression for the date is getting evaluated as a math function. But why? And how do I stop it! There may well be single quotes in the data. The data can be any UTF8 character. I think your template SQL statement should be something like: ... VALUES (':1',':2',... Not according to the documentation: revExecuteSQL myID,"insert into emp() values(:1,:2,:1)",\ "valueX","valueY" The content of the variable valueX is substituted for the ":1" in the SQLQuery (in both places where ":1" appears), and the content of valueY is substituted for ":2". If you specify an arrayName rather than a list of ordinary variables, the revExecuteSQL command substitutes the corresponding element of the array for each of the placeholders in the query: revExecuteSQL myID,"insert into emp() values(:1,:2,:1)","myArray" The content of the element myArray[1] is substituted for the ":1" in the SQLQuery (in both places where ":1" appears), and the content of myArray[2] is substituted for ":2". Anyone have any idea how to do this simple thing? All the Best Dave On 1 Nov 2007, at 12:53, Len Morgan wrote: I believe that even with variable substitution, you have to put ' around any non-numeric parameter. Your SQL statement doesn't have that. The 13T01 is the time. It appears that the expression for the date is getting evaluated as a math function. I think your template SQL statement should be something like: ... VALUES (':1',':2',... Hope that helps len morgan David Burgun wrote: Hi, After finding out that the data I was sending with revExecuteSQL needed to be escaped if it contains double-quotes or colon etc. I decided it would be better to put the data into an array and use the parameter substitution feature. When I run it now, I get the following error: unrecognized token: "13T01" And I can't figure out could be wrong! Please see of the function where this occurs followed by the contents of the variables. Anyone got any ideas or what could be wrong? Not sure what to do now! I need to be able to write arbitrary UTF8 string to a SQLite database. Doesn't seem a lot to ask! lol All the Best Dave -- -- -- UtilDBInsertRecord -- --- function UtilDBInsertRecord theDatabaseID,theTableName,theRecordKeyArray local mySQLCode local myKeyList local myKeyName local myKeyText local myResult local myTempKeyList local myValueList local myParameterList local myParameterArray local myParameterNumber put the keys of theRecordKeyArray into myKeyList if myKeyList <> empty then sort lines of myKeyList put replaceText(myKeyList,cr,",") into myTempKeyList --delete char -1 of myTempKeyList put empty into myParameterArray put empty into myParameterList put empty into myValueList put 1 into myParameterNumber repeat for each line myKeyName in myKeyList put ":" & myParameterNumber & "," after myParameterList put theRecordKeyArray[myKeyName] into myParameterArray [myParameterNumber] add 1 to myParameterNumber end repeat delete char -1 of myParameterList put "INSERT INTO " & theTableName & " (" & myTempKeyList & ") " & \ " VALUES (" & myParameterList & ") " into mySQLCode revExecuteSQL theDatabaseID,mySQLCode,"myParameterArray" put the result into myResult if myResult <> empty then if myResult is not an integer then answer error "Error in UtilDBInsertRecord, revExecuteSQL:" && myResult breakpoint end if end if end if return myResult end UtilDBInsertRecord - --- Variable dump when the error occurs: mySQLCode: INSERT INTO MusicBase (AlbumName,AlbumRating,AlbumRatingKind,ArtistName,BitRate,BPM,DateAdd ed,Duration,FileLocation,FileSizeBytes,Genre,ModDate,PlayedCount,Play edDate,SampleRate,TrackName,TrackRating,TrackRatingKind,TrackSkippedC ount,TrackSkippedDate,UnplayedFlag) VALUES (: 1,:2,:3,:4,:5,:6,:7,:8,:9,:10,:11,:12,:13,:14,:15,:16,:17,:18,:19,:20 ,:21) myResult
More problems with revExecuteSQL
Hi, After finding out that the data I was sending with revExecuteSQL needed to be escaped if it contains double-quotes or colon etc. I decided it would be better to put the data into an array and use the parameter substitution feature. When I run it now, I get the following error: unrecognized token: "13T01" And I can't figure out could be wrong! Please see of the function where this occurs followed by the contents of the variables. Anyone got any ideas or what could be wrong? Not sure what to do now! I need to be able to write arbitrary UTF8 string to a SQLite database. Doesn't seem a lot to ask! lol All the Best Dave -- -- -- UtilDBInsertRecord -- --- function UtilDBInsertRecord theDatabaseID,theTableName,theRecordKeyArray local mySQLCode local myKeyList local myKeyName local myKeyText local myResult local myTempKeyList local myValueList local myParameterList local myParameterArray local myParameterNumber put the keys of theRecordKeyArray into myKeyList if myKeyList <> empty then sort lines of myKeyList put replaceText(myKeyList,cr,",") into myTempKeyList --delete char -1 of myTempKeyList put empty into myParameterArray put empty into myParameterList put empty into myValueList put 1 into myParameterNumber repeat for each line myKeyName in myKeyList put ":" & myParameterNumber & "," after myParameterList put theRecordKeyArray[myKeyName] into myParameterArray [myParameterNumber] add 1 to myParameterNumber end repeat delete char -1 of myParameterList put "INSERT INTO " & theTableName & " (" & myTempKeyList & ") " & \ " VALUES (" & myParameterList & ") " into mySQLCode revExecuteSQL theDatabaseID,mySQLCode,"myParameterArray" put the result into myResult if myResult <> empty then if myResult is not an integer then answer error "Error in UtilDBInsertRecord, revExecuteSQL:" && myResult breakpoint end if end if end if return myResult end UtilDBInsertRecord Variable dump when the error occurs: mySQLCode: INSERT INTO MusicBase (AlbumName,AlbumRating,AlbumRatingKind,ArtistName,BitRate,BPM,DateAdded, Duration,FileLocation,FileSizeBytes,Genre,ModDate,PlayedCount,PlayedDate ,SampleRate,TrackName,TrackRating,TrackRatingKind,TrackSkippedCount,Trac kSkippedDate,UnplayedFlag) VALUES (: 1,:2,:3,:4,:5,:6,:7,:8,:9,:10,:11,:12,:13,:14,:15,:16,:17,:18,:19,:20,:2 1) myResultunrecognized token: "13T01" myParameterList : 1,:2,:3,:4,:5,:6,:7,:8,:9,:10,:11,:12,:13,:14,:15,:16,:17,:18,:19,:20,:2 1 myParameterArray: [1] The Best Of Bob Dylan I [2] 0 [3] computed [4] Bob Dylan [5] 192 [6] 0 [7] 2007-10-29T10:25:04Z [8] 168463 [9] file://localhost/Users/Dave/Music/iTunes/iTunes Music/Bob Dylan/ The Best Of Bob Dylan I/01 Blowin' In The Wind.mp3 [10]4045324 [11]Rock [12]2003-07-13T01:58:33Z [13]0 [14]missing value [15]44100 [16]Blowin' In The Wind [17]0 [18] computed [19]0 [20]missing value [21]***NULL*** ___ 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: SQL Lite for RunRev?
Hi, Thanks a lot, this is exactly what I wanted! All the Best Dave On 29 Oct 2007, at 15:47, Thierry wrote: Le 29 oct. 07 à 16:40, David Burgun a écrit : What do you mean by "SQLite is included with RunRev nowadays" ? Hi Dave, look here: http://www.runrev.com/newsletter/may/issue26/newsletter1.php they have a chapter about SQLite HTH, Thierry ___ 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: SQL Lite for RunRev?
Hi, What do you mean by "SQLite is included with RunRev nowadays" ? I downloaded the latest version of RunRev, but can't see any mention of SQLite anywhere. If use the revDB commands, will they automatically pick up SQLite? I've been trying to find something on this for a while now and can't see anything specially addressing this in the RunRev docs or on their web site. Thanks a lot All the Best Dave On 29 Oct 2007, at 10:46, Mark Schonewille wrote: Hi Dave, SQLite is included with RunRev nowadays. Read all entries containing "sql", "revdb" and "database" to get started. There are a lot of SQLite-related discussion in the archives of this list: <http://search.gmane.org/?query=sqlite+%22how+to% 22&author=&group=gmane.comp.ide.revolution.user&sort=relevance&DEFAULT OP=and&xP=Zsqlite&xFILTERS=Gcomp.ide.revolution.user---A> Skimming those will definitely help you. Best regards, Mark Schonewille -- Economy-x-Talk Consulting and Software Engineering http://economy-x-talk.com http://www.salery.biz Quickly extract data from your HyperCard stacks with DIFfersifier. http://differsifier.economy-x-talk.com Op 29-okt-2007, om 11:33 heeft David Burgun het volgende geschreven: Hi, Does anyone know where I can download a version of SQLIte for Windows and Mac that works with RunRev? How do I access the SQLLite calls from RunRev? Thanks a lot All the Best Dave ___ 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
SQL Lite for RunRev?
Hi, Does anyone know where I can download a version of SQLIte for Windows and Mac that works with RunRev? How do I access the SQLLite calls from RunRev? Thanks a lot All the Best Dave ___ 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
Returning a Value from an AppleScript
Hi All, I'm using: do myAppleScriptCode as "AppleScript" to run an AppleScript. How can I return a value from the AppleScript to RunRev? I'm sure I've seen this somewhere, but I'm at a customer site at the moment and don't have access to everything. Thanks in Advance Have a Great Weekend All the Best Dave ___ 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
Getting the Current User Name On Windows
Hi, I'm using the "whoami" shell function to return the current user name on the Mac. Does anyone know the equivalent code for Windows? Thanks a lot All the Best Dave ___ 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
Problem Running Under Windows
Hi All, Apologies if this message has already been posted/answered. My email has been playing up and I lost a load of emails last night. If this has been answered, would someone mind forwarding me the replies? I'm still trying make this work and not having much luck at present! Thanks a lot All the Best Dave * Hi, I have an Application that works ok when running under the RunRev IDE and as a Standalone on Mac OS X. However, when I run the start on Windows under the IDE, I get the following error: Type: Chunk: Can't find stack Object: CardStartup Line: else Hint: ISMColdStart After stepping thru with the debugger, I found that the error is generated when this line is executed: get value("ISMColdStart(" & myDebugEnableFlag & "," & quote & myRunTimeStacksFolderPathName & quote & ")", myColdStartStackLongName) The values of the variables are: myDebugEnableFlag = "false" myRunTimeStacksFolderPathName = "C:/Documents and Settings/BWolff/ Desktop/RunRevBase/Projects/GenX/RunTime/Stacks/" myColdStartStackLongName = "stack C:/Documents and Settings/BWolff/ Desktop/RunRevBase/GlobalStacks/StackISM.rev" The folders and the file exist ok at the location stated above. One thing I tried is to cut and paste the contents of myRunTimeStacksFolderPathName into the message box as a command go stack C:/Documents and Settings/BWolff/Desktop/RunRevBase/ GlobalStacks/StackISM.rev" And this loads the stack as expected. Does anyone have any idea what could be wrong here? All the Best Dave ___ 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
Problem Running Under Windows
Hi, I have an Application that works ok when running under the RunRev IDE and as a Standalone on Mac OS X. However, when I run the start on Windows under the IDE, I get the following error: Type: Chunk: Can't find stack Object: CardStartup Line: else Hint: ISMColdStart After stepping thru with the debugger, I found that the error is generated when this line is executed: get value("ISMColdStart(" & myDebugEnableFlag & "," & quote & myRunTimeStacksFolderPathName & quote & ")", myColdStartStackLongName) The values of the variables are: myDebugEnableFlag = "false" myRunTimeStacksFolderPathName = "C:/Documents and Settings/BWolff/ Desktop/RunRevBase/Projects/GenX/RunTime/Stacks/" myColdStartStackLongName = "stack C:/Documents and Settings/BWolff/ Desktop/RunRevBase/GlobalStacks/StackISM.rev" The folders and the file exist ok at the location stated above. One thing I tried is to cut and paste the contents of myRunTimeStacksFolderPathName into the message box as a command go stack C:/Documents and Settings/BWolff/Desktop/RunRevBase/ GlobalStacks/StackISM.rev" And this loads the stack as expected. Does anyone have any idea what could be wrong here? All the Best Dave ___ 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
Zip Format?
Hi, I'm using the following function to create a Zip file: - -- -- UtilFileCreateZipFile -- - function UtilFileCreateZipFile theZipArchiveFilePathName,theFileToZip -- -- Delete the Archive File if it exists -- if there is a file theZipArchiveFilePathName then delete file theZipArchiveFilePathName end if -- -- Create the Archive File -- revZipOpenArchive theZipArchiveFilePathName,"write" if the result <> empty then return the result -- -- Add the File to the Archive -- revZipAddItemWithFile theZipArchiveFilePathName,"iTunesLibrary",theFileToZip if the result <> empty then return the result -- -- Close the Archive File -- revZipCloseArchive theZipArchiveFilePathName if the result <> empty then return the result return empty end UtilFileCreateZipFile This file is then uploaded via FTP to a server using the "libURLftpUploadFile" function. My problem is that the Server is expected a GZip format file. Does the "revZipAddItemWithFile" function create a GZip file? If not how can I do this? Thanks a lot for any assistance or suggestion. All the Best Dave ___ 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: closeField and exitField problem
On 15 Oct 2007, at 20:30, Björnke von Gierke wrote: Yes, I too think that validating user entries is one of rev's weaknesses. However, artificially increasing the problem by not using the fields as data source seems a bit strange to me, especially with your reasoning. One area where this falls down is if you want to enter a password type field. In this case when the user types a character you want to display a "*" in the field while accumulating the key strokes in local storage. You can't use the field as data storage in this case. How are these two lines completely different in their horribility? put field 1 of card 1 into x put the field1oncard1 of this stack into x They are identical and are horrid since the script will break if you remove the field at a later stage. If you're really that much into customprops, you can put the fields into them when you leave the card. or with a send in time message, or on mousemove, or ... I don't want to reference an object directly if I can help it. When I want to get or set the contents of an object I always use a handler if that object that references the contents via "me", that way if you remove the object you don't get errors elsewhere in the Stack, all that happens is that the field no longer gets called. More likely is that i didn't understand the problem you have correctly, so maybe you should explain it in a different way. No need since I had my own work-around and there's a better one posted under this subject on this list which I will implement later on. All the Best Dave Bjoernke On 15 Oct 2007, at 20:48, Dave wrote: Hi, I asked about this problem ages ago, but didn't get a response, so I'm asking again as it's just come up again! I am running on a Mac. If the user fills in a field and then tabs out of the field, either a closeField or exitField message is sent to the field. All well and good. However, if the user clicks on a button, nether messages are sent! This is supposedly normal behavior since from the docs: "If the lookAndFeel property is set to "Macintosh", the closeField message is generally not sent when another control (such as a button) is clicked. This is because clicked buttons do not receive the focus on Mac OS systems, and therefore the selection remains active." (incidentally, in this case the "lookAndFeel" and feel property is set to "Appearance Manager", so according to the above it should still send the message(s).) This effectively means that it\s impossible to ensure that a field is valid using these messages, so what's the use of having them or am I missing something. I want to let the user enter a number of fields and then when the user clicks the button, I check to see if they are valid and if not put if an error message. The problem is that the three field must be examined together, so I'd like to be able to store the contents of each field in a custom property of the stack and then check them in the mouseUp handler of the button. I can't really access the fields directly (as is put field "XXX" into whatever) since the check may be run on a different card and it's really horrible to access fields like that. Any ideas or suggestions would be greatly appreciated! All the Best Dave ___ 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: SOAP Library - More
Hi Mark, Thanks a lot for that, I managed to get it working in time for the demo! I've re-structured it quite a bit, I need to fix a few problems, then I'll release it back. I've made it a lot more general purpose and much easier to use. Thanks Again All the Best Dave ___ 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: COM support in RunRev
Hi, Thanks a lot Ken, that should help no end. All the Best Dave On 5 Oct 2007, at 16:12, Ken Ray wrote: On Thu, 4 Oct 2007 14:58:58 +0100, David Burgun wrote: I know I can achieve the same on the Mac from past experience of using RunRev with AppleScript, however I am not sure of if and how RunRev supports the COM interface? Currently Rev does not have built in support for COM, although there are alternatives: 1) If you are so inclined you can build a Rev external (DLL). 2) If there's already non-Rev DLLs available you want to be able to use, you can connect to them using VBScript an implement them. A tip on how to do this is here: http://www.sonsothunder.com/devres/revolution/tips/ext002.htm (BTW, that tip also explains the difference between a Rev and non-Rev DLL.) 3) You can use VBScript by itself, if the app you're trying to communicate with supports it. Examples are here: http://www.sonsothunder.com/devres/revolution/tips/iac001.htm http://www.sonsothunder.com/devres/revolution/tips/iac002.htm 4) You could use socket communication, if the app you're trying to communicate with supports it. Hope this helps, Ken Ray Sons of Thunder Software, Inc. Email: [EMAIL PROTECTED] Web Site: http://www.sonsothunder.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: SOAP Library - More
Hi Again, I'm really confused on how this SOAP library has to be setup. I've been trying to make sense of it by stepping through the code but since I'm not sure what it is supposed to work, I'm not having an awful lot of luck! For instance, this function: -- SOAP.RPCRequest -- FUNCTION SOAP.RPCRequest pUrl, pMethod, pNamespace, pParams, pSoapAction, pHeader, pValue, pType local tHeaders local tSOAPEnvelope local tMethod local tMethodTag put the uSOAPEnvelope of me into tSOAPEnvelope put kMethodHeader & ":" & pMethod into tMethod put "<" & tMethod && "xmlns:" & kMethodHeader & "=" & quote & pNamespace & quote & ">" into tMethodTag replace "<$METHOD>" WITH tMethodTag in tSOAPEnvelope replace "" WITH "" in tSOAPEnvelope replace "<$PARAMS/>" WITH pParams in tSOAPEnvelope replace "<$HEADER>" WITH pHeader in tSOAPEnvelope return _SOAP.Post(tSOAPEnvelope, pUrl, pSOAPAction) END SOAP.RPCRequest What should "uSOAPEnvelope of me" be set to? In my copy of the stack, it's empty. I'm trying to get a demo/proof of concept together and a major area is talking to the Server which uses Web Services. At the moment the App is coded is RealBasic. I have to add a lot more functionality to it and have suggested that the job is done in RunRev, however before committing, I need to show the basic server comms working. Thanks a lot for any help All the Best Dave Hi Mark, Thanks for that, it looks a lot cleaner. One question though, I can't find any documentation on the SOAP.RPCRequest() function. When I click it in SOAPLib Stack, it just shows the name. I have the following snippet that I am trying to get to work before moving onto more complex commands: --- -- -- mouseUp -- --- on mouseUp local myParams local myURL local myMethod local myNameSpace local mySoapAction local mySoapResponse local mySOAPData put empty into myParams put SOAP.AddParam(myParams,"UserName","Danny","string") into mySOAPData put "http://www.genxdev.com/ws/UserService.asmx?wsdl"; into myURL put "DoesUserExist" into myMethod put "http://dykyh.com/ws"; into myNameSpace put "http://dykyh.com/ws/DoesUserExist"; into mySoapAction put SOAP.RPCRequest (myURL,myMethod,myNameSpace,myParams,mySoapAction) into mySoapResponse put mySoapResponse into field 1 end mouseUp This was taken from the old SOAP Stack, however there are now more parameters into RPCRequest() and I have no clue what to set them to. Thanks a lot All the Best Dave On 5 Oct 2007, at 19:06, Mark Wieder wrote: Dave- I've put my updated version of the stack on revOnline as libSOAP (in user space mwieder). There are still some things that won't work from the original, as I don't really understand what was intended for these handlers, and they're noted as such in the stack script. The others are fully functional and I use them for web services work, even over an https connection. -- Mark Wieder [EMAIL PROTECTED] ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ 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: SOAP Library
Hi Mark, Thanks for that, it looks a lot cleaner. One question though, I can't find any documentation on the SOAP.RPCRequest() function. When I click it in SOAPLib Stack, it just shows the name. I have the following snippet that I am trying to get to work before moving onto more complex commands: --- -- -- mouseUp -- --- on mouseUp local myParams local myURL local myMethod local myNameSpace local mySoapAction local mySoapResponse local mySOAPData put empty into myParams put SOAP.AddParam(myParams,"UserName","Danny","string") into mySOAPData put "http://www.genxdev.com/ws/UserService.asmx?wsdl"; into myURL put "DoesUserExist" into myMethod put "http://dykyh.com/ws"; into myNameSpace put "http://dykyh.com/ws/DoesUserExist"; into mySoapAction put SOAP.RPCRequest (myURL,myMethod,myNameSpace,myParams,mySoapAction) into mySoapResponse put mySoapResponse into field 1 end mouseUp This was taken from the old SOAP Stack, however there are now more parameters into RPCRequest() and I have no clue what to set them to. Thanks a lot All the Best Dave On 5 Oct 2007, at 19:06, Mark Wieder wrote: Dave- I've put my updated version of the stack on revOnline as libSOAP (in user space mwieder). There are still some things that won't work from the original, as I don't really understand what was intended for these handlers, and they're noted as such in the stack script. The others are fully functional and I use them for web services work, even over an https connection. -- Mark Wieder [EMAIL PROTECTED] ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ 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
SOAP Library
Hi, I am interested in using SOAP to communicate between a client and server. I downloaded "Unsupported Stacks" from the RunRev web site and found a file called "SOAP_toolbox.rev" which seems to do what I want. However when I came to use the functions in the stack, I found a few problems, for instance: function revSoapComplexRequest pUrl, pBody, pSoapAction put empty into lcSoapResponse ##clear response data put "Content-Type: text/xml" into tHeaders put cr & "SOAPAction:" && quote & pSoapAction & quote after tHeaders put the cSoapEnvelope of me into tSOAPEnvelope put pMethod into tMethod -- * put "m:" before tMethod put "<" & tMethod && "xmlns:m=" & quote & pNamespace & quote & ">" into tMethodTag replace "" with pBody in tSOAPEnvelope set the httpHeaders to tHeaders post tSOAPEnvelope to url pUrl put it into lcSoapResponse return the result end revSoapComplexRequest Please see the line marked with "***", the statement: put pMethod into tMethod -- * Causes a problems since pMethod is not defined in this function. Does anyone know why this is like this? Is there a more up to date SOAP library? Is there another library that is more up to date? Any help or suggestions greatly appreciated. All the Best Dave ___ 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
Getting MAC Addresses
Hi, How can I get the MAC addresses of all appropriate devices on a system? e.g. if a system has Ethernet and BlueTooth, I want the MAC address of both devices. This has to work on Mac OS X and Windows. Thanks in Advance All the Best Dave ___ 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
COM support in RunRev
Hi All, I am looking at the viability of moving a RealBasic application over to the RunRev. The application communicates with various other applications. To do this it uses AppleScript on the Mac and COM under Windows. I know I can achieve the same on the Mac from past experience of using RunRev with AppleScript, however I am not sure of if and how RunRev supports the COM interface? Any help on this would be greatly appreciated. Thanks in Advance. All the Best Dave ___ 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: Looking for certain types of buttons
On 4 May 2006, at 13:01, Kaveh Bazargan wrote: At 07:57 -0400 4/5/06, Thomas McGrath III wrote: Kaveh, That seems very efficient but if you are trying to make debugging quicker than put that code is a separate handler: [...] Just what I needed. Thanks! I just seem to remember something like: repeat with i = 1 to the number of buttons whose style is ... I think that's AppleScript! I get confused like that too, especially when switching back and forth between languages! All the Best Dave ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Revolution vs Visual Basic
On 8 Mar 2006, at 14:45, Mark Smith wrote: A little out of my depth in saying this, but I don't think Revolution would be optimal for writing large and complex image manipulation routines, for example. I'll leave it there, as I have no experience of VB, so perhaps others can offer useful comparisons. I've used a combination of RunRev to run the GUI and a C/C++ External to do the image processing. This combination works really well giving you the ease and speed of implementation in RunRev and the speed of C/ C++ where it counts. All the Best Dave ___ 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
Unlock Code for RunRev 2.7.1?????
Hi All, I just downloaded and tried to unlock version 2.7.1 but I got the message: "The entered license is too old to unlock this version" It worked fine under version 2.7.0. Do I need a new unlock code for 2.7.1? Thanks a Lot All the Best Dave ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Use of the Debugger ?
Hi, One of the really good things about using a Message Based Schedular is that you can build debug/trace into the Schedular and thereby trace specific message and/or objects. This has cut my debugging time in half! For instance: You have 10 objects that receive a message "MSGX" and do something, somewhere in the chain something goes wrong. I can put a trace "MSGX" and watch the messages being processed, you can then see which of the 10 objects is causing the problem. All the Best Dave On 27 Apr 2006, at 11:32, Francis Nugent Dixon wrote: Hi from Paris, To continue after Jaqueline's and Richard's comments. Interesting subject. Maybe we could ask other people if they use the debugger ? Richard Gaskin wrote: My first reaction is to pick my jaw up off the floor. How can you not use the debugger much? I *live* in the debugger! Who can program without a debugger? You are making more work for yourself, I think. I used HC every day for more than 10 years, and now I use Revolution every day. I never used HC debugging, and I haven't even thought about Revolution debugging ! I don't even know how it works. I write my programs in bed (light switched off, no paper and pencil), just do it in my head ! The next day, I code in my scripts using (now) a very rigid naming convention for fields, globals, locals, etc. And I'm up and running in no time. I still draw little flow diagrams for sections of my coding that may be complicated - that saves a lot of hassle. Old habits die hard ! One thing I have found very useful. I declare globals for every local, during testing, and then comment out the global definitions after testing. They will be available in the future, if I make any major mods to my scripts. I use the "do" command often, but in the form : put into DoIt -- DoIt is a global do DoIt Then I can see if I blew it ! I have a header card on my stacks (which I build from pre-prepared models). I have displayglobals, displayfields and displaybuttons functions available in all my stacks, to see what I have defined. I often code "exit xxx" in my scripts during testing, and comment them out as I go. My only gripe is that the Variable Watcher doesn't update in real-time. You have to close it and open it again, each time. But then, I am just about to create a button to do this ... ! I keep all my functions and standard handlers in a separate stack, and copy them into my new stacks as required. Of course, they are clearly documented with version numbers and dates, so I know what changes/improvements I made, and when. I generate quite a few scripts (like Export and Import), and move them into my new stacks, etc, etc. ... Debugger ? Could it be useful for untidy minds ? Revolution is SO EASY to code, that it may offer fertiliser for sloppy coding .. And I was always against using the computer to find my errors! OK - just to be sure, I will invest in some time to use debugger, just to see if it saves me more time. I, for one, DON'T write perfect coding. - Francis "Nothing should ever be done for the first time !" ___ 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: Stop IDE from executing stack when opening stack?
Hi, I insert the following code into the preOpenStack handler: if (the environment = "development") and (the tool = "pointer tool") then exit preOpenStack end if This has the effect of stopping the message paths from executing IF the stack is being run with the IDE in "Pointer" mode, that way you can look at your Script and make changes. To actually run the script, you close the stack, put the IDE into "Browse" mode and then relaunch the stack. Hope this helps All the Best Dave On 26 Apr 2006, at 21:23, Garrett Hylltun wrote: Björnke von Gierke wrote: On Apr 26 2006, at 21:49, Garrett Hylltun wrote: ... How do I get the Rev Studio IDE to not run the preOpenStack and openStack when I first open the stack in the Rev IDE? ... In the ide, there's the toolbar, and on that you can check/uncheck the "messages" button. It does the same as "lock messages". Thank you thank you thank you thank you thank you! :-) I was completely freaking out over this as I have put weeks into this and thought I was going to have to start all over again. Thanks, -Garrett ___ 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: Converting a RunRev App to a Web-Based App?
Hi, AFAIK, they wouldn't mind if the user had to download an application from their web-site before they could access the database, in fact I think they would rather that then just using a browser. The database has to be held on the server though and it has to be accessed via the web. I don't know if this makes it easier or not? Thanks for your help. All the Best Dave On 26 Apr 2006, at 19:31, Trevor DeVore wrote: On Apr 26, 2006, at 9:09 AM, David Burgun wrote: Hi Trevor, It's using mySQL right now, but I could use any SQL based database. I'm not sure of the server configuration. The app allows you to select an image of a certain size or sizes and then it looks it shows other images from the database with a "compatible" size. For example: The user selects ImageA, this image is available in (say) 3 sizes 512, 1024 and 2048. It will then search the database and find images that have the same sizes. It's a little more complex then that, but thats really the core of it. This works just fine "in house", but now they want to make it available over the web so anyone can go to the page and do the same thing. There is no authentication in terms of getting a User ID or Password. At first I was thinking that you just wanted to connect your Rev app to the internet but it appears you want to convert this to a web browser GUI. I haven't done any Rev CGI apps but I'm guessing that the only thing you can keep from your original project would be the data layer (SQL calls). I would think that everything else (GUI, connecting data to GUI) has to be redone to output HTML. How long this will take really depends on the size of the app and what languages you know and have available on your web server. -- Trevor DeVore Blue Mango Learning Systems - www.bluemangolearning.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
Re: Converting a RunRev App to a Web-Based App?
On 26 Apr 2006, at 19:16, Richard Gaskin wrote: Mark Wieder wrote: Wednesday, April 26, 2006, 7:50:54 AM, you wrote: I've just had an enquiry about an application I developed in RunRev a while back. It's basically a small database that contains small images, a 2D size and a product code. They would like to convert this to a web based application. How easy/difficult would it be to convert the existing app to run as a web-based app? Would something like this do the trick? http://www.fourthworld.com/products/webmerge/index.html I appreciate the plug, Mark, but in this case I'm not sure it's a good fit. WebMerge is a handy way to quickly publish static web pages (I recently sold a 10-pack to the US Library of Congress), but a true web application will likely need a live database connection for writes, and that's beyond the scope of what WebMerge handles. Actually maybe not. The database is only updated once in a while and the end-user doesn't write to the database at all. This is a kind of front-end to the main system. Once the user had selected the images they want, a list of the product codes and quantity is generated and in the Web-Based app would then processed by the main system. I'm not sure in WebMerge would be appropriate or not? What do you think? All the Best Dave ___ 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: Turn Off Double-Entry?
On 26 Apr 2006, at 18:12, Richard Gaskin wrote: David Burgun wrote: On 25 Apr 2006, at 21:06, Richard Gaskin wrote: Ton Kuypers suggested: > use Constellation? A good choice. And there's MetaCard, and devolution, and you can roll you're own The problem is for Newbies. If you are learning a new environment you really don't want to add to the learning curve by using 3rd party tools and writing a Script Editor is way too complex a job for a newbie. Besides all that, the reason you use an IDE is to take the sweat out of software development, if you can't trust the tools that come with it, well.. I hear ya', but I have no influence with RunRev. I can only contribute what I can: I can help maintain a script editor that's pretty much bug-free, I can break it out into its own package to make it accessible to users of other IDEs, I can enhance it (along with some nifty goodies coming from Ken Ray) to make it more useful, and I can even give it away -- but I can't put it in the box. I'm happy to contribute what I can, but my position is not without limitations. Yes, I understand your position. Your products are really good and I know that you personally have contributed loads to this technology, and, I for one really appreciate it. Keep up the good work! All the Best Dave ___ 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: Mysterious missing messages
Maybe someone should write a custom message eater object that gets pinker the more message it consumes! All the Best Dave On 26 Apr 2006, at 17:28, Scott Rossi wrote: Recently, David Burgun wrote: even a "rogue" object... it made me laugh out loud at the idea of a Rev object making it's cheeks look a bit pinker! Laughing my Socks Off! Would be an interesting bug! I've seen the elusive rogue object that eats messages, among other things. I was even able to grab a screenshot of it: http://tinyurl.com/n24pc 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: Turn Off Double-Entry?
On 26 Apr 2006, at 16:40, Trevor DeVore wrote: On Apr 26, 2006, at 8:18 AM, David Burgun wrote: Also, when a newbie buys RunRev and starts to use it, depending on their past experience, they have a big task to get their head around, a programming language, an IDE and the whole MC concept. They really don't want to take on any more at that time. Just a different perspective on this - I always search out 3rd party tools once I start using a development environment. I've never developed apps in CodeWarrior, but for Director, Flash, etc., the 3rd party providers were doing really cool stuff that made my development life easier and more productive. I think some 3rd party tools can make it easier to get started in a new dev environment if it simplifies the task the new developer is trying to accomplish. 3rd party developers have a great benefit in that they can focus on a smaller subset of needs than the application developer can. The 3rd party might also have more experience or expertise in a given area then the main app developer so they can offer more value in that particular area. True, I totally agree, but if you have to use the 3rd party tools to overcome simple problems in the basic product then it's a different story. In my experience 3rd party tools can also have the side effect of making the original developer less vigilant in their own product. What if there were no 3rd party tools for RunRev and no one was interested in developing them? The question you have to ask is how much added traffic would there be on this list? All the Best Dave ___ 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: Converting a RunRev App to a Web-Based App?
Jeez, I thought I had a doppelgänger for a minute! Is it me or have we got cross-threads here? Cheers Dave On 26 Apr 2006, at 17:07, David Brooks wrote: What kind of database is your app using right now? MySQL under Mac OS 10.4. Stack, text, SQL or other? Also, what kind of environment will your web-based app run under? Will this be a generally available application that requires authentication or will the data that the web-based app accesses be available to anyone who wants it? It's a demonstration program. After last year at RevCon, I started doing all of my work in xml-like text files. My students, on the other hand, are using MySQL. We're actually trying to learn how to take form data and dump it into MySQL through a cgi. We have this running very effectively from stacks (based upon a stack from Sarah Reichelt's site.) Doe this make sense? Best, Dave B. ___ 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: Converting a RunRev App to a Web-Based App?
Hi Trevor, It's using mySQL right now, but I could use any SQL based database. I'm not sure of the server configuration. The app allows you to select an image of a certain size or sizes and then it looks it shows other images from the database with a "compatible" size. For example: The user selects ImageA, this image is available in (say) 3 sizes 512, 1024 and 2048. It will then search the database and find images that have the same sizes. It's a little more complex then that, but thats really the core of it. This works just fine "in house", but now they want to make it available over the web so anyone can go to the page and do the same thing. There is no authentication in terms of getting a User ID or Password. All the Best Dave On 26 Apr 2006, at 16:47, Trevor DeVore wrote: On Apr 26, 2006, at 7:50 AM, David Burgun wrote: Hi, I've just had an enquiry about an application I developed in RunRev a while back. It's basically a small database that contains small images, a 2D size and a product code. They would like to convert this to a web based application. How easy/difficult would it be to convert the existing app to run as a web-based app? Hi Dave, What kind of database is your app using right now? Stack, text, SQL or other? Also, what kind of environment will your web-based app run under? Will this be a generally available application that requires authentication or will the data that the web-based app accesses be available to anyone who wants it? -- Trevor DeVore Blue Mango Learning Systems - http://www.bluemangolearning.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
Re: Turn Off Double-Entry?
Hi, Yes, I've encountered all those problems too! The other problem with using 3rd party tools in this case is that if you have just gotten your manager to approve buying RunRev and then you say you want to spend more money on something else cos the RunRev IDE isn't up to the task, then they are likely to as why you are using it in the first place! I've been in that spot before and it isn't a good spot to be in!!! All the Best Dave On 26 Apr 2006, at 16:10, [EMAIL PROTECTED] wrote: Good point, Dave, But I'm not sure why we are having this discussion at all. Whether it takes one click or two clicks to close the script editor is the least of the problems with the editor and, worse yet, the debugger. It opens to random window sizes. Sometimes it opens almost off the screen. Sometimes it opens but simply will not run. Often it will step though a couple lines of code then drop to the bottom of the handler. You can set debug checkpoints which do not trigger the debugger at all. You can set debug checkpoints that get removed when the debugger runs. The variable watcher misses variables (especially the clickLine). It is possible to use the spacebar to step through code (although there is no obvious way to know this) - except that it often will not work for the first step. Attempting to use the "Find" command in the debugger will scramble the script editor window and scripts being edited. Etc. Etc. These issues have been present since the debugger was introduced. They are there in version after version of Rev. Many are listed in Bugzilla. Most are obvious to a causual user. But they don't get fixed! I hope they listen to Scott, but history is not encouraging. Paul Looney -Original Message- From: David Burgun <[EMAIL PROTECTED]> To: How to use Revolution Sent: Wed, 26 Apr 2006 14:01:01 +0100 Subject: Re: Turn Off Double-Entry? On 25 Apr 2006, at 21:06, Richard Gaskin wrote: > Ton Kuypers suggested: > > use Constellation? > > A good choice. And there's MetaCard, and devolution, and you can > roll you're own > The problem is for Newbies. If you are learning a new environment you really don't want to add to the learning curve by using 3rd party tools and writing a Script Editor is way too complex a job for a newbie. Besides all that, the reason you use an IDE is to take the sweat out of software development, if you can't trust the tools that come with it, well.. All the Best Dave ___ 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: Turn Off Double-Entry?
On 26 Apr 2006, at 15:59, Jerry Daniels wrote: If I read this thread correctly, it isn't that the Rev IDE is untrustworthy, but rather that the second typing of an enter key closes the Rev script editor. Yes, bad UI design. It's not just that though, there are loads of problems in the IDE, especially with the Script Editor. If basic development environments didn't have third party tools, they wouldn't last long. Third party products exist to enrich a platform, not because the underlying "standard" product is untrustworthy or un-useable. It's a matter of providing more choices, extending functionality and creating diversity--the hallmarks of evolution (or in Richard's case "Devolution"). CodeWarrior didn't have any 3rd party tools that I ever used or *needed* to use and CodeWarrior lasted a fairly long time! In general I have nothing against 3rd party tools, but the "basic" package should be able to handle basic things without falling over or causing scripts to be corrupted or lost. There are a number of development environments I have used over the years that didn't have 3rd party tools and they lasted a long time or are still going. We have Constellation (www.daniels-mara.com/products/ constellation.htm) users who have never used the Revolution script editor--newbies to Revolution, if you will. The same can be said of the Metacard IDE and Devolution (Richard Gaskin's IDE). There are also people who are using Scott Rossi's excellent tools (www.tactilemedia.com) and have never used the "stock" object alignnment and colorizing. Sure, but you shouldn't be *forced* to use them because the basic package is not all it should be. Also, when a newbie buys RunRev and starts to use it, depending on their past experience, they have a big task to get their head around, a programming language, an IDE and the whole MC concept. They really don't want to take on any more at that time. Jerry Buy Constellation from Runtime Revolution! http://revstudio.runrev.com/section/revselect/constellation/ I (and many others) already bought RunRev! Why should we have to buy something else just to work around problems in the RunRev IDE? All the Best Dave ___ 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
Converting a RunRev App to a Web-Based App?
Hi, I've just had an enquiry about an application I developed in RunRev a while back. It's basically a small database that contains small images, a 2D size and a product code. They would like to convert this to a web based application. How easy/difficult would it be to convert the existing app to run as a web-based app? Thanks a Lot All the Best Dave ___ 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: Mysterious missing messages
Laughing my Socks Off! Would be an interesting bug! All the Best Dave On 26 Apr 2006, at 15:01, Ian Wood wrote: On 26 Apr 2006, at 13:52, David Burgun wrote: whereby it creates a "rouge" object Or even a "rogue" object... it made me laugh out loud at the idea of a Rev object making it's cheeks look a bit pinker! Ian ___ 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: Turn Off Double-Entry?
On 25 Apr 2006, at 21:06, Richard Gaskin wrote: Ton Kuypers suggested: > use Constellation? A good choice. And there's MetaCard, and devolution, and you can roll you're own The problem is for Newbies. If you are learning a new environment you really don't want to add to the learning curve by using 3rd party tools and writing a Script Editor is way too complex a job for a newbie. Besides all that, the reason you use an IDE is to take the sweat out of software development, if you can't trust the tools that come with it, well.. All the Best Dave ___ 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: Turn Off Double-Entry?
On 25 Apr 2006, at 19:23, Jim Ault wrote: Later I am switching windows and happen to click on the Replace button, and without realizing it, I have replaced the string "tCounter" with empty in every part of my stack script. There is no undo for this, even if I realized my mistake the moment it happens.. I wish I could get in the habit of Always changing from the Find mode of a script window, but not yet. I would prefer a hidden Replace function since it is so dangerous. It would be better to have a separate Find/Replace dialog box like most IDE's I've used IMO. I NEVER use the find+replace function in the Script Editor, it's way too dangerous in other ways too. For instance the "whole words" option doesn't work right, or works oddly in some situations. I usually copy the whole script into a CodeWarrior window and do the Find/Replace and then copy back. All the Best Dave ___ 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: Mysterious missing messages
Hi, I've had this problem or something very like it in the past, but I could never reproduce it. I think that sometimes RunRev gets itself in a state whereby it creates a "rouge" object and that objects causes all kinds of side-effects. If you still have the errant stack, I suggest you send it to RunRev support as it may have some tell-tale signs that would allow them to trace where the object is coming from. All the Best Dave On 25 Apr 2006, at 17:37, Devin Asay wrote: (Note: I actually solved this before I sent it, but thought it might interest some of you.) ### Has anyone ever seen this? (Tried on Rev 2.6.1, 2.7.x on Mac OSX; Rev 2.7 on Win XP) I have a stack in which I am accessing a mysql database and displaying lots of unicode text. I noticed that my openCard and closeCard handlers on one of the cards weren't being executed on moving between cards. I did some investigating using the message watcher and noticed the following: - When I first open the stack I get the expected sequence of card and stack messages: preOpenBackground preOpenCard openStack openBackground openCard -When I go to the next card, either via a button handler or a View menu shortcut, I get: closeCard preOpenBackground That's all. From this point on I get no open or close (including preOpen/Close) messages sent to cards or backgrounds. Then I tried creating a new card with nothing on it except go next and go prev buttons, and set that card to be card 1. - Again when I first opened the stack I got the normal sequence of open/close messages. - When I go from the blank card to any other card OR from any other card back to the blank card I get the expected: closeCard preOpenCard openCard - However, when I go from any of the other cards to any card except the blank one I see: closeCard preOpenBackground OKAY, while I was composing this email I noticed that one of the cards contained a rogue group, one I don't remember creating and which had the same name of an image object on the card. The group had no objects in it. Once I deleted this group the open and close messages began working again. I decided to send this along anyway for you all to tuck into the back of your brains as something to check if your open and close messages ever stop working. Devin Devin Asay Humanities Technology and Research Support Center Brigham Young University ___ 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: Copy/Cut/Paste Edit Menu Questions?
Excellent! Thanks a lot! Have been away for a few days and have only just caught up on my email. Thanks a Lot All the Best Dave On 22 Apr 2006, at 16:48, J. Landman Gay wrote: David Burgun wrote: I should have asked the question differently! What I meant to say was, in a menu handler, how can I tell which field is the current field, and how can I enable/disable Edit Menu Items based on whether a field is selected or not? You almost had it: the selectedField. If no field contains the insertion point, the selectedField returns empty. Otherwise you get a field reference. -- Jacqueline Landman Gay | [EMAIL PROTECTED] HyperActive Software | http://www.hyperactivesw.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: script help
Opps! a Typeo crept in! The line should read: set the visible of image myImageIndex of card myCardIndex of this stack to true Actually this would be better written as a function with a parameter to specify whether to hind or show the images: function SetVisibleOfAllImages theVisibleFlag local myCardCount local myCardIndex local myImageCount local myImageIndex put the number of cards in this stack into myCardCount repeat with myCardIndex = 1 to myCardCount put the number of images in card myCardIndex of this stack into myImageCount repeat with myImageIndex = 1 to myImageCount set the visible of image myImageIndex of card myCardIndex of this stack to theVisibleFlag end repeat end repeat end SetVisibleOfAllImages The call it like this from your preOpenStack or whatever handler: get SetVisibleForAllImages(true) --Show All Images get SetVisibleForAllImages(false) --Hide All Images All the Best Dave ___ 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 help
Hi, This should do it: on mouseUp local myCardCount local myCardIndex local myImageCount local myImageIndex put the number of cards in this stack into myCardCount repeat with myCardIndex = 1 to myCardCount put the number of images in card myCardIndex of this stack into myImageCount repeat with myImageIndex = 1 to myImageCount set the visible of image myImageIndex of card myCardCount of this stack to true end repeat end repeat end mouseUp Test it in a button script, I tried it here and it worked fine. Hope this Helps All the Best Dave On 17 Mar 2006, at 19:21, Ben Bock wrote: I have a stack that with 141 cards. 40 of the cards have images set on a timer : on openCard wait 2 seconds hide image "img1" end openCard I need to make an openStack script that will set the images to "show". My usual lowbrow, untrained approach is to hard code it, which gets tedious: on closeCard show img "img1" end closeCard I want to make a stack script for this easy problem, so that all images are set to "visible = true" or "show". I just can't get it right. on preOpenStack put the number of cds into cardCount repeat with x = 1 to cardCount end repeat put the number of images into imageCount repeat with y = 1 to imageCount end repeat put the ID of image y of cd x into imageNameList --(something is wrong here) repeat for each line Joe in imageNameList set the visible of image q to true end repeat end preOpenStack I think part of my problem is that I don't really understand the repeat syntax. 1) is there any design flaw using the wait/hide format? 2) How can I re-write the preOpenStack script to do what I want? I'll eagerly read any pointers. Thanks for any help, Ben ___ 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: Copy/Cut/Paste Edit Menu Questions?
On 21 Apr 2006, at 20:25, Garrett Hylltun wrote: David Burgun wrote: Hi, I've noticed that the copy/cut/paste commands work automatically when you use the Command-Key short cuts, e.g. if you have an Text Field and you select the text within it, you can copy or paste into that field. This seems to work in the IDE and in the Standalone. My first question is how/where is this action handled? Can I stop this action happening on certain fields? In the docs, check out * copyKey message * cutKey message * pasteKey message Example: on cutKey cut end cutKey Thanks, I must have missed these somehow. use the the following (using either IF statements or CASE statements) handler in the code for the menu object: on menuPick varSelected if varSelected is "Cut" then focus field "editfieldnamehere" cut else if varSelected is "Copy" then focus field "editfieldnamehere" copy else if varSelected is "Paste" then focus field "editfieldnamehere" paste end if end menuPick > from the Edit Menu? And how can you disable/enable the edit menu items > depending on which control has been selected? I should have asked the question differently! What I meant to say was, in a menu handler, how can I tell which field is the current field, and how can I enable/disable Edit Menu Items based on whether a field is selected or not? Do I need to put an openField/closeField handler on each text field and then enable/disable there? All the Best Dave ___ 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: Stack file format change in 2.7 - BACK UP!
Thanks a lot! All the Best Dave On 21 Apr 2006, at 13:51, Pierre Sahores wrote: This info is from Guy Petinon (french rev list) : Pour changer la version d'une pile: ouvri "message boxe" et taper "set the stackfileversion to 2.5" par exemple à partir de la version 2.7 To change the stack's version from 2.7 to (as an example) to 2.5 : just type "set the stackfileversion to 2.5" from your 2.7 IDE and save the stack ! Best Regards, Pierre Le 21 avr. 06 à 13:33, David Burgun a écrit : I hope so! That's great! All the Best Dave On 20 Apr 2006, at 14:36, Geoff Canyon wrote: I think saving in the pre-2.7 format is available in the upcoming release. gc On Apr 20, 2006, at 2:41 AM, David Burgun wrote: Hi All, I really can't understand all the mystery surrounding this "fix" to allow backwards compatibility. As far as I understand it, there is a way to tell the engine to save in the old format or the new format, with version 2.7 defaulting to the newer format. That all sounds reasonable. What I can't understand is why how to do it is a "secret"? There is a protected IDE plug-in available that allows you to save in either format, but since it is protected, the details are hidden. There is no real mention of it on the RunRev Web Site or in the Documentation as far as I can see. Leaving this "hanging" like this is just bound to lead to problems IMO. Problems that could be so easily avoided just by either shipping the PlugIn with the release, or having an IDE command or preference to select it or by just documenting exactly how to do it. Anyone have any ideas on this mystery? All the Best Dave ___ 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 -- Pierre Sahores www.sahores-conseil.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
Copy/Cut/Paste Edit Menu Questions?
Hi, I've noticed that the copy/cut/paste commands work automatically when you use the Command-Key short cuts, e.g. if you have an Text Field and you select the text within it, you can copy or paste into that field. This seems to work in the IDE and in the Standalone. My first question is how/where is this action handled? Can I stop this action happening on certain fields? My second question is, how do you handle these commands when selected from the Edit Menu? And how can you disable/enable the edit menu items depending on which control has been selected? Any tips on how people have handled this in the past would be greatly appreciated. All the Best Dave ___ 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: Stack file format change in 2.7 - BACK UP!
I hope so! That's great! All the Best Dave On 20 Apr 2006, at 14:36, Geoff Canyon wrote: I think saving in the pre-2.7 format is available in the upcoming release. gc On Apr 20, 2006, at 2:41 AM, David Burgun wrote: Hi All, I really can't understand all the mystery surrounding this "fix" to allow backwards compatibility. As far as I understand it, there is a way to tell the engine to save in the old format or the new format, with version 2.7 defaulting to the newer format. That all sounds reasonable. What I can't understand is why how to do it is a "secret"? There is a protected IDE plug-in available that allows you to save in either format, but since it is protected, the details are hidden. There is no real mention of it on the RunRev Web Site or in the Documentation as far as I can see. Leaving this "hanging" like this is just bound to lead to problems IMO. Problems that could be so easily avoided just by either shipping the PlugIn with the release, or having an IDE command or preference to select it or by just documenting exactly how to do it. Anyone have any ideas on this mystery? All the Best Dave ___ 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: Stack file format change in 2.7 - BACK UP!
Hi All, I really can't understand all the mystery surrounding this "fix" to allow backwards compatibility. As far as I understand it, there is a way to tell the engine to save in the old format or the new format, with version 2.7 defaulting to the newer format. That all sounds reasonable. What I can't understand is why how to do it is a "secret"? There is a protected IDE plug-in available that allows you to save in either format, but since it is protected, the details are hidden. There is no real mention of it on the RunRev Web Site or in the Documentation as far as I can see. Leaving this "hanging" like this is just bound to lead to problems IMO. Problems that could be so easily avoided just by either shipping the PlugIn with the release, or having an IDE command or preference to select it or by just documenting exactly how to do it. Anyone have any ideas on this mystery? All the Best Dave Before I panic everyone on the list for the second time today, there's a way to back out of this change and make the stack 2.4 compatible again, but you'll lose any 2.7 features if you do it. The info was not included in the What's New file, so I'm not sure if it's okay to post it here. To be safe, just plan on working on duplicates. ___ 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: How to manage memory load in standalone substacks?
Hi, I think you'd be better off holder the video clips in a separate file and loading them dynamically when you need them. Apart from anything else it will be hard to ship a 75+ MB Stack File! I can give you some pointers if you need them. All the Best Dave On 18 Apr 2006, at 19:49, Ben Bock wrote: I have to build a standalone, and I'm now working on the splash screen and management scripts for the 10 substacks. Some of the substacks are ~75 MB, and one has 5 different videoclip players. I don't want to use up all RAM, and don't understand the ins and outs of the substacks in a standalone. I will need to open the 5 videoclips at different times throughout the standalone. Does a Rev standalone only load these when needed, or load all substacks when the splash screen is opened? How do you limit what opens to save RAM and avoid slowing? I would like something along the lines of this in the last card of the splash screen, which might be buggy: on mouseUp close this stack open stack "videoclips" -- But I only want a single videoclip to load at a time go card "video 1" of stack "videoclips" --and have the videoclip load end mouseUp --then the player plays the clip, the player script: on playStopped hide me end playStopped lock messages -- prevent sending playStopped down the line unlock messages close stack "videoclips" I suspect the answer is easy, but I haven't find straight answers in searching the docs. I may have made several mistakes in these scripts, I'm still new with Rev. thanks for any help, Ben ___ 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: Problems with revcopyfile
Opps! That won't work either, I think that should do it tho: ask file "Save File As:" if it = empty then exit mouseUp put it into myFilePathName set the itemDelimiter to "/" put item -1 of myFilePathName into myFileName put myFilePathName into myFolderPathName put empty into item -1 of myFolderPathName if there is not a folder myFolderPathName then create folder myFolderPathName end if revCopyFile "/Content/rubyonrails.pdf", myFolderPathName rename file myFilePathName to myFileName Hope this Helps All the Best Dave Try doing this: if it is empty then exit mouseUp put it & "/" into filePath IOW, add a "/" to the end of the file path. I think that should make it work. All the Best Dave On 30 Mar 2006, at 21:36, Jonathan Kotthoff wrote: This does not seem like it should be this hard...I must be missing something...i am running 2.7 making a simple stack that will copy a file to a target on Winows XP and Mac OS X.4... here is the code: on mouseUp -- bring up a standard system "save as" file selector ask file "Save file as:" -- if the user cancels, exit without saving if it is empty then exit mouseUp -- put it into filePath put it into filePath -- Copy file revCopyFile "/Content/rubyonrails.pdf",filePath end mouseUp no file is copied to the target folder however... anybody have an example of a stack that copies or an explanation Thanks in advance... Jonathan ___ 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: Problem with Edit/Preference Menu Item
Hi Again, I've been at this at least 7 hours now and I just can't think of anything else to try. There really isn't much that can go wrong script wise. As far as I can tell this just plain doesn't work! If the docs told you a little more it might be possible to try to track the problem down but as it is Guess I'll just have to ship this App with a disabled Preferences Item in the Application Menu and an Enabled Preferences Item in the Edit menu, I hate doing it, but I don't have any other choice. All the Best Dave On 18 Apr 2006, at 16:13, David Burgun wrote: Hi, I meant to say that the Apple Menu and the Help Menu are handled ok and work just fine, it's just the preference item that is causing problems. I've been looking at this on and off for over 5 hours now and I just can't seem to make this work as documented. All the Best Dave On 18 Apr 2006, at 13:20, David Burgun wrote: Hi All, I have a Stack that creates a Menu Bar and then Populates the Buttons and Items within the Buttons. This works fine except that he preferences menu item doesn't seem to be being moved to the App Menu correctly. When I look at the menubar, the edit menu still has the "Preferences..." text and a separator as the last two items and if I select it, it works fine. There is a "Preferences" Item in the Application Menu but it's disabled. I've had something like this before using the Menu Builder Tool and I eventually resolved it by recreating the Edit Menu. However, since I am now doing this dynamically in a script, I don't have that option. It's deleted and rebuilt each time the Application is loaded. Any ideas on how to track this down?? Thanks a Lot Dave ___ 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: Problems with revcopyfile
Try doing this: if it is empty then exit mouseUp put it & "/" into filePath IOW, add a "/" to the end of the file path. I think that should make it work. All the Best Dave On 30 Mar 2006, at 21:36, Jonathan Kotthoff wrote: This does not seem like it should be this hard...I must be missing something...i am running 2.7 making a simple stack that will copy a file to a target on Winows XP and Mac OS X.4... here is the code: on mouseUp -- bring up a standard system "save as" file selector ask file "Save file as:" -- if the user cancels, exit without saving if it is empty then exit mouseUp -- put it into filePath put it into filePath -- Copy file revCopyFile "/Content/rubyonrails.pdf",filePath end mouseUp no file is copied to the target folder however... anybody have an example of a stack that copies or an explanation Thanks in advance... Jonathan ___ 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: "Save As..." not working
Yes, I have had it do this Under 2.6.6 on Mac, I got around by reinstalling RunRev. I don't tend to use it now, I find it easier to dupe the file in the finder, guess it's different on Windows? All the Best Dave On 18 Apr 2006, at 17:16, Preston Shea wrote: The "Save As..." function on my Rev. 2.7 running under XP home has ceased to operate. Has anyone else experienced this anomaly? ___ 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: Problem with Edit/Preference Menu Item
Hi, Tried it but it made no difference, the other "special" menu items work ok, one of the differences is that (according to the docs) with the Edit/Preferences item, it checks for the item starting "Preferences", I am wondering if it's comparing incorrectly. I cut and pasted the "Preferences" text from one that was made by the menu builder. I get the same problem in the standalone too if that's any help. All the Best Dave Sometimes you need to force a menu update. Try: lock menus -- do menu swap stuff unlock menus ___ 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: When does a Stack Actually Die in the IDE???
On 18 Apr 2006, at 16:29, Mark Smith wrote: I time things like this by putting them in a loop: put the millisecs into stTime repeat 1 -- for example put the short name of this stack into myStackName end repeat put the millisecs - stTime on my machine, this takes 11 millsecs. But where the engine seemed slower than string slicing, I was passing the long id of an object to a function, and in that case, parsing the ID seemed to be quicker than 'get the short name of..', by a factor of 3 or 4. Obviously, this would only matter if you were doing something many thousands of times, but you said you were concerned about it being slow... :) Yes, I am! This is called in a loop and I really want to get he maximum speed out of it I just ran the following code: constant kRepeatCount=1 on mouseUp local myStartTime local myEndTime local myStackName local myShortNameTime1 local myShortNameTime2 local myShortNameTime3 local myRepeatTime local myStackLongID local myStackFileName -- -- Calculate the time for just the repeat loop -- put the millisecs into myStartTime repeat kRepeatCount end repeat put the millisecs - myStartTime into myRepeatTime -- -- Calculate the time for getting the short name of this stack -- put the millisecs into myStartTime repeat kRepeatCount put the short name of this stack into myStackName end repeat put the millisecs - myStartTime into myShortNameTime1 put the long id of this stack into myStackLongID put the millisecs into myStartTime repeat kRepeatCount put the short name of myStackLongID into myStackName end repeat put the millisecs - myStartTime into myShortNameTime2 put the fileName of this stack into myStackFileName put the millisecs into myStartTime repeat kRepeatCount put the short name of stack myStackFileName into myStackName end repeat put the millisecs - myStartTime into myShortNameTime3 put myRepeatTime && myShortNameTime1 && myShortNameTime2 && myShortNameTime3 end mouseUp The figures I got are as follows: 1 7 58 12 so it looks like dereferencing the stack long ID is taking a really long time in comparison with getting the stack short name via the "this stack" syntax (which is what I guessed), but I was a bit stunned that doing it via the file name is way quicker than using the long id. Weird, huh? All the Best Dave ___ 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: Problem with Edit/Preference Menu Item
Hi, I meant to say that the Apple Menu and the Help Menu are handled ok and work just fine, it's just the preference item that is causing problems. I've been looking at this on and off for over 5 hours now and I just can't seem to make this work as documented. All the Best Dave On 18 Apr 2006, at 13:20, David Burgun wrote: Hi All, I have a Stack that creates a Menu Bar and then Populates the Buttons and Items within the Buttons. This works fine except that he preferences menu item doesn't seem to be being moved to the App Menu correctly. When I look at the menubar, the edit menu still has the "Preferences..." text and a separator as the last two items and if I select it, it works fine. There is a "Preferences" Item in the Application Menu but it's disabled. I've had something like this before using the Menu Builder Tool and I eventually resolved it by recreating the Edit Menu. However, since I am now doing this dynamically in a script, I don't have that option. It's deleted and rebuilt each time the Application is loaded. Any ideas on how to track this down?? Thanks a Lot Dave ___ 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: When does a Stack Actually Die in the IDE???
Yeah! How do you time things? For instance, how long does a: put the short name of this stack into myStackName take? Since I wouldn't have thought that a: put the short name of the stack of me into myStackName wouldn't take a lot longer (if it were possible!). Since (again I assume) when you make a reference to "this stack" or "me" then the engine can quickly look up the value rather than processing a string. All the Best Dave On 18 Apr 2006, at 15:53, Mark Smith wrote: Ah, I see what you mean. I made the assumption (when will I learn?) that the file name would be a superset of the stack name. Which is a shame, where speed matters, as getting the short name from the engine is quite a bit slower than simply parsing the file name. Best, Mark On 18 Apr 2006, at 15:37, David Burgun wrote: Hi, I have a stack called s1.rev, the short name of the stack is "untitled 1". If I run this: on mouseUp local myStackName set the itemDelimiter to "/" put (char 1 to -6 of item -1 of the long id of me) into myStackName, end mouseUp and step thru it in the debugger, then myStackName is set to "s1" which is the file name, not the short name (set in the Stack Property Inspector). If I do a put openStacks in the message box, I get this list: Message Box revMenubar revScriptEditor 1 revVariableWatcher Untitled 1 revTools s1 is not among the openStacks, but "Untitled 1" is! if I run the following: local myStackFilePathName put value(word wordoffset("stack",the long id of me ) + 1 of the long id of me) into myStackFilePathName put the short name of stack myStackFilePathName into myStackName Then myStackName is set to "Untitled 1" and so it finds it ok in the list returned by openStacks. Do you get the same results? I'm running RunRev 2.6.6 MacOS 10.4.6 All the Best Dave On 18 Apr 2006, at 15:09, Mark Smith wrote: stackIsOpen2 takes the long id of an object, gets the short name of the stack the object is in, and then checks whether or not it's among the lines of the openStacks - which is a list of the short names of all currently open stacks, not their file names. It seems to work perfectly well, here ( I assume the listing below is not your actual script, there are typos ). Best, Mark On 18 Apr 2006, at 14:55, David Burgun wrote: Hi, I tried this: function stackIsOpen1 pLongID return (the short name of pLongID is among the lines of the openstacks) end stackIsOpen was, by my measurement, 4 times slower than function stackIsOpen2 pLongID set the itemDelimiter to "/" return (char 1 to -6 of item -1 of pLongID) is among the lines of the openStack end stackIsOpen on mouseUp if stackIsOpen1(the long id of me) then beep end if if stackIsOpen2(the long id of me) then beep end if end mouseUp And both functions always return false! stackIsOpen1() since it takes the short name of the button rather than the stack and stackIsOpen2 since the short name of the stack is not the same as the file name of the stack. The only way I've found to do it is like this: --- - -- -- ISMGetStackShortName -- --- - function ISMGetStackShortName theObjectLongID local myStackFilePathName put value(word wordoffset("stack",theObjectLongID )+ 1 of theObjectLongID) into myStackFilePathName return the short name of stack myStackFilePathName end ISMGetStackShortName if ISMGetStackShortName(theObjectLongID) is not among the lines of openStacks then end if All the Best Dave On 18 Apr 2006, at 14:07, Mark Smith wrote: Well, since function stackIsOpen pLongID return (the short name of pLongID is among the lines of the openstacks) end stackIsOpen was, by my measurement, 4 times slower than function stackIsOpen pLongID set the itemDelimiter to "/" return (char 1 to -6 of item -1 of pLongID) is among the lines of the openStack end stackIsOpen I wouldn't assume that the engines routines for getting short names etc, are going to be faster than string slicing. I've no idea what kind of overhead there is in calling externals, and it'd have to be a pretty good external to beat Rev's string handling, I think... Best, Mark On 18 Apr 2006, at 13:28, David Burgun wrote: Hi, I was really just after some speed. The problem is that this quite a common thing to want to do, you can do it, but it means parsing a string, which although the solution provided by the wonderful people on this list is pretty fast, it's still slow for doing something like this, which seems pretty silly really since I assume that this information would be almost instantly available in the Engine. I was actually considering writing a
Re: Looping
Hi, In general, you just create a number of loops! Like so: repeat with myLineCount = 1 to the number of lines in myList -- -- LineCount will now be set to 1, 2, 3, etc. until the end of the list is reached, so -- put line myLineCount of myList into myLineText -- -- Will put the text of the line specified by myLineCount into myLineText, if you now wanted to loop thru each -- of the characters in myLineText, you would just do this: -- repeat with myCharCount = 1 to the number of chars in myLineText put char myCharCount of myLineText into myChar if myChar = "A" then beep end if end repeat end repeat You can do this with items, lines, characters etc, you just specify the type of container you are accessing (e.g. line, item, word, char, etc.). You can also use this form of repeat repeat with each line myLineText in myList -- This just sets myLineText to each line in myList starting at the beginning. end repeat Hope this Helps All the Best Dave ___ 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: When does a Stack Actually Die in the IDE???
Hi, I have a stack called s1.rev, the short name of the stack is "untitled 1". If I run this: on mouseUp local myStackName set the itemDelimiter to "/" put (char 1 to -6 of item -1 of the long id of me) into myStackName, end mouseUp and step thru it in the debugger, then myStackName is set to "s1" which is the file name, not the short name (set in the Stack Property Inspector). If I do a put openStacks in the message box, I get this list: Message Box revMenubar revScriptEditor 1 revVariableWatcher Untitled 1 revTools s1 is not among the openStacks, but "Untitled 1" is! if I run the following: local myStackFilePathName put value(word wordoffset("stack",the long id of me ) + 1 of the long id of me) into myStackFilePathName put the short name of stack myStackFilePathName into myStackName Then myStackName is set to "Untitled 1" and so it finds it ok in the list returned by openStacks. Do you get the same results? I'm running RunRev 2.6.6 MacOS 10.4.6 All the Best Dave On 18 Apr 2006, at 15:09, Mark Smith wrote: stackIsOpen2 takes the long id of an object, gets the short name of the stack the object is in, and then checks whether or not it's among the lines of the openStacks - which is a list of the short names of all currently open stacks, not their file names. It seems to work perfectly well, here ( I assume the listing below is not your actual script, there are typos ). Best, Mark On 18 Apr 2006, at 14:55, David Burgun wrote: Hi, I tried this: function stackIsOpen1 pLongID return (the short name of pLongID is among the lines of the openstacks) end stackIsOpen was, by my measurement, 4 times slower than function stackIsOpen2 pLongID set the itemDelimiter to "/" return (char 1 to -6 of item -1 of pLongID) is among the lines of the openStack end stackIsOpen on mouseUp if stackIsOpen1(the long id of me) then beep end if if stackIsOpen2(the long id of me) then beep end if end mouseUp And both functions always return false! stackIsOpen1() since it takes the short name of the button rather than the stack and stackIsOpen2 since the short name of the stack is not the same as the file name of the stack. The only way I've found to do it is like this: - --- -- -- ISMGetStackShortName -- - --- function ISMGetStackShortName theObjectLongID local myStackFilePathName put value(word wordoffset("stack",theObjectLongID )+ 1 of theObjectLongID) into myStackFilePathName return the short name of stack myStackFilePathName end ISMGetStackShortName if ISMGetStackShortName(theObjectLongID) is not among the lines of openStacks then end if All the Best Dave On 18 Apr 2006, at 14:07, Mark Smith wrote: Well, since function stackIsOpen pLongID return (the short name of pLongID is among the lines of the openstacks) end stackIsOpen was, by my measurement, 4 times slower than function stackIsOpen pLongID set the itemDelimiter to "/" return (char 1 to -6 of item -1 of pLongID) is among the lines of the openStack end stackIsOpen I wouldn't assume that the engines routines for getting short names etc, are going to be faster than string slicing. I've no idea what kind of overhead there is in calling externals, and it'd have to be a pretty good external to beat Rev's string handling, I think... Best, Mark On 18 Apr 2006, at 13:28, David Burgun wrote: Hi, I was really just after some speed. The problem is that this quite a common thing to want to do, you can do it, but it means parsing a string, which although the solution provided by the wonderful people on this list is pretty fast, it's still slow for doing something like this, which seems pretty silly really since I assume that this information would be almost instantly available in the Engine. I was actually considering writing an External Command to do this, but not sure how fast that would be and whether the solutions provided thus far would be quicker. Any ideas??? Thanks a lot All the Best Dave On 18 Apr 2006, at 13:18, Mark Smith wrote: I see what you mean. Maybe what's needed is a library of functions to deal with this sort of thing. Mark On 18 Apr 2006, at 10:34, David Burgun wrote: Hi, The problem with that is if you have groups or nested groups, you then have to loop thru until you find the card or stack. All the Best Dave On 15 Apr 2006, at 13:07, Mark Smith wrote: Well, you could try using 'the owner of'. I haven't experimented with it much, so I don't know how flexible it is. Best, Mark On 15 Apr 2006, at 12:54, David Burgun wrote: Hi, Thanks a lot for this. One thing that has puzzled me is why yo
Re: When does a Stack Actually Die in the IDE???
Hi, I tried this: function stackIsOpen1 pLongID return (the short name of pLongID is among the lines of the openstacks) end stackIsOpen was, by my measurement, 4 times slower than function stackIsOpen2 pLongID set the itemDelimiter to "/" return (char 1 to -6 of item -1 of pLongID) is among the lines of the openStack end stackIsOpen on mouseUp if stackIsOpen1(the long id of me) then beep end if if stackIsOpen2(the long id of me) then beep end if end mouseUp And both functions always return false! stackIsOpen1() since it takes the short name of the button rather than the stack and stackIsOpen2 since the short name of the stack is not the same as the file name of the stack. The only way I've found to do it is like this: -- -- ISMGetStackShortName -- function ISMGetStackShortName theObjectLongID local myStackFilePathName put value(word wordoffset("stack",theObjectLongID )+ 1 of theObjectLongID) into myStackFilePathName return the short name of stack myStackFilePathName end ISMGetStackShortName if ISMGetStackShortName(theObjectLongID) is not among the lines of openStacks then end if All the Best Dave On 18 Apr 2006, at 14:07, Mark Smith wrote: Well, since function stackIsOpen pLongID return (the short name of pLongID is among the lines of the openstacks) end stackIsOpen was, by my measurement, 4 times slower than function stackIsOpen pLongID set the itemDelimiter to "/" return (char 1 to -6 of item -1 of pLongID) is among the lines of the openStack end stackIsOpen I wouldn't assume that the engines routines for getting short names etc, are going to be faster than string slicing. I've no idea what kind of overhead there is in calling externals, and it'd have to be a pretty good external to beat Rev's string handling, I think... Best, Mark On 18 Apr 2006, at 13:28, David Burgun wrote: Hi, I was really just after some speed. The problem is that this quite a common thing to want to do, you can do it, but it means parsing a string, which although the solution provided by the wonderful people on this list is pretty fast, it's still slow for doing something like this, which seems pretty silly really since I assume that this information would be almost instantly available in the Engine. I was actually considering writing an External Command to do this, but not sure how fast that would be and whether the solutions provided thus far would be quicker. Any ideas??? Thanks a lot All the Best Dave On 18 Apr 2006, at 13:18, Mark Smith wrote: I see what you mean. Maybe what's needed is a library of functions to deal with this sort of thing. Mark On 18 Apr 2006, at 10:34, David Burgun wrote: Hi, The problem with that is if you have groups or nested groups, you then have to loop thru until you find the card or stack. All the Best Dave On 15 Apr 2006, at 13:07, Mark Smith wrote: Well, you could try using 'the owner of'. I haven't experimented with it much, so I don't know how flexible it is. Best, Mark On 15 Apr 2006, at 12:54, David Burgun wrote: Hi, Thanks a lot for this. One thing that has puzzled me is why you can't access things like the stack or card of an object. For instance why can't I just do this: put the short name of the stack of the long id of me into myStackName or put the short name of the card of the long id of me myCardName Which would return the name of the stack/card that the object resides in. It just seems like this ought to work, in fact when I found out that RunRev didn't support this I was surprised! Any ideas why this isn't supported? All the Best Dave On 15 Apr 2006, at 02:33, J. Landman Gay wrote: Mark Smith wrote: > I just had a doh! moment in response to your name of > pStackLongID>, but then in order to see how much faster the engine does > this, I tested it the same way I tested my first tries (which was > actually with 1 iterations, not 1000), and > > function stackIsOpen pLongID > return (the short name of pLongID is among the lines of the openstacks) > end stackIsOpen > > takes nearly 600 ms! Interesting. I never time these things enough. It looks like if a script needs to make repeated calls to the function, then your way would be preferable because of the speed increase. It's been an interesting experiment, I like when the list does these things. -- Jacqueline Landman Gay | [EMAIL PROTECTED] HyperActive Software | http:// www.hyperactivesw.com ___ use-revolution mailing list use-revolution@lists.runrev.com Pleas
Re: When does a Stack Actually Die in the IDE???
Hi, I was really just after some speed. The problem is that this quite a common thing to want to do, you can do it, but it means parsing a string, which although the solution provided by the wonderful people on this list is pretty fast, it's still slow for doing something like this, which seems pretty silly really since I assume that this information would be almost instantly available in the Engine. I was actually considering writing an External Command to do this, but not sure how fast that would be and whether the solutions provided thus far would be quicker. Any ideas??? Thanks a lot All the Best Dave On 18 Apr 2006, at 13:18, Mark Smith wrote: I see what you mean. Maybe what's needed is a library of functions to deal with this sort of thing. Mark On 18 Apr 2006, at 10:34, David Burgun wrote: Hi, The problem with that is if you have groups or nested groups, you then have to loop thru until you find the card or stack. All the Best Dave On 15 Apr 2006, at 13:07, Mark Smith wrote: Well, you could try using 'the owner of'. I haven't experimented with it much, so I don't know how flexible it is. Best, Mark On 15 Apr 2006, at 12:54, David Burgun wrote: Hi, Thanks a lot for this. One thing that has puzzled me is why you can't access things like the stack or card of an object. For instance why can't I just do this: put the short name of the stack of the long id of me into myStackName or put the short name of the card of the long id of me myCardName Which would return the name of the stack/card that the object resides in. It just seems like this ought to work, in fact when I found out that RunRev didn't support this I was surprised! Any ideas why this isn't supported? All the Best Dave On 15 Apr 2006, at 02:33, J. Landman Gay wrote: Mark Smith wrote: > I just had a doh! moment in response to your > pStackLongID>, but then in order to see how much faster the engine does > this, I tested it the same way I tested my first tries (which was > actually with 1 iterations, not 1000), and > > function stackIsOpen pLongID > return (the short name of pLongID is among the lines of the openstacks) > end stackIsOpen > > takes nearly 600 ms! Interesting. I never time these things enough. It looks like if a script needs to make repeated calls to the function, then your way would be preferable because of the speed increase. It's been an interesting experiment, I like when the list does these things. -- Jacqueline Landman Gay | [EMAIL PROTECTED] HyperActive Software | http://www.hyperactivesw.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 ___ 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 ___ 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
Problem with Edit/Preference Menu Item
Hi All, I have a Stack that creates a Menu Bar and then Populates the Buttons and Items within the Buttons. This works fine except that he preferences menu item doesn't seem to be being moved to the App Menu correctly. When I look at the menubar, the edit menu still has the "Preferences..." text and a separator as the last two items and if I select it, it works fine. There is a "Preferences" Item in the Application Menu but it's disabled. I've had something like this before using the Menu Builder Tool and I eventually resolved it by recreating the Edit Menu. However, since I am now doing this dynamically in a script, I don't have that option. It's deleted and rebuilt each time the Application is loaded. Any ideas on how to track this down?? Thanks a Lot Dave ___ 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: When does a Stack Actually Die in the IDE???
Hi, The problem with that is if you have groups or nested groups, you then have to loop thru until you find the card or stack. All the Best Dave On 15 Apr 2006, at 13:07, Mark Smith wrote: Well, you could try using 'the owner of'. I haven't experimented with it much, so I don't know how flexible it is. Best, Mark On 15 Apr 2006, at 12:54, David Burgun wrote: Hi, Thanks a lot for this. One thing that has puzzled me is why you can't access things like the stack or card of an object. For instance why can't I just do this: put the short name of the stack of the long id of me into myStackName or put the short name of the card of the long id of me myCardName Which would return the name of the stack/card that the object resides in. It just seems like this ought to work, in fact when I found out that RunRev didn't support this I was surprised! Any ideas why this isn't supported? All the Best Dave On 15 Apr 2006, at 02:33, J. Landman Gay wrote: Mark Smith wrote: > I just had a doh! moment in response to your > pStackLongID>, but then in order to see how much faster the engine does > this, I tested it the same way I tested my first tries (which was > actually with 1 iterations, not 1000), and > > function stackIsOpen pLongID > return (the short name of pLongID is among the lines of the openstacks) > end stackIsOpen > > takes nearly 600 ms! Interesting. I never time these things enough. It looks like if a script needs to make repeated calls to the function, then your way would be preferable because of the speed increase. It's been an interesting experiment, I like when the list does these things. -- Jacqueline Landman Gay | [EMAIL PROTECTED] HyperActive Software | http://www.hyperactivesw.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 ___ 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: When does a Stack Actually Die in the IDE???
Hi, Thanks a lot for this. One thing that has puzzled me is why you can't access things like the stack or card of an object. For instance why can't I just do this: put the short name of the stack of the long id of me into myStackName or put the short name of the card of the long id of me myCardName Which would return the name of the stack/card that the object resides in. It just seems like this ought to work, in fact when I found out that RunRev didn't support this I was surprised! Any ideas why this isn't supported? All the Best Dave On 15 Apr 2006, at 02:33, J. Landman Gay wrote: Mark Smith wrote: > I just had a doh! moment in response to your > pStackLongID>, but then in order to see how much faster the engine does > this, I tested it the same way I tested my first tries (which was > actually with 1 iterations, not 1000), and > > function stackIsOpen pLongID > return (the short name of pLongID is among the lines of the openstacks) > end stackIsOpen > > takes nearly 600 ms! Interesting. I never time these things enough. It looks like if a script needs to make repeated calls to the function, then your way would be preferable because of the speed increase. It's been an interesting experiment, I like when the list does these things. -- Jacqueline Landman Gay | [EMAIL PROTECTED] HyperActive Software | http://www.hyperactivesw.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: Starting up a script in "safe" mode
You can do it from the message box. Type this: answer file "Stack File";edit the script of stack it If it's in the Stack Script or answer file "Stack File";edit the script of card 1 of stack it or you could just add a script to a button: on mouseUp answer file "Stack File" edit the script of card 1 of stack it end mouseUp Hope this helps All the Best Dave On 15 Apr 2006, at 05:08, Robert Sneidar wrote: After following the tutorial for Valentina and creating a sample stack, I put the function to create the database in the openStack handler. Now the stack crashes Revolution to desktop every time I open it. I am sure my scripting must have a bug. Is there a way to easily open a stack without executing the openStack handler? If not, this would be a really good thing to add in your next release. Some kind of key combo or menu option maybe. I suppose I could have another stack copy the stack script and then set it to nothing, but it seems like a hassle. Bob Sneidar IT Manager Logos Management Calvary Chapel CM ___ 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: When does a Stack Actually Die in the IDE???
Hi, The problem is that I only have the long id of an object, to get the stack name from this I have to parse the long id as a string, which I can do, but it's slow. Any Ideas? All the Best Dave On 14 Apr 2006, at 13:10, Chipp Walters wrote: Hi David, Close and Delete from memory should do the trick. Instead of exists (), try checking the openStacks function. I believe the engine keeps track of all stacks it has opened in a given session, regardless and that's why it appears in exists(). I use this feature to 'relaunch' a splashscreen stack from a mainstack if i need to. best, Chipp ___ 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
When does a Stack Actually Die in the IDE???
Hi, I have a stack that has: destroyStack, destroyWindow set to true. However, when I close it in the IDE (and maybe the standalone, haven't tried it?) it seems to still be around, by this I mean that: if exists(theObjectLongID) = true then end if Succeeds and you can call objects inside that stack. I then closed it with "Close and Remove from Memory" command, but the exists() function still returns true. Is this normal behavior? If so, is there a way if I can tell if an Object is in a closed stack? Thanks a lot All the Best Dave ___ 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: problems with find command
Hi, Yes, there are numerous problems with the Find Command. Do you mean the Global Find or the one in the Script Editor? You could try fiddling with the settings in the prefs, failing that, if you want to be 100% sure of finding everything you are looking for then the best bet is to paste the scripts or whatever into a CodeWarroir or XCode or MS-Office or Text Edit window, do the search/ replace and then paste it back into RunRev. That's what I generally do. Have a Great Weekend, All the Best Dave On 14 Apr 2006, at 11:55, Martin Meili wrote: I'm having problems with the find command. I've got a a text field with a lot of names. Each name is on a single line and the data is clean, so, no spaces, no tabs and so on…… Using the find command the result is "not found" (!!), even though you can see in the text field that the result should be "empty" (the name is marked as found !!). Has anybody had the same problems and how can I fix it? Might it be a bug? Cheers Martin ___ 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: How to stop screen "flicker"
Hi, Hi, The problem is that the stack that is called can save itself, in that case, if it's been opened via a "go invisible" command then it save's it's state as invisible and so doesn't display when it's warm-started. I'm not actually "showing" the stack as such, I'm just restoring it's previous state, which has the same effect if the stack was visible to start with. I think that the only way around it is to have a "show me" in the Warm Start handler inside each stack, unless you have any other ideas? Thanks a lot All the Best Dave On 8 Apr 2006, at 13:26, Mark Schonewille wrote: Why then is there a need to show the stack? You can go invisible to the stack, change all properties, and close the stack, without showing and flashing the window. If there really is a need to issue a show command, set the window off-screen first. Please, let us know whether this solves your problem. Mark David Burgun wrote: The loop is part of a cold-start up process, I want to run all the stacks qualifying stacks in a folder in "ColdStart" mode, this allows each stack to reset it's properties etc. to the "Factory" default. It's a little more complex than this, but that basically it. Once the Cold-Start has completed, I then re-open the "Main" Application stack (the one that reported it's "Main" status during Cold-Start procedure). It then starts running in "Warm- Start" mode, and from that point onwards it will start up in warm start mode. The ColdStart Stack checks for a file in it's folder when it's run, if it's there it cold-starts and removes the file, if it's not it warm starts. All the Best Dave -- Consultant and Software Engineer mailto:[EMAIL PROTECTED] http://www.economy-x-talk.com eHUG coordinator mailto:[EMAIL PROTECTED] http://www.ehug.info Advertise with us and reach 1000 truely interested internet users every month. See http://economy-x-talk.com/advertise.html for more information. ___ 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: progress bar
Hi, set the thumbPosition of me to 10 Or any control reference, like: set the thumbPosition of scrollbar " ProgressScrollbar" to 10 Hope this Helps All the Best Dave On 13 Apr 2006, at 22:40, Viktoras Didziulis wrote: Hi! I am new to Revolution and Transcript. Giving a try to Revolution today, and somehow can't figure it out how to add number to current value property of Progress Bar. Could someone please write a brief example on how current value property of progress bar should be addressed. Thanks a lot! Viktoras ___ 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: Weird and Horrible Problem??!!
Hi Alex, Thanks, I found it! It was a "cr" at the end of one of the strings that came from a Custom Property. Incidentally, I came across this problem when ported your Spirograph Demo (from revOnline) to use ISM. I have just about got it working and was wondering if you'd like it see it? If so I could send you a copy without ISM. I about to do a final regression test on ISM and once it's passed that, release it and some more complex applications. ISM/Spirograph isn't quite finished yet, I'm still testing something in ISM and using it as a tool, however, you could look at the source code and see how it generally works. I chose the Sprograph Example since you had ported to RunRev initially and thought you be familiar with it. All the Best Dave On 13 Apr 2006, at 17:53, Alex Tweedly wrote: David Burgun wrote: How can an array have *two* identical entries??? My guess is that they are not identical and that I just can't see the difference using the debugger?? Maybe some non-displayable data got in there some how? The Kind could be stored in a Custom Property is that makes any difference. Any Tips on how to track down what is going wrong here would be greatly appreciated. I've use a brute force method to find things like this repeat for each line L in the keys of gArray repeat for each char c in L put c && chartonum(c) & space after msg end repeat put cr after msg end repeat -- Alex Tweedly http://www.tweedly.net -- No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.1.385 / Virus Database: 268.4.1/310 - Release Date: 12/04/2006 ___ 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: Another Weird Thing??
Hi, Thanks a lot! I chose "|" as a nice alternate delimiter, but obviously it was a bad choice! I changed to to just use the "replace" command and it's work ok now. All the Best Dave On 13 Apr 2006, at 20:02, Thomas McGrath III wrote: David, Sorry but I jsut tested the replaceText and got blank I used the replace "|" with comma in myMessageData and that worked. Tom On Apr 13, 2006, at 2:32 PM, David Burgun wrote: Hi, I seem to be being plagued by weirdness today! Take a look at this code: set the itemDelimiter to "," -- Do I need this? put theMessageData into myMessageData put replaceText(myMessageData,"|",",") into myMessageData When I run this and look at myMessageData before the replaceText() statment, it contains: "10|30|366|460|" But after the replaceText() call, myMessageData is empty! How can this be? Any help on this greatly appreciated. All the Best Dave ___ 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 Thomas J McGrath III [EMAIL PROTECTED] Lazy River Software™ - http://www.lazyriversoftware.com Lazy River Metal Art™ - http://www.lazyriversoftware.com/metal.html Meeting Wear™ - http://www.cafepress.com/meetingwear Semantic Compaction Systems - http://www.minspeak.com SCIconics, LLC - http://www.sciconics.com/sciindex.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 ___ 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
Another Weird Thing??
Hi, I seem to be being plagued by weirdness today! Take a look at this code: set the itemDelimiter to "," --Do I need this? put theMessageData into myMessageData put replaceText(myMessageData,"|",",") into myMessageData When I run this and look at myMessageData before the replaceText() statment, it contains: "10|30|366|460|" But after the replaceText() call, myMessageData is empty! How can this be? Any help on this greatly appreciated. All the Best Dave ___ 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: Where to Store Libraries and Other Files in 2.7?
Hi, I don't put anything at all RunRev folder, I assume that the libraries will be in the same folder as the stack(s) that use them. I locate them dynamically by getting the file of the current stack and replacing the last item with the library name. You have to use the copy panel of the standalone startup window in order to copy them into the right place when building a standalone. All the Best Dave On 12 Apr 2006, at 22:45, Dan Shafer wrote: With the new directory structure supported by Rev 2.7, where is the recommended place to store stacks and libraries that have heretofore said they should be installed in the same folder as the Rev app? This clearly won't work well as upgrades take place with the new way Rev handles updates. I'm not at all sure which (if any) such stacks and libraries I'm talking about. I just know that my Rev app folder is full of stuff that I may want to be able to use again someday. -- ~~ Dan Shafer, Information Product Consultant and Author http://www.shafermedia.com Get my book, "Revolution: Software at the Speed of Thought" From http://www.shafermediastore.com/tech_main.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 ___ 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
Weird and Horrible Problem??!!
Hi All, I have some code that does this: put "KindStart" into myKind Then, later on it does this: switch myKind case "KindStart" .. break end switch The problem is that it never hits the case "KindStart" statement. I put a breakpoint in the Script that does the switch and the variable is set to "KindStart", but it doesn't hit the case statement. Perplexed and after a lot of mucking around, I did this: put "DATA1" into gArray[myKind] When I set the variable. and put gArray[theKind] into myData When I switch. However, the above sets myData to empty (although looking at the array in the debugger, there *IS* an entry for "KindStart" and it's "DATA1" as expected I then do: put "DATA2" into gArray[myKind] And when I look at the Array, there are now *TWO* entries that read "KindStart","DATA1" and "KindStart","DATA2"!! How can an array have *two* identical entries??? My guess is that they are not identical and that I just can't see the difference using the debugger?? Maybe some non-displayable data got in there some how? The Kind could be stored in a Custom Property is that makes any difference. Any Tips on how to track down what is going wrong here would be greatly appreciated. Thanks a lot All the Best Dave ___ 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: Custom Properties
Hi, I don't see what is to be gained using setProp's in this example? Surely: function setEditMode pMode if pMode then enable button "Save" enable button "TextColor" set the lockText of fld "myfld" to true set the traversalOn of fld "myFld" to true else disable button "Save" disable button "TextColor" set the lockText of fld "myfld" to false set the traversalOn of fld "myFld" to false end if end setEditMode --- get setEditMode(true/false) Would do the same job with less lines of code and be much easier to follow? All the Best Dave On 12 Apr 2006, at 22:26, Devin Asay wrote: The way I use it is much more pedestrian than the Marks'. For me it's a really easy way to make sure my interface objects get set to the proper states. For example, let's say I want to toggle between an 'editable' and 'noneditable' mode for a text editor: setProp editMode pMode if pMode then enable button "Save" enable button "TextColor" set the lockText of fld "myfld" to true set the traversalOn of fld "myFld" to true else disable button "Save" disable button "TextColor" set the lockText of fld "myfld" to false set the traversalOn of fld "myFld" to false end if pass editMode -- the docs say you have to explicitly pass it to have it set the prop end editMode Anyway, this is a crude example, but illustrates how it's been most useful to me. There may be several events in my program that could trigger a change in edit mode for this field, but in each case all I'd have to do would be to set the editMode of cd "editor" to true ## or false Devin Devin Asay Humanities Technology and Research Support Center Brigham Young University ___ 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: Using 'try'
Hi, A try statement will "catch" an occurrence of a "throw". The throw can be performed anywhere in the engine or from one of your own handlers/functions. If an "exception" is "'thrown" and there is no "try" structure in place, then an execution error will be generated (e.g. the Engine or IDE catches the error). In the case below, Mark didn't care what the exception actually was, he just wanted it to be caught so as not to cause an execution error or corrupt or the "forecolor". Just using the try without the corresponding catch is allowed and is just shorthand for: try do something catch myError end try You can use try/catch and throw in your own scripts to make it easier to handle errors or make it easier to debug. Say you had a number of functions that all call each other and any one of them can generate an error, there are two main ways of handling this: 1. Returning Error Codes. on mouseUP put Func1() into myErrorCode if myErrorCode != 0 then answer "ErrorCode:" && myErrorCode exit mouseUp end if function Func1 if then return 1 put Func2() into myErrorCode if myErrorCode != 0 then return myErrorCode return 0 end Func1 function Func2 if then return 2 put Func3() into myErrorCode if myErrorCode != 0 then return myErrorCode return 0 end Func2 function Func3 if then return "3" return 0 end Func3 2 Using Throw and Catch. on mouseUP try get Func1() catch myErrorCode answer "ErrorCode:" && myErrorCode exit mouseUp end try end mouseUp function Func1 if then throw 1 get Func2() myErrorCode return 0 end Func1 function Func2 if then throw 2 get Func3() return 0 end Func2 function Func3 if then throw 3 return 0 end Func3 Hope this Helps All the Best Dave On 13 Apr 2006, at 08:28, Graham Samuel wrote: In the very interesting discussion on Custom Properties, Mark Wieder introduced this example setProp NewValue pValue try if pValue < 0 then set the foreColor of me to "red" else set the foreColor of me to empty end if end try put pValue into me end NewValue I think I get the idea, but Mark, why did you use 'try'? It would not occur to me to do this - indeed I don't think I've ever used 'try', which if I understand correctly, allows the script to capture an error rather than handing it to the RR engine: but that involves 'catch' doesn't it? Is there any advantage to using 'try' the way you did? Just curious - there's so much I don't know! Graham -- - Graham Samuel / The Living Fossil Co. / UK and France ___ 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: startup question
Hi, One way of doing it is like this: put "stack " & quote & myStackFilePath & "LibStack.rev" & quote into myTempStackFilePathName get value("LibStartUsing(" & theParam1 & "," & theParam2 & ")",myTempStackFilePathName) Then in LibStack: function LibStartUsing theParam1, theParam2 start using me end LibStartUsing That way the Stack is loaded before the start using is actually run. Hope this helps All the Best Dave On 13 Apr 2006, at 02:32, Stephen Barncard wrote: I have a chicken-and-egg situation.. I have a stack startup handler that works fine until it does a 'start using' for a library stack, and then immediately needs to use a handler in that stack just included. What happens is that the code keeps marching along, the lib isn't active yet... and --- error. I've put a 'wait 30 ticks' then a 'wait 60 ticks' before continuing. Not long enough? I know, I know, cheesy too. What's the best way to allow the lib to load.. and how do I wait or hold for it? I know there's an 'librarystack' message.. thanks. sqb -- stephen barncard s a n f r a n c i s c o - - - - - - - - - - - - ___ 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
Clarification on Menubar under MacOS X?
Hi, I have created a Menubar containg just a "File" menu and given it the following items: Test 1 Test 2 Test 3 Test 4 Test 5 Quit If set this menubar as in: set the menubar of this stack to myMenubar The menu appears ok except that when it displays, the last item in the menu is "Test 3". I was fully expecting the before the quit and the quit item itself to be removed but not 4 items to move. If I insert 2 dummy items after Test 5, then it behaves correctly. Any ideas? Why should it remove 4 items, instead of 2 as the documentation states?? Thanks a lot All the Best Dave ___ 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: bugs
On 10 Apr 2006, at 17:54, Robert Sneidar wrote: It is theoretically possible to write bug free code, but the chances of doing it decrease exponentially with complexity. (For anything like software someone would actually want to use, the chances are about the same as the coin dropping to the ground and staying on it's side.) That's just not true! Bugs do not necessarily increase as complexity increases it all a matter of coding correctly. It's true you cannot apply the same rules you use to develop complex software as you do to write trivial software, but if you stick to sound software engineering principals, then complex software is actually more stable. Point in case, look at games like WarCraft I and II, StarCraft, Diablo II, SimCity, etc. etc. etc. these are increibly complex systems and they have very few bugs. Reason? Most of these games work on devices like the PlayStation and rely on the CD being correct, there's no downloading a bug-fix release in this case. Another point in case, are mainframe OSes (like IBM/390), also as I have mentioned before check out SNOBOL4 and SPITBOL. All the Best Dave . ___ 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: Recent posts
There ya go then! Take one of the oldest of problems and you find that one of the oldest of solutions still works! All the Best Dave On 10 Apr 2006, at 17:12, Jim Ault wrote: I have created a field "originalSequence", ran a loop to 'draw the diagonal lines', then sort by that field whenever nec. An inventory stack was one past project where I actually had 4 sort orders + mod dates. Jim Ault Las Vegas On 4/10/06 5:37 AM, "David Burgun" <[EMAIL PROTECTED]> wrote: Neat idea. Not that I have a use for it now, I dunno! Would it help to diagonal draw a line across cards in a RunRev stack? If they ever got out of order you could then maybe use the same trick to put em back again!?!? All the Best Dave On 10 Apr 2006, at 02:50, Marian Petrides wrote: but it would have helped 25 years ago. Too bad I wasn't smart enough to think of it then. On Apr 9, 2006, at 8:47 PM, Mark Wieder wrote: Francis- Sunday, April 9, 2006, 5:15:03 PM, you wrote: For anybody out there still using punched cards Draw a diagonal line across the top of your card deck with a biro, drop the deck on the floor, and then put the deck back into 100% sequence with NO hassle ! Did it often ! Yes, and that's the sort of thing that experience will teach you very quickly the first time you drop a stack. Note that it's possible to get the stack put back together exactly backwards that way, too... I find it semantically interesting that in 2006 we're still working with cards and stacks (but in an entirely different context) in runrev. -- -Mark Wieder [EMAIL PROTECTED] ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ 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: List Moderation, recent threads and New Forum
Hi Lynn, On 10 Apr 2006, at 14:06, Lynn Fredricks wrote: Hi all, So guys and gals, here it is: Wa too much noise to signal ratio. It's taken me hours just to get up to speed on the discussion for the last two days, and how much more do I know about using Revolution? Almost nothing! I realize that I let my frustration get the better of me, yesterday, and for that I apologize. That happens to us all from time to time and there really is no need to apologize (to me anyway). It is very difficult for me to sit still when I see a problem popping up again and again. That's exactly how some of the people using RunRev feel. When the problem(s) pop's up once too often it tends to pop up here. As far as I can see, there are two ways of dealing with it: 1. Stop the problems popping up in RunRev, which will lead to the reduction of problems popping up here. 2. Stop the problems from popping up here by other means. All the Best Dave ___ 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: Recent posts
Neat idea. Not that I have a use for it now, I dunno! Would it help to diagonal draw a line across cards in a RunRev stack? If they ever got out of order you could then maybe use the same trick to put em back again!?!? All the Best Dave On 10 Apr 2006, at 02:50, Marian Petrides wrote: but it would have helped 25 years ago. Too bad I wasn't smart enough to think of it then. On Apr 9, 2006, at 8:47 PM, Mark Wieder wrote: Francis- Sunday, April 9, 2006, 5:15:03 PM, you wrote: For anybody out there still using punched cards Draw a diagonal line across the top of your card deck with a biro, drop the deck on the floor, and then put the deck back into 100% sequence with NO hassle ! Did it often ! Yes, and that's the sort of thing that experience will teach you very quickly the first time you drop a stack. Note that it's possible to get the stack put back together exactly backwards that way, too... I find it semantically interesting that in 2006 we're still working with cards and stacks (but in an entirely different context) in runrev. -- -Mark Wieder [EMAIL PROTECTED] ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Bugs
On 10 Apr 2006, at 02:13, Francis Nugent Dixon wrote: Hi from Paris, Many - many years ago, I came across a simple program written to print out paychecks (in 1401 AutoCoder, for anybody who wants to know). The input to the program was you've guessed it ... punched cards, containing basic information, such as : 1 - a code (1 for man, 2 for woman), 2 - Employee code number (six digits), 3 - Employee name (25 characters) 4 - Number of hours worked in the week (3 digits) The program needed the sex code, because the hourly rate for a woman was less than that of a man (nothing has changed, even 40 years later !). Tests were conclusive, the programmer eliminated invalid employee codes, and hours worked in excess of 45, etc, etc. So the programmer did a run on REAL data for the current month. The program blew 30 seconds later .. but only because the employee was . neither a man or a woman .. From then on, programmers were instructed to FIRST test their programs with blank cards ... Actually this is a good example for another reason. If you equate the "blank" card to the "empty" concept in TranScript, you will see that TranScript actually makes things a little worse in some cases here. By this I mean, you can get away with passing empty to RevRev functions etc. and it will accept them, even when they don't make sense. For instance: if there is a folder myFolder then new folder myFolder end if the part that handles "there is a folder" allows an empty string to be passed to it and fails. On the face of it this is good, it didn't identify "empty" as being a valid folder. The problem here is that you'd get the same result if "myFolder" contained a valid folder. The programmer in this example should have coded: put empty into myFolder if myFolder <> empty then if there is a folder myFolder then new folder myFolder end if end if If the "there is a folder" clause generated an Execution Error if it were passed empty data, it would help a lot. There are also a number of cases where "empty" is passed around which while they don't cause any problems immediately they cause more processing than is necessary to be performed. For instance: put the keys of myArray into myKeysList sort lines of myKeysList repeat with myKeyIndex = 1 to the number of lines in myKeysList end repeat Here the extra "sort" operation was performed on an "empty" string, is just continued on and hit the repeat statement which then immediately failed. Here we are not talking about much overhead, but when I traced some code I wrote recently, I found that it was traveling down 4 layers of function calls, uselessly passing "empty". It was only when I added some code to the bottom layer that was "empty" intolerant did I notice the problem. For instance: Stack; function StackFunc theParam local myParam -- do something that is "empty" tolerant with theParam put SomeCalc(theParam) into myParam put CardFunc(myParam ) into myResult return myResult end StackFunc Card: function CardFunc theParam local myParam -- do something that is "empty" tolerant with theParam put SomeCalc(theParam) into myParam put GroupFunc(myParam ) into myResult return myResult end CardFunc Group: function GroupFunc theParam local myParam -- do something that is "empty" tolerant with theParam put SomeCalc(theParam) into myParam put ControlFunc(myParam ) into myResult return myResult end GroupFunc Control: function ControlFunc theParam local myParam -- do something that is "empty" tolerant with theParam put SomeCalc(theParam) into myResult return myResult end ControlFunc In this case "empty" was being passed needlessly, but harmlessly down 4 layers. All is ok, until you add some empty non-tolerant code to one of the lower levels. In my case I added it to the Control. All the Best Dave ___ 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: bugs
On 9 Apr 2006, at 21:04, Rob Cozens wrote: Geoff, et al: Well, my international (from an american viewpoint) friend, how about this: on mouseUp -- display the date answer the system date with "OK" end mouseUp The requirements are stated clearly in the comment, so the long date is out. The system date should work properly for you, correct? Yes, the system date meets my requirement. But I would point out that this is not an international issue per se: Any user of Windows and MacOSes has the capability of specifying to the operating system the format in which dates, times, and numbers are displayed. In my view, any software that ignores the user's preferences is flawed, and therefore buggy. It may be a design bug, not a bug in the code; but it's a bug to moi. Since my buddy Bernie isn't on the List, here's a further example at his expense: Flexware's A/R Parameter Setup screen worked flawlessly...so long as the G/L module was not installed OR a Chart of Accounts was set up. If the user indicated in the A/R Params that G/L was installed, the setup would loop endlessly trying to verify the first G/L account # in the parameters record if there were no COA set up. Is it a bug that Parameter Setup didn't check for the existence of a COA when it opened? By my definition, "yes", even if the specs didn't call for it. Yes, but what's the bug? The fact that it loops endlessly or the fact that the COA was non existent? This is where robustness comes in, nearly every instance of a bug (with the exception of typeo's) is because something was assumed to be set to something that wasn't/ isn't set up! All the Best Dave ___ 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: End all Negative Threads Now
On 9 Apr 2006, at 19:33, jeffrey reynolds wrote: Lynn, This list has been very stable and as lists go pretty civil. yes once and a while there are little firestorms, but all and all its very self moderating (except for a few of the comments that were posted that went into illegal areas of software piracy, etc). the fires seem to put themselves out after a few days and bad feelings seem to fade quickly. Negative things about rev almost always end up generating more good comments on rev and focusing of problem areas that need work (nothings perfect and software is even harder to move toward perfection than other things). Totally Agree, I get very worried when a rev representative steps in with heavy handed threats. I hope this is not how the new forums will be moderated. while forums are great for the very general stuff, for the professional developer they are much harder to try and keep up with. the rev list has been great and continues to work well for many of us. Most of the folks active in it have been using the product since mc days. Compartmentalizing things into pigeon hole forums will be of no use to me and by the comments of many on the list neither for them. I agree again, if a thread bothers you, just don't read it! List's are like soap opera's you *should* be able to switch them off if you like. If we could just have some good news that the IDE will be fixed sometime soon or some tools to make life easier. For instance, the debugger doesn't work very well when switching contexts. If we had some kind of low level tool that would provide some kind of trace facility that would be something to help. All the Best Dave ___ 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: Restore Field Selections?
On 9 Apr 2006, at 19:19, Ken Ray wrote: On 4/9/06 12:57 PM, "David Burgun" <[EMAIL PROTECTED]> wrote: Hi, Do I need to restore the field selection after switching cards? I have a stack with two cards and in card 2 the user selects an item in a list field and it gets selected ok, they then switch to card 1 and then back to card 2 but the current selection is lost when card 2 re-appears. Is this the correct action? If so what is the best place to refresh the selection when switching cards? preOpenCard? openCard? or somewhere else? It depends on whether the rest of your card "resets" when you enter it for a second time, or not. If it *does*, then don't worry about it, bt if it tries to keep data persistent, then store the hilitedLines in a custom property, and then restore them on preopencard. No, it doesn't reset, it uses the same data each time it is opened. I put the code in the openCard handler, but you suggested the preOpenCard call, it works ok in openCard, but would it be better to put it in preOpenCard? I thought that a card might have to be displayed before the selection would appear. By selection I mean the mark that appears when you do: set the hilitedLine of me to the cpSelected selected line of me Thanks a lot All the Best Dave ___ 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
Restore Field Selections?
Hi, Do I need to restore the field selection after switching cards? I have a stack with two cards and in card 2 the user selects an item in a list field and it gets selected ok, they then switch to card 1 and then back to card 2 but the current selection is lost when card 2 re-appears. Is this the correct action? If so what is the best place to refresh the selection when switching cards? preOpenCard? openCard? or somewhere else? Thanks a lot All the Best Dave ___ 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: [Ticket#: 2006040510000641] Re: [OT] Articles to read
On 9 Apr 2006, at 00:07, Garrett Hylltun wrote: I'm sure you're right though, I'm sure were not being singled out for something derogatory. It's obvious the intent, which had nothing to do with you. Which adds to your puzzling reply on this. Almost all those names that were listed are the people who are most helpful. Granted, some of them participate in what I call "ego- chatter", but even with that, that list represents a lot of good people and I would have assumed that anyone listed would have actually felt complimented by that. I totally agree with this, it's one of the best lists I've ever been involved with. I get wound up by things that I feel are letting RunRev as a concept/ product down, however, I still use it and I want it to be better, and there is no doubt that is has got better over the 2+ years I have been using it. For that I say "thanks and well done". However when you have worked in the industry as long as I have, you are bound to see mistakes that companies have made over the years, having been involved with projects/products that, lets say, didn't reach their full potential and were replaced with products that were inferior in concept, simply because of bad documentation and buggy interfaces. Once you understand the separation of the engine and the IDE in RunRev, you can see that the concept of the engine and all it's cool features is sound. However, when a new user evaluates RunRev, unless they understand xTalk, they don't immediately see this separation and assume that IDE bugs are part and parcel of the whole thing, and in a way they are right. One of the major problems I face when trying to get RunRev accepted in a traditional software development department is that of credibility, the first thing the engineer or manager sees is the IDE. The thing that I can sell RunRev on is the speed and flexibility of programming, in order to do that, I usually write an application or part of an application of medium complexity right in front in them. I then usually leave the stack(s) with them and tell them to download an evaluation copy of RunRev and play with it on their own machine. This is the only real way I have found for getting that "wow" factor, if I get the wow, I an 99% of the way there. If I don't get it, then I'm usually out the door. The problem with having lots of silly little bugs in the most visible of places is that a newbie or someone that is skeptical of the claims you have made for the system immediately have their suspicions confirmed (or so they think). The real fact of the matter is that even with all the silly little bugs in the IDE it's still way faster then developing in other languages/environments. I would say typically I lose about an hour a day due to these problems, but I used to lose longer. I suppose I will eventually lose less time, but that's not really the point. I have had a history of using xTalk like languages, like SNOBOL4 and SPITBOL and know the underlying power and the type of results you can achieve in a relatively small period of time, so I am willing to be patient and try to work around the problems. Once in while I "give out" about having to put up with it and that's about it. However, I really don't think I am the typical engineer and to them a buggy IDE to a sign of a "dodgy" product, especially if they know that the IDE is coded in TranScript. It's as someone else said, well if the makers of the product can't make it work properly, what chance have we? As for bug free pieces of software, take a look at SNOBOL4 and SPLITBOL these languages/environments are more powerful and complex compared to TranScript in their own way. They run on more platforms than RunRev and they are an example of software that is 99.99% bug free including the documentation. The main difference is that they don't support a GUI. I really don't think that the problems I have mentioned are being experienced by just myself or to my configuration. I have seen these on different versions of RunRev running on different machines and on different platforms. I'm not having a personal dig at anyone, bitching for the sake or it or trying to be awkward in any way. The only reason I bring them up every now and then to try to get something done about it. The fact that people are venting the way they are at the moment is a sign that something aught to be done to resolve at least some of these issues. All the Best Dave ___ 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: bugs
On 8 Apr 2006, at 12:07, David Vaughan wrote: So tell me what could go wrong? ;-) I realised while cooking the salmon this evening (crocodile being off the menu) that Geoff had inadvertently provided a wonderful case study on bugs. Any link to Geoff in the following is purely coincidental and nothing to do with him at all :-) Once upon a time, an aspiring programmer wrote: on mouseUp -- display the date answer the date with "OK" end mouseUp and released it as shareware. His American audience loved it. He received five star ratings on Versiontracker and plaudits on download.com, so impressed were users at being able to load an application, click a single button and see the date. Most impressive of all, it looked bug free. Then, some old bloke from Australia gave a negative review, declaring the code contained a bug in that the information "4/8/06" for 8 April was simply wrong. A Frenchman wrote to say that the format should be "060408". Both complained that this was a clear- cut bug about which the developer should have known before releasing the software with the documentation "Displays the date". Relying on precedents in "Gutnick v. Dow Jones", they observed that even though the software was uploaded in America to an American server, it was published in Australia and France where it was read, and therefore subject to those foreign laws of fitness for purpose, with which any judge in those jurisdictions would agree ;-) Therefore, we have an indisputable bug in even this simple application. Now that we know that no code is bug-free, two issues arise, one of morality and one of money. Has the programmer committed an Immoral Act by publishing this software with a bug about which those foreign users believe he should surely have known? What commercial decision should the programmer make? Add 33% more lines to the code ("set the useSystemDate to true") just to cater for foreign system dates, or add one word to the documentation so that it says "Displays the U.S. date"? One action will cost more than the other, and either will cost more than doing nothing and restricting his target market. Perhaps he should focus his development energies on his upcoming product "Displays the time" which he expects to sell at twice the price? So, it appears that - bugs happen, even when they are sincerely believed not to exist and with the best will in the world, and testing which seemed comprehensive at the time; - money matters in commercial decisions without greed per se being a factor; - the morality of the developer is not questioned by the discovered bug. Perhaps RunRev has more bugs than it should have. That is something I do not know, but Lynn may on industry benchmarks. Regardless, bugginess is a relative question. The real problem here is if the marketing department get ahold of it, they will make it into a "feature" ! e.g. this Application is "supposed" to tell you the time in the USA, it's so cool you don't have to figure it out for yourself, thereby cutting out the rest of the world from the product. Eventually when the US market slows down, they add a preference to allow the time to be shown in local time, call it an upgrade and charge everyone for the privilege of fixing the bug! How many times you seen that happen??? All the Best Dave ___ 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: [Ticket#: 2006040510000641] Re: [OT] Articles to read
I really don't think you understand the ISM concept and think it's some strange thing that is somehow going against the way Xtalk's work. It's really not. It's really just a convenient and flexible way of allowing an object to communicate with other objects without having to explicitly tell the objects what do do. Think of it like this. You could write some code that did the following: put "[EMAIL PROTECTED]" into field "EmailAddress" enable button "OK" disable field "PhoneNumber" etc. In (say) a mouse up handler of a "Do Some Action" button. In other words the logic to determine what to do to other objects is determined by the object that initiated the event. This means that when you want a different action for an existing object or additional actions or actions for other objects you have to change the "sender". It's like a teacher in a class room telling each individual pupil to turn to page 66 of a text book, instead of telling the whole class. This isn't the best example, since, the *same* action is performed by each pupil in the class. Instead, imagine you said, "Go to the page where you left off last week and continue from that point". The difference is that you could either track which page each individual pupil is on and give out many instructions such as "John, go to page 33", "Bob, go to page 54", "Julie, go to page 132" or could leave the decision as to which page to go to up to the person receiving the instruction and give one instruction and they could use their memory to go to the correct place. ISM allows you do do this. For instance, with a file path name, different fields may want to do different things: Field 1 - put theFilePathName into field 1 Field 2 - put of file theFilePathName into field 2 Using ISM, you put the choice of what to do with the data received in the Object that is processing the data. not in the sender of the data. This is basic OOP. All the Best Dave Hi, All my messages pass along the very same chain you are using, the fact that there is a library that is managing events has nothing to do with it. I've experienced the problems I mentioned (and they have been verified by others) in small 3 control test stacks with no libraries etc. I do not "force" anything into a central object library or any other kind of library. All the Best Dave On 7 Apr 2006, at 17:32, Rob Cozens wrote: David, et al: In the case of the bugs I mentioned, you'd have to blind and in a drug induced haze not to spot them! Some of them occur on an hourly basis! For the past two weeks I have been scripting at least four hours daily using Rev v2.7 on Windows XP. I have experienced no crashes--even when trying to force a crash for Rev Support. I don't spot the bugs you mention because (a) I'm not using the same features your are, and (possibly) (b) because I allow most messages to pass up the message chain rather than trying to force them to a centralized object library. This is not said to discredit you; but to point out that RunRev is so feature-rich and can be applied to such different applications that one developer's experience may be entirely different from another's. Rob Cozens CCW, Serendipity Software Company "And I, which was two fooles, do so grow three; Who are a little wise, the best fooles bee." from "The Triple Foole" by John Donne (1572-1631) ___ 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: How long does one put up with crashing? - reply
On 7 Apr 2006, at 22:25, Dave Cragg wrote: On 7 Apr 2006, at 21:19, Chipp Walters wrote: But, then there's another problem (at least for me). Currently, I'd like to get my hands on a 2.6.6 version of Rev. But the latest installer I have is 2.6.1, which when properly online updated, goes to 2.6.6 (bug fixes mostly). But, because the online update now only points to 2.7, how does one go about getting the update to 2.6.6? Is there somewhere an archived version of 2.6.6 and if so, where? Chipp, are you talking about engine version numbers or Rev App version numbers? The reason I'm asking is that I don't recall a Rev App of version of 2.6.6. I am using 2.6.6 Build 152, that's what the Get Info box says and that's what the file is named. However the splash screen tells me it's 2.6.1 Build 152. The App/Engine version number are really confusing! The latest pre-2.7 version I have here is 2.6.1, which has an engine versione of 2.6.6. The 2.6.1 engine version is what shipped with Rev 2.5. (As of 2.7, the engine and app versions are the same, thank goodness.) Good! All the Best Dave ___ 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: bugs
On 7 Apr 2006, at 17:49, Mark Wieder wrote: David- Friday, April 7, 2006, 3:26:29 AM, you wrote: Approach 2, results in much better software and much happier engineers. The idea is to have QA involved right from the start, at the design stage. QA's job here is to ensure that components (such as libraries etc.) are unit tested as they are written. 100% agreement on approach 1 vs 2. It really is true that the best way to eliminate bugs is not to code them in the first place. I always like to get QA involved at product inception and follow the sdlc through to the release. But... it shouldn't be QA's job to do unit testing. That's development's job. In a way, yes, but on the other hand, I worked at one place that had around 5 imaging products and they all used a couple of common libraries. It made sense in this case for QA to track which versions of the libraries were used in the build of which products. Also since they were Shared Libraries (DLLs), they would switch out libraries and move back to older versions to track when a "bug" was introduced. They also had a Library test tool, which exercised the API. The tests written by QA should complement the unit tests in terms of integration testing, functional and boundary tests, etc. Otherwise you get QA locked into the same mindset as development to where you know what the program is supposed to do, so you don't test other scenarios. It's the same reason you can't do proper QA on a product you've written yourself. I've had my own apps pass all the unit tests I've written and come through with flying colors, only to be shot down in five minutes when I handed the "finished" product off to someone else. I agree, the best policy I've found for this is the to have a Test department that writes code to test the robustness of key system components. All the Best Dave ___ 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: [Ticket#: 2006040510000641] Re: [OT] Articles to read
That's true of course, I could rewrite the Script Editor and may well do so, but really, unless I invested a lot of time understanding the how the rest of the IDE worked, it would probably not work very well. If I were to do it, I'd rewrite the whole thing. All the Best Dave On 7 Apr 2006, at 18:20, Mark Wieder wrote: David- Thursday, April 6, 2006, 6:51:18 PM, you wrote: It depends on whether I wrote it in the first place or not. Assume I didn't and have been given the source code, I'd take a look at it and You *do* have the source code. Knock yourself out. -- -Mark Wieder [EMAIL PROTECTED] ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ 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: [Ticket#: 2006040510000641] Re: [OT] Articles to read
On 8 Apr 2006, at 02:06, Bob Warren wrote: Garrett Hylltun wrote: >Have you ever dropped a stack of a thousand or so punch cards!? That was the last time I ever dropped a stack. Took me weeks to put the stack back in order before I could run it through the reader. Yes, and worse. On one occasion I was feeding in trays and trays of cards that represented free gifts to the clients. Although I was always very methodical and careful when doing this, somehow, I don't know how, I fed in a tray (or more?) of cards twice. As a result, about 10,000 customers got their rather expensive gifts in duplicate! Needless to say, proper statistical controls were implemented by my department afterwards. It turned out to be quite didactic. Bob That's what the sequencing field was for! If you used it, you could run it thru the sorted and it would put them all back in order! All the Best Dave ___ 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: [Ticket#: 2006040510000641] Re: [OT] Articles to read
On 7 Apr 2006, at 22:43, Ken Ray wrote: On 4/7/06 3:36 PM, "Chipp Walters" <[EMAIL PROTECTED]> wrote: I'm so old my first computer was made of cardboard. Heck, we had to 'punch out' the cardboard parts just to build it (and we did this all by candlelight as electricity wasn't invented yet). We wouldv'e given anything to play with those fancy Hollerith card-punch machines. Oh, Yeah? Well WE had to walk 35 miles through a raging snowstorm with only flipflops and snorkles while juggling crazed rabid wombats and breathing sulphur just to LOOK at a cardboard computer! Oh, you used one of those Apollo boxes too! All the Best Dave ___ 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: [Ticket#: 2006040510000641] Re: [OT] Articles to read
Hi, All my messages pass along the very same chain you are using, the fact that there is a library that is managing events has nothing to do with it. I've experienced the problems I mentioned (and they have been verified by others) in small 3 control test stacks with no libraries etc. I do not "force" anything into a central object library or any other kind of library. All the Best Dave On 7 Apr 2006, at 17:32, Rob Cozens wrote: David, et al: In the case of the bugs I mentioned, you'd have to blind and in a drug induced haze not to spot them! Some of them occur on an hourly basis! For the past two weeks I have been scripting at least four hours daily using Rev v2.7 on Windows XP. I have experienced no crashes--even when trying to force a crash for Rev Support. I don't spot the bugs you mention because (a) I'm not using the same features your are, and (possibly) (b) because I allow most messages to pass up the message chain rather than trying to force them to a centralized object library. This is not said to discredit you; but to point out that RunRev is so feature-rich and can be applied to such different applications that one developer's experience may be entirely different from another's. Rob Cozens CCW, Serendipity Software Company "And I, which was two fooles, do so grow three; Who are a little wise, the best fooles bee." from "The Triple Foole" by John Donne (1572-1631) ___ 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: How long does one put up with crashing?
I'd really go back to version 2.6.6, it's much more stable. Just beware the Stack File Incompatibility issues, I think there is a plug- in that saves a stack file in either format. Don't give up on Rev, for all my moaning it's a great product (when it works!) and it's worth the effort, you just have to be patient when it comes to new releases. All the Best Dave On 7 Apr 2006, at 16:43, <[EMAIL PROTECTED]> wrote: Hi all, I'm hoping that Rev puts up here! I'm getting a little tired and frustrated of the IDE crashing when I'm building an application. I've never known of a software product that crashes like RunRev Studio 2.7 does. I've seen Alpha releases that crash less times. I've been developing commercial software for 14 years, with a different product, and have never seen the likes of this before. Platform: WinXP SP2; MySQL 4.x.; Studio 2.7 RunRev, you've got to do something about this real fast! I hope that you are planning a 2.7.1 release within the next month to fix this. This is serious stuff that makes one think of looking for a refund. This comment has also been submitted to support @ runrev.com. Regards, Mark Stuart ___ 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: How to stop screen "flicker"
The loop is part of a cold-start up process, I want to run all the stacks qualifying stacks in a folder in "ColdStart" mode, this allows each stack to reset it's properties etc. to the "Factory" default. It's a little more complex than this, but that basically it. Once the Cold-Start has completed, I then re-open the "Main" Application stack (the one that reported it's "Main" status during Cold-Start procedure). It then starts running in "Warm-Start" mode, and from that point onwards it will start up in warm start mode. The ColdStart Stack checks for a file in it's folder when it's run, if it's there it cold-starts and removes the file, if it's not it warm starts. All the Best Dave On 7 Apr 2006, at 16:49, Mark Schonewille wrote: Hi Dave, It is not clear to me what you are trying to accomplish. Why do you set the visible of the stack to true or false if you're going to close it anyway? If the problem is that the stack flashes *before* its visible property is set, it is possibe that removing "as toplevel" from your script solves the problem. Why did you include that? Completely contrary to HyperCard, Revolution's "lock screen" command prevents windows from being redrawn but does not prevent them from appearing on screen. You might want to set the loc of the stack off-screen before changing the visible property, then hide the stack and set the loc to the original value. Best, Mark David Burgun wrote: Hi, When I run the script portion below, I get the stack windows flashing for a split second. I thought that the lock screen command would cure it, but it doesn't seem to work. lock screen repeat for each line myCurrentFileName in myFilesList if item -1 of myCurrentFileName <> "rev" then next repeat put myStackFilePath & myCurrentFileName into myCurrentFilePathName if myCurrentFilePathName = myStackFilePathName then next repeat if myCurrentFilePathName <> the filename of myCallingStackLongName then if there is a stack myCurrentFilePathName then if the script of stack myCurrentFilePathName contains myHandlerString then set the cpDebugEnableFlag of stack myCurrentFilePathName to theDebugEnableFlag put the visible of stack myCurrentFilePathName into myStackVisibleFlag go invisible to stack myCurrentFilePathName as topLevel set the visible of stack myCurrentFilePathName to myStackVisibleFlag save stack myCurrentFilePathName close stack myCurrentFilePathName end if end if end if end repeat unlock screen Any ideas?? Thanks a lot Dave -- Consultant and Software Engineer mailto:[EMAIL PROTECTED] http://www.economy-x-talk.com eHUG coordinator mailto:[EMAIL PROTECTED] http://www.ehug.info Advertise with us and reach 1000 truely interested internet users every month. See http://economy-x-talk.com/advertise.html for more information. ___ 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: Eureka! It's late, I'm tired and grouchy and I can't figure out a way to do this!
Hi, On 7 Apr 2006, at 14:43, David Bovill wrote: David Burgun wrote: Hi All, Ok, I finally found it! I knew I had the code there somewhere, it was on a PowerBook I had forgotten I had! Got it working now, see below. It's really quite neat! A spot of recursion every now and then is good for the soul, check it out! Oh, one thing that I could do with confirmation on, I am using the "long name", is this ok? Should I use the "long id" instead? I use the long id for uniqueness as two objects could have the same long name. However the whole issue of naming gets real complicated if you want portable naming - so I use either the mobile_ID which is a combination of id and short sack name, which is then refered to using a relative path to the file in the stackfile property. I can't seem to get it to work using long id, the following statement gives an error: if the long owner of group myIndex of theOwnerLongName = theOwnerLongName then I can't figure out how to change it for long id's. However, I've pasted it back and it works wonderfully, so I'm a happy bunny! All the Best and Have a Great Weekend Dave ___ 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
Eureka! It's late, I'm tired and grouchy and I can't figure out a way to do this!
Hi All, Ok, I finally found it! I knew I had the code there somewhere, it was on a PowerBook I had forgotten I had! Got it working now, see below. It's really quite neat! A spot of recursion every now and then is good for the soul, check it out! Oh, one thing that I could do with confirmation on, I am using the "long name", is this ok? Should I use the "long id" instead? All the Best Dave - -- -- ISMInitializeGroup -- - function ISMInitializeGroup theOwnerLongName local myIndex local myCount -- -- Initialize all Groups that need to be Initialized -- put the number of groups in theOwnerLongName into myCount repeat with myIndex = 1 to myCount if word 1 of the name of group myIndex of theOwnerLongName = "group" then if the long owner of group myIndex of theOwnerLongName = theOwnerLongName then get ISMDebugLogString(empty) get ISMDebugLogString(the name of group myIndex of theOwnerLongName) -- -- Recurse thru the Container (Card or Group) -- get ISMInitializeGroup(the long name of group myIndex of theOwnerLongName) end if end if end repeat -- -- Initialize the Controls in this Group -- repeat with myIndex = 1 to number of controls in theOwnerLongName if word 1 of the name of control myIndex of theOwnerLongName <> "group" then if the long owner of control myIndex of theOwnerLongName = theOwnerLongName then get ISMDebugLogString(the name of control myIndex of theOwnerLongName) end if end if end repeat return true end ISMInitializeGroup -- -- ISMInitialzeObjects -- - function XISMInitialzeObjects theStackLongName,theColdStartFlag local myCount local myHandlerString local myColdStartFlag local mySendString local myCardIndex local myGroupIndex local myControlIndex get ISMSetDebugMode(true,true) if theColdStartFlag = empty then put false into myColdStartFlag else put theColdStartFlag into myColdStartFlag end if get ISMDebugLogString("ISMInitialzeObejcts " & theStackLongName) get ISMDebugLogString(empty) put "on " & kInitializeObjectName into myHandlerString put kInitializeObjectName && myColdStartFlag into mySendString -- -- Initialize the Stack -- if the script of theStackLongName contains myHandlerString then --send mySendString to stack theStackLongName end if -- -- Initialize all Cards -- repeat with myCardIndex = 1 to the number of cards of theStackLongName get ISMDebugLogString(empty) get ISMDebugLogString(the name of card myCardIndex of theStackLongName) -- -- Initialize all Groups and Controls in the current Card -- get ISMInitializeGroup(the long name of card myCardIndex of theStackLongName) end repeat return true end XISMInitialzeObjects ___ 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: It's late, I'm tired and grouchy and I can't figure out a way to do this!
Hi, I took the following code and massaged it into my Script to form the function below, but it still doesn't work! See the end of the message for a list of the objects visited. I just want a loop(s) that visits each object just once! On 7 Apr 2006, at 02:39, J. Landman Gay wrote: on scanObjs repeat with x = 1 to the number of bgs repeat with n = 1 to the number of bg controls of bg x end repeat end repeat repeat with x = 1 to the number of cds repeat with n = 1 to the number of cd controls of cd x end repeat end repeat end scanObjs Anyone have any pointers on how to do this? I'm looking through the documentation now. I am 99.99% certain that I had some code that did this once upon a time, but I just can't seem to find it! Thanks a lot All the Best Dave -- -- XISMInitialzeObjects -- - function XISMInitialzeObjects theStackLongName,theColdStartFlag local myCardIndex local myControlIndex local myCount local myHandlerString local myColdStartFlag local mySendString local myBackgroundIndex get ISMSetDebugMode(true,true) if theColdStartFlag = empty then put false into myColdStartFlag else put theColdStartFlag into myColdStartFlag end if get ISMDebugLogString("ISMInitialzeObejcts " & theStackLongName) get ISMDebugLogString() put "on " & kInitializeObjectName into myHandlerString put kInitializeObjectName && myColdStartFlag into mySendString -- -- Initialize the Stack -- if the script of theStackLongName contains myHandlerString then send mySendString to stack theStackLongName end if repeat with myBackgroundIndex = 1 to the number of backgrounds of theStackLongName get ISMDebugLogString("myBackgroundIndex:" && myBackgroundIndex) repeat with myControlIndex = 1 to the number of background controls of background myBackgroundIndex of theStackLongName get ISMDebugLogString(the name of control myControlIndex of theStackLongName) end repeat get ISMDebugLogString(empty) end repeat get ISMDebugLogString(empty) get ISMDebugLogString(empty) get ISMDebugLogString(empty) repeat with myCardIndex = 1 to the number of cards of theStackLongName get ISMDebugLogString("myCardIndex:" && myCardIndex) repeat with myControlIndex = 1 to the number of card controls of card myCardIndex of theStackLongName get ISMDebugLogString(the name of card control myControlIndex of card myCardIndex of theStackLongName) end repeat get ISMDebugLogString(empty) end repeat -- -- -- -- Initialize all Cards that need to be Initialized -- -- -- repeat with myCardIndex = 1 to the number of cards in theStackLongName --if the script of card myCardIndex of stack theStackLongName contains myHandlerString then -- send mySendString to card myCardIndex of stack theStackLongName -- -- -- -- -- Initialize all Controls that need to be Initialized -- -- -- -- repeat with myControlIndex = 1 to the number of controls in card myCardIndex of stack theStackLongName --if the script of control myControlIndex of card myCardIndex of stack theStackLongName contains myHandlerString then -- send mySendString to control myControlIndex of card myCardIndex of stack theStackLongName --end if -- end repeat --end if -- end repeat return true end XISMInitialzeObjects myBackgroundIndex: 1 group "GroupTitle" field "LabelTitle" group "GroupCardTabMenu" myBackgroundIndex: 2 group "GroupTitle" myBackgroundIndex: 3 group "GroupTitle" field "LabelTitle" group "GroupCardTabMenu" button "MenuCardTab" group "GroupImportFolder" field "LabelImportFolder" myBackgroundIndex: 4 group "GroupTitle" field "LabelTitle" group "GroupCardTabMenu" button "MenuCardTab" group "GroupImportFolder" field "LabelImportFolder" field "FieldImportFolder" button "ButtonChooseDataFolder" group "GroupImportContactFiles" field "LabelTotalContacts" field "LabelTotalContactsValue" field "FieldImportFilePathNames" button "ButtonAddFile" myBackgroundIndex: 5 group "GroupTitle" myBackgroundIndex: 6 group "GroupTitle" field "LabelTitle" myBackgroundIndex: 7 group "GroupTitle" field "LabelTitle" group "GroupCardTabMenu" button "MenuCardTab" group "GroupImportFolder" field "LabelImportFolder" field "FieldImportFolder" button "ButtonChooseDataFolder" group "GroupImportContactFiles" field "LabelTotalContacts" field "LabelTotalContactsValue" field "FieldImportFilePathNames" button "ButtonAddFile" button "ButtonRemoveFile" button "ButtonImportAll" myCardIndex: 1 group "GroupImportFolder" field "LabelImportFolder" field "FieldImportFolder" button "ButtonChooseDataFolder" group "GroupImportContactFiles" field "LabelTotalContacts" field "LabelTotalContactsValue" fiel