Re: Combo boxes in background groups
On Jul 22, 2006, at 12:37 AM, J. Landman Gay wrote: James Spencer wrote: Does anyone know of an easy way to include a combo box in a background but permitting each card to have a different value. I can simulate it a couple different ways, e.g. storing a custom property with the card on closing and reset it on opening but it seems it should be as easy as it is for regular input text fields. Unfortunately, that's the way you have to do it. I usually use a custom property as you describe, and set up the combo box in a preOpenCard handler. -- 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 Thank you Jacque (and Stephen and Dar) for confirming I wasn't missing something and for some ideas for how to work around the problem. Spence James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Combo boxes in background groups
Maybe there's no easy way to do this but it surprised me a bit: I would like to have a combobox in a background group with what would be its sharedText property set to false, assuming it had a sharedText property. Being a button, it of course does not so I hoped its sharedHilite property would have the same effect but unfortunately no; changing the text in the field portion of button, whether by typing in the box or by selecting a menu choice, changes every card with that background on it. Does anyone know of an easy way to include a combo box in a background but permitting each card to have a different value. I can simulate it a couple different ways, e.g. storing a custom property with the card on closing and reset it on opening but it seems it should be as easy as it is for regular input text fields. Spence James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list use-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: What's The Verdict, Web or Not?
On Jul 2, 2006, at 9:22 PM, GregSmith wrote: Though I've only been reading this forum for a short time, I've now got the definite impression that the Revolution environment is for developers - hard core developers . . . well, programmers - hard core programmers . . . not weak, infantile users like myself, who could never program their way out of a paper sack. O.K., I was profoundly mistaken in thinking there was any validity to creating simple, in-browser content made with Revolution. It is obviously a much more sophisticated tool intended for a much more sophisticated audience. I think you may have gotten the wrong impression; Revolution, while not HyperCard, is, IMHO, very usable by reasonably competent users as well as by hard core programmers to make what it was intended for, desktop software. I have no doubt that you could create a useful Rev stack in a short time if you decided you wanted to even if you have never written a program before. There is no doubt that Rev is a powerful environment that can and is used by sophisticated hard core programmers to create sophisticated software but that doesn't make it unusable by us lesser mortals. However, Rev is not software for rendering in-browser content. That's not what it's intended for. It might be very cool if someday someone created a browser plugin to render Rev window content in a browser but the fact that it is not available today does not mean that it is only intended for a much more sophisticated audience. Nor does the fact that its programming language can be used by relatively sophisticated users for scripting CGI's mean that it's suitable for rendering html whether by hard core programmers or by weak, infantile users (although anyone who really is a weak, infantile user would be unlikely to have ever found there way here in the first place.) In concluding that because Rev is not a good tool for creating simple, in-browser content and therefore it is only for hard core programmers, you are comparing apples and oranges. Such a conclusion makes no more sense that complaining than would condemning Word because it can't be used to do photoediting; there are lots of reasons to complain about Word but that would not be one of them. Spence James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Valentina external on OS X
I'm trying to try out the demo Valentina external without success so far. Attempts to initialize with: get Valentina_Init( 10 * 1024 * 1024 ) fails with a syntax error, I assume because the external is not being seen by Rev. I've set my stack's exteral property to: /Applications/Revolution Studio/2.7.2-gm-1/Externals/Database Drivers/VXCMD_macho.bundle which appears to be the correct path to the external. Any guesses as to what is wrong here? G5 running OS 10.4.7 and Rev Studio 2.7.2. Spence James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list use-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: Valentina external on OS X
On Jul 1, 2006, at 3:12 PM, Trevor DeVore wrote: On Jul 1, 2006, at 10:22 AM, James Spencer wrote: I'm trying to try out the demo Valentina external without success so far. Attempts to initialize with: get Valentina_Init( 10 * 1024 * 1024 ) fails with a syntax error, I assume because the external is not being seen by Rev. I've set my stack's exteral property to: /Applications/Revolution Studio/2.7.2-gm-1/Externals/Database Drivers/VXCMD_macho.bundle which appears to be the correct path to the external. Any guesses as to what is wrong here? G5 running OS 10.4.7 and Rev Studio 2.7.2. James, It appears that you are trying to load the RevDB valentina driver as an external which won't work. If you want to use the Valentina external itself you need to download it from the www.paradigmasoft.com. Valentina 2 has instructions for installation. If you want to use the Valentina 1 external you can put that into the: ~/Documents/My Revolution Studio/Externals/ folder and the next time you launch rev the external will be available in the Revolution development environment. To check type this in the msg box: put the externalPackages of stack home and you should see Valentina XCMD (or something like that) in the result. -- Thank you Trevor. That is exactly what I was trying to do. Am I correct then that the default installation permits access to Valentina databases (with the 10 minute timeout) only through the rev database library (or through a third party library such as yours) in the absence of the Valentina XCMD? Spence James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list use-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: [OT (slightly) ] Re: Please confirm your message
On Jun 20, 2006, at 4:00 PM, Alex Tweedly wrote: Every time I send a message to the use-rev list, I get an email such as the one below. It's from a list member who hasn't had the good grace to set up his spam filters to accept mail from the list that he (or she) joined. Seems to me it's kind of impolite to join a list and then expect every other contributor to take extra action to accommodate your spam filters. I haven't yet taken the action suggested, and in fact, I'm not ever going to take it, because it violates my idea of how things should work, so pretty soon, I'll get around to blacklisting [EMAIL PROTECTED] domain in my filters so I don't see these messages. Am I the only grumpy old man who doesn't like this ? Is it reasonable to ask the guilty party to fix their filters if they wish to remain on the list ? (Yes, I do realize he or she is probably not seeing this message :-) In fact, would it be reasonable to ask the list maintainer to *ensure* he fixes it ? While I share others' grumpiness, we should all remember that the member may not even have been aware that this was happening. The real blame for all this goes to the spammers who have forced us all to extreme measures in efforts, some misguided, to keep our email usable. We will be seeing more and more of this as the deluge of crap continues particularly as ISP's do more and more at the server to try to protect their clients. James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list use-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 crashes Rev
On Jun 10, 2006, at 4:24 PM, Byron Turner wrote: The current version of a stack crashes rev as do the last 2 versions of the stack. Versions 3 generations ago are fine. It probably would only take me half a day to recreate what was lost, but I'd sure like to avoid that. Is there some trick to opening stacks that might make a crash less likely (at least to recover scripts). Suppress messages which you can do most easily by clicking on the Messages button in the toolbar (looks like an envelope with a little lock in front of it. It should now show the lock open but when you click the button, the lock will be shown as, well, locked.) You can now open your stack and edit the scripts but none of the scripts will actually run. You will probably want to turn messages back on almost immediately after opening your stack as this suppresses ALL messages including ones needed for the IDE to run properly. Spence James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list use-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: Location of cloned stack
Thanks Phil. That explains it. If I set the defaultstack to stack to be cloned, it appears offset from the right location. Spence James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! On May 8, 2006, at 10:39 PM, Phil Davis wrote: Hi James, When you clone a stack: - The topLeft of the defaultStack is the point of reference for placing the clone, *no matter which stack that may be*. I've had it be a palette when I meant for it to be a regular stack. To avoid that, just set the defaultStack immediately before cloning. - When created, the topLeft of the clone will be offset 32 pixels from the topLeft of the defaultStack. I don't think you can stop that from happening. HTH - Phil Davis James Spencer wrote: This is a curiosity question. OS X 10.4.6 and Rev 2.7.1. My application contains a substack which I clone as needed for a multiple windows. I had thought a cloned stack inherited all of the properties of the original (other than it's name) but for some reason, the location of my cloned stack is apparently unrelated to the original stack's location. I was was starting to look at this issue because I was going to create some code to do offsets for new windows but the problem became critical with 2.7.1 however because with the new version (I don't think anything else changed), the cloned window is appearing with its top at -33 which of course means the title bar is under the menu bar and of course, the window can't be moved by the user outside the development environment. Obviously, this is a minor problem as I can move the window in my preOpenStack handler where I do the staggering code but I'm curious as to why this is happening? Bug? or am I missing something? James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list use-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
Location of cloned stack
This is a curiosity question. OS X 10.4.6 and Rev 2.7.1. My application contains a substack which I clone as needed for a multiple windows. I had thought a cloned stack inherited all of the properties of the original (other than it's name) but for some reason, the location of my cloned stack is apparently unrelated to the original stack's location. I was was starting to look at this issue because I was going to create some code to do offsets for new windows but the problem became critical with 2.7.1 however because with the new version (I don't think anything else changed), the cloned window is appearing with its top at -33 which of course means the title bar is under the menu bar and of course, the window can't be moved by the user outside the development environment. Obviously, this is a minor problem as I can move the window in my preOpenStack handler where I do the staggering code but I'm curious as to why this is happening? Bug? or am I missing something? James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Open stack in safe mode
Or even easier, click the Messages button up in the toolbar before opening the stack and then click it again once it is open. James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! On Apr 14, 2006, at 11:49 PM, Jim Ault wrote: On 4/14/06 9:23 PM, Robert Sneidar [EMAIL PROTECTED] wrote: Well I figured this out pretty quickly. I put this into a button of a new stack: on mouseUp answer file Edit the script of this stack: put it into myStack edit the script of stack myStack end mouseUp and then removed the offending code. All's well. :-) A way could be --the multi-line message box set the lock messages to true go stack problemStack --or in the multi-line message box answer file Edit the script of this stack: edit the script of stack myStack HTH Jim Ault Las Vegas ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Window staggering
Richard and Jim thank you both. It was because I was well aware that there were these exceptions not listed and because it is not a trivial task that I asked my question. A sick part of me is glad to see I have not missed some obviously, and trivially easy solution. Now off to code a fully comprehensive solution (using your suggestions to start) for my own library. Spence James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! On Apr 12, 2006, at 2:46 AM, Richard Gaskin wrote: But that's not enough. :( There are some exceptions not listed in Apple's description but evident in all of their multi-window apps: ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Window staggering
This should be really easy and I don't want to rediscover gravity so I'll ask first: does anyone here have a simple algorithm for staggering new windows in a multiwindow app? I've gotten spoiled by Cocoa, etc. which takes care of this for me but cloning a template window in Rev does not. Obviously, I could just move my new window a bit but I'm not sure how far and in any case, if the number of windows is large enough, we need to restart at the top. I figure someone has written this already?? Spence James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list use-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 software to black listed nations
On Apr 8, 2006, at 8:53 PM, Sivakatirswami wrote: Has anyone studied out carefully the issue of shipping Rev stacks to countries on the US state department embargo list? These being currently (found in many typical EULA's) Cuba, Iran, Iraq, Libya, North Korea, Sudan, Syria, military or police entities in South Africa, or any other country to which the United States has embargoed goods. Would there not be a difference between 1) the Rev IDE which give users tools to build software. 2) a standalone which does not. in terms of the embargo? Where do we find the precise definition of software that should not be shipped to these countries? Could a Standalone be conceived of as a product of software, like a PDF is a Product of Acrobat, but not Acrobat itself. I mean I can't imagine Adobe is breaking laws when some North Korean downloads a PDF from the web. Similalry, I'm wondering, if somone downloads a standalone application built with Revolution if this is a violation of the embargo or not. Unlike kee, I am a lawyer but know nothing about security law, ITAR, international law, or any other issue directly related to this question other than what I quickly looked up at the State Department web site so what I'm saying here is NOT legal advice. If you are close enough to the edge to really have a question about this, you are nuts if you don't go hire a real lawyer to check it out. kee has addressed the general issues and I am writing to make four points: 1) ITAR and the other law I looked at this morning, doesn't play games around whether the item or service is software or a product of software. It is generic and covers items and information that can be used for military purposes. 2) Forget US law for a moment, your Revolution license prohibits the distribution of Created Software to embargoed countries. Created Software includes stacks and files created using Revolution so again, it doesn't matter whether you try to call your stacks a product of software or whether it is a standalone. Note that the license applies whether you are in the United States (and therefore subject to US export restrictions) or not. 3) A PDF contains no executable code and in fact contains nothing that would violate the embargo other than the information contained in the PDF. Thus the example of Acrobat as versus PDF's created with Acrobat is not on point. The same may or may not be true for a Rev stack not compiled as a standalone but again, the license nevertheless prohibits you exporting the stack to Iran. 4) In any case, if you export a prohibited item to an embargoed country, say a PDF that shows how to build an atomic bomb, it is you that has a problem if anyone does. Adobe would not be breaking the law assuming they have distributed Acrobat under the terms of the G- DEST; you would. Similarly, if you use Rev to create a stack that controls an air defense system and sell it to the North Korean Air Force, big brother will come looking for you, not Revolution, not because Revolution is in Scotland and not subject to US law, but because they aren't the one exporting to North Korea. Whether you are in the United States and are subject to the embargo or are not in the US and thus are only subject to the Rev license, the question becomes how much you have to do to comply. I would suggest that is going to depend on what your product is. If you have produced a stack that you are distributing as freeware and which only contains pictures of yourself that you took with your new iMac and it's built in camera, I would probably not pay any attention at all other than to refuse to reply if I got an order with a return address in P'yongyang. If, on the other hand, you have written a stack for using your iMac to shoot down US spy satellites I probably would consult an attorney, regardless of how I intended to distribute the stack. In between, use your judgment. Spence James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Can't pass array function result as parameter
On Apr 2, 2006, at 12:33 AM, Jerry Daniels wrote: In Constellation's var watcher I fastidiously check each temp var and global to see if they have keys...if they do, then they are shown as arrays with keys, etc. I neglected to do this with params! I'll get this fixed tomorrow and put the fix up. James, if you could report back after the fix is in and let me know if it's working for you, that'd be great. Thanks, Jerry Of course it works! Fixed less than 12 hours after the bug report was filed. It wasn't even anything pressing as it was easy to work around once you knew it was happening. Jerry, you are amazing! Spence James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Can't pass array function result as parameter
On Apr 1, 2006, at 3:25 AM, David Burgun wrote: There's really no need to copy it entry by entry, you can just copy the whole array as in: put LibGetArray() into myArray1 put LibAnotherFunction(myArray1) into myArray2 --Here you could put it back into Array1 I do this all the time. What you can't do is this: put LibAnotherFunction (LibGetArray()) into myArrayX Just to bring this full circle, I finally figured out what was going on. I'm going to take the time to sum up what I figured out because it may save someone else some frustration. Background: Being more specific than I have been, I am testing for someone else a library of routines for accessing a MySQL database, something similar to Blue Mango's libDatabase (it's not mine which is why I've been a little careful about including any code from the library here). The test involves a simple database containing records of books, things like Title, Author, ISBN, etc. I was trying to get a record (representing a single book) from a database, modify it and then insert the modified record back into the database as a new record. The call to insert the record into the database was failing silently. My original problem: In my code, I was doing exactly what Dave suggests above. I called the equivalent of LibGetArray(), specifically calling a library function which returned the current record in the form of an array where each element of the array is a field of the record. I was putting this array into a local variable as Dave suggests above and the debugger showed that the local variable correctly contained a valid array. I then modified one element, the title of the book, in the array (in the local variable) and then passed the local variable to the equivalent of LibAnotherFunction(), specifically a handler which inserts a record in the database with the values contained in the array passed to it. My specific code which was failing: on mouseUp -- duplicates the current record in the database, appending -- (DUPLICATE) to the book title. local tRecordSet, tCurrentRecord, tTitle local tErrorNo,tErrorString try -- cRecordSet is a custom property containing a reference to -- to the current database cursor, i.e. a set of records -- from the database put the cRecordSet of this stack into tRecordSet -- the following puts the current record data into a -- Rev array using the database column names as the indices put dbGetRecordData(tRecordSet) into tCurrentRecord -- alter the title so we can see this is a duplicate book put tCurrentRecord[Title] into tTitle put (DUPLICATE) after tTitle put tTitle into tCurrentRecord[Title] -- dbInsert expects the name of a MySQL table and a Rev -- array containing the new record data, indexed by -- database column names. This fails dbInsert books, tCurrentRecord -- code to update the display omitted catch pException -- the above fails silently: we never catch an error here put item 1 of line 1 of pException into tErrorNo put item 2 of line 1 of pException into tErrorString answer ERROR: Unable to copy the book. Error = tErrorNo \ ( tErrorString )! end try end mouseUp What made this VERY frustrating was that I would walk through the above code and step into dbInsert in the debugger and what it showed was that tCurrentRecord was correctly being set by dbGetRecordData, the Title of the book was correctly getting changed in tCurrentRecord and tCurrentRecord was valid in the line calling dbInsert but in dbInsert, the second parameter was showing in the debugger as empty. The solution: In the end, the problem was NOT with the array passing but rather three unrelated bugs. The first arose because I was using Constellation's debugger and variable display. There is apparently a minor bug in how it shows arrays passed as parameters: in dbInsert it was showing the second parameter as empty even though I knew I was passing a valid array. In fact, while Constellation's display showed the parameter as empty, Rev's variable watcher, which I finally opened this morning, shows that the parameter is valid containing exactly what I passed. The other two bugs are related and I'm not sure if they are in the library I'm testing or in the Rev database library. First, some of the elements in the array returned from dbGetCurrentRecord were empty and I was passing those empty elements back to dbInsert. This causes the insertion to fail with a MySQL syntax error, although I haven't completely figured out why. Whatever, just to complete the perfect storm, dbInsert has a bug in that it looks for revdberr in the result of the SQL command which did the insert and as the error returned by MySQL did not contain this, no
Re: Can't pass array function result as parameter
On Mar 30, 2006, at 10:44 PM, J. Landman Gay wrote: James Spencer wrote: My problem is that while the debugger shows tArray in my mouseUp handler to be valid and shows it to have been correctly modified, when I step into the library code for LibUseDifferentArray, it shows pArray as empty and the processing fails. In order to get it to work I have had to copy tArray to a new array, element by element: Here's an old discussion that may help: http://lists.runrev.com/pipermail/metacard/2003-June/005126.html Basically, sometimes you can pass an array and sometimes you can't. Thanks Jacque. This helped and I believe it has to be describing the source of my problem although I haven't completely worked out the semantics for my particular case. Bottom line, it is not a bug per se but an artifact of how variables work. (What I will be playing with this weekend is why the sometimes you can pass an array doesn't seem to include put functionThatReturnsAnArray(tNonArrayParameter) into tArray put tArray into tAnotherArray handlerThatExpectsAnArray tAnotherArray although in all fairness, this may just be me being sloppy in how I tried variations on a theme. Spence James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Can't pass array function result as parameter
On Mar 31, 2006, at 8:59 PM, J. Landman Gay wrote: If all else fails, you can always declare a local script variable to hold the array and then just use that. No passing of anything required. Or you could try passing the variable by reference (add an @ sign in front of the parameter) which seems like it should work but I haven't tried it. I think both would probably work but the issue at the moment is that I did not write the library that is creating the original array and that eventually expects me to pass an array back. The author had no reason to know that the output from their function creating the array would be passed back to the other handler as there is no necessary connection between the two and I don't want to mess with the library code myself mostly because I'm being pedantic. What definitely works is to copy the array myself, element by element, to a local variable and then pass that back to the library. This works fine in this limited situation because the number of entries in these arrays (I hate the name; in this context, they are really a dictionary or a hash) is limited and is predetermined so doing the extra copying works fine. Spence James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Can't pass array function result as parameter
On Mar 30, 2006, at 10:00 AM, David Burgun wrote: Hi. Depending on how you have coded it, there will be 2 copies of the array, e.g. if you do this in the library: local sgLibArray function LibGetArray return sgLibArray end LibGetArray function LibChangeArray theArray,theKey,theData put theData into theArray[theKey] end LibChangeArray on mouseUp put LibGetArray() into myArray get LibChangeArray(myArray) end mouseUp Then there will be one copy of the array stored in gLibArray (in the library stack) and one stored in myArray (in the client stack). LibChangeArray() will change the copy in myArray and then return, the mouseUp handler will return and myArray will be destroyed. In order to fix this you'd have to add the following line to LibChangeArray: put theArray into sgLibArray AFAIK, this means the array is copied twice, there may be a way to save this copying by use of the @ keyword but if so I haven't been able to figure out how to do it. Thanks Dave but I didn't explain my problem well and while I will give the idea of different local variables existing in different handlers both in the library and in my code, I don't think this is the problem. To try and explain again: Assume LibGetArray() is a function like you have it above which returns an array. Assume LibUseDifferentArray is a handler which is passed an array as a parameter and does something with it. As far as the library is concerned there is no necessary connection between the two arrays. LibUseDifferentArray is defined as : on LibUseDifferentArray pArray -- process the array -- ... end I have been trying to call these handlers as follows: on mouseUp local tArray put LibGetArray() into tArray -- simplified modification of array: put tArray[Title] into tTitle put (DUPLICATE) after tTitle put tTitle into tArray[Title] LibUseDifferentArray tArray end mouseUp My problem is that while the debugger shows tArray in my mouseUp handler to be valid and shows it to have been correctly modified, when I step into the library code for LibUseDifferentArray, it shows pArray as empty and the processing fails. In order to get it to work I have had to copy tArray to a new array, element by element: on mouseUp local tArray, tNewArray put LibGetArray() into myArray -- simplified modification of array: put myArray[Title] into tTitle put (DUPLICATE) after tTitle put tTitle into tNewArray[Title] put tArray[SecondKey] into tNewArray[SecondKey] put tArray[ThirdKey] into tNewArray[ThirdKey] LibUseDifferentArray tNewArray end mouseUp One thing that I'm still exploring is that some of the elements of the array returned by LibGetArray() can be empty. I'm not sure if the problem is related to this but its the best I've come up with. James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Can't pass array function result as parameter
Can anyone confirm this problem. I'm getting an array from a function in a library. I modify that array and then pass it to a handler also in the library. The debugger is showing that the modified array is valid and contains what it should but the parameter in the library is shown as empty. I've found a work around by copying the elements of the array to a new array and passing that but obviously this should not be necessary. Bugzilla shows a bug in the Windows version of 2.7 that is probably the same bug, #3411, but there, the poster stated that they could resolve the problem by simply placing the array they are getting from the function into a temporary variable and then passing that where I'm seeing the problem even when I put it into a temp (as I'm necessarily doing as I modify the array before passing back to the library again. James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Can a constant be global?
On Mar 27, 2006, at 11:42 AM, J. Landman Gay wrote: Graham Samuel wrote: Yup, that's what I've always done in the past: I just thought constant declarations might help, Custom properties can act like global constants. This may be true but it strikes me as an expensive means of creating a global constant. The whole idea of constants in most languages is that they can be substituted by the compiler so they are a zero runtime cost. This would not be true for a property which as to be extracted from somewhere at run time. James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list use-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: Making the move...
On Mar 20, 2006, at 9:01 PM, Mark Smith wrote: I think the point is that when a variable is passed to a function/ handler 'normally', the data in it is duplicated, and if the data is big, this is not as efficient as passing it by reference - obviously, if you need to change the data in the called function/ handler, this may have unwanted side-effects, in which case passing it normally is going to be better. The problem you raise here is handled in more traditional languages by declaring the reference to be constant. It strikes me that it would not be a big change to expand the use of the constant keyword. Then in situations such as Sarah was talking about the handler/function would be declared as not changing the referred to variable, something like on myHandler constant @pByReferenceParameter -- following then should cause compiler error add 1 to @pByReferenceParameter end myHandler There is, of course, another use for references besides the efficiency of not having to copy large data structures: returning more than one value. This use doesn't suffer from the concern Sarah raises about having external effects as, when used this way, the parameter passed in should be empty. There isn't, of course, any guarantee of this other than the caller being careful and writer of the called function being careful to document that the parameter is used for output only. Spence James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list use-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: switch
On Mar 18, 2006, at 9:39 PM, John Tregea wrote: Hi, Just a question regarding the form many of you use for naming variables. I see a lot of variable names starting with 't' and wondered what it indicates. I use 'g' as a prefix for my global variables but that is all. John (Ready to say Duh...) T See http://www.fourthworld.com/embassy/articles/scriptstyle.html for a good set of guidelines which answer, among other things, your question but the short answer: t = temporary or local variable p = parameter k = constant s = static (or script local in xTalk) James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list use-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: Pass - is it really needed
On Mar 17, 2006, at 5:30 PM, Sarah Reichelt wrote: I agree. There is a very small list of handlers where I usually have a pass: openStack, preOpenStack, openCard, preOpenCard. Apart from that I almost never use pass, so I would prefer it if Constellation left it out and I added it manually when needed. You could add another preference: add pass to all new handlers add pass to system messages only never add pass ... and to be really perfect, a fourth preferences to add pass to system handlers selected from a list! Seriously, an option to add pass to system messages only would be very nice. Spence James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list use-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: Transcript and Dot Notation
On Feb 24, 2006, at 2:02 PM, Dan Shafer wrote: I am an object-oriented programmer by training and disposition. Every single object oriented programming language that I've used (and I have admittedly not used them all) with the single exception of Smalltalk (which I actually think got it right) uses dot notation. Java. JavaScript. Lingo. Ruby. Python. All of them. It is an accepted convention in OO languages where it is essential to identify methods and attributes with object namespaces. I'll let the rest of you hash this out but just to point out the other obvious exception to the implication that dot notation is somehow essentially ubiquitous in the OO world, I would point out that, ironically (because it is the primary language for the Mac at the moment), Objective C (which has some obvious Smalltalk influence) does not use dot notation for accessing instance variables. James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list use-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: System menus
On Feb 20, 2006, at 9:22 AM, Richard Gaskin wrote: Klaus Major wrote: Buongiorno Paul, Someone knows if the new Rev. 1.7 give some new chance to create a system menu on Mac Os X (the menus visible by all applications, as MenuCalendarClock, MenuMeters, iKey, etc.)? sorry, I'm afraid that is not possible with Rev :-/ It may be worth noting that there is no sanctioned API for that, as Apple considers those menus to be exclusively for their own use: Reserved for use by Apple, the right side of the menu bar may contain items that provide feedback on and access to certain hardware or network settings. http://developer.apple.com/documentation/UserExperience/Conceptual/ OSXHIGuidelines/XHIGMenus/chapter_16_section_4.html Third-party programs which make such menus for themselves do so by violating Apple's design mandate and effectively hacking the system. As already said, Rev does not provide such facilities so this is getting off-topic but the info here is not really correct. While it is true that there is no Apple sanctioned API for specifically Menu Bar Extras as referred to in the HIG material quoted above, Cocoa does provide an Apple sanctioned public API for the creation of Status Items (NSStatusItem). These are sort of weaker Menu Bar Extras (weaker in that the underlying application needs to be running for them to appear and you can't reorder them like you can Extras) but they are there regardless of which app is in front and they have the advantage that they can't bring the system down either. While a public API, Apple still discourages their use unless there is no alternative (say a Dock menu), ostensibly to save menu bar real estate. (I think it's also to avoid creating the nightmare of a Windows system tray.) The point is that not every third party program that is putting up one of these menus is hacking the system. I don't like these things so I don't have many up there but I note that Kensington's MouseWorks uses status items, not menu bar extras. The only way I could tell (short of looking at what processes are running) was to try to Cmd-drag the icon. Spence James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list use-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: System menus
On Feb 20, 2006, at 10:10 AM, Richard Gaskin wrote: As already said, Rev does not provide such facilities so this is getting off-topic but the info here is not really correct. While it is true that there is no Apple sanctioned API for specifically Menu Bar Extras as referred to in the HIG material quoted above, Cocoa does provide an Apple sanctioned public API for the creation of Status Items (NSStatusItem). These are sort of weaker Menu Bar Extras (weaker in that the underlying application needs to be running for them to appear and you can't reorder them like you can Extras) but they are there regardless of which app is in front and they have the advantage that they can't bring the system down either. While a public API, Apple still discourages their use unless there is no alternative (say a Dock menu), ostensibly to save menu bar real estate. (I think it's also to avoid creating the nightmare of a Windows system tray.) The point is that not every third party program that is putting up one of these menus is hacking the system. I don't like these things so I don't have many up there but I note that Kensington's MouseWorks uses status items, not menu bar extras. The only way I could tell (short of looking at what processes are running) was to try to Cmd-drag the icon. Thanks for the clarification, James. As long as Apple's backtracked from their original position, maybe a Bugzilla request is in order? It's hard to know how far Apple has backtracked: I get the sense that there is some internal differences. The HIG quote you gave is still very much valid showing a last update date of 2006-02-07 obviously long after NSStatusItem was made available (I think in OS X 10.1). Not that I think Rev should be artificially limited so as to act as a big brother in complying with good practices, I'm not convinced that this deserves a bugzilla request; IMHO even Status Items should be limited to hardware based stuff, system level programming that, again IMHO, Rev is not really suited for. Now dock menus on the other hand James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list use-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: Switch versus if/then/else ( was: Main menu puzzle, Klaus)
On Feb 19, 2006, at 10:10 AM, Glenn E. Fisher wrote: As a historical note, (I'm a very old programmer since 1962) back when I was writing compilers and emulators in B and C in the line editing mode ;-), the switch case statements were really needed. In these kinds of programs many many cases was the norm and the nested if..then..else just didn't cut it. So it depends on the scope of the problem which is the best. I can only claim to go back to '71 with Basic on a PDP-8 but let me say amen. It can be shown that switch statements are not necessary in the sense that you can always simulate a switch with an if/else construct but if the options are based on a single value which has more than two possible values, a switch is MUCH less subject to error than is if/else if/else if. It's not a strong argument against its use that beginners have trouble understanding the concept (although I'm not understanding what is so difficult about the concept). Beginners have terrible time getting the concepts of object oriented programming or exception handling too but these concepts have certainly resulted in much clearer, more maintainable code. BTW, IMHO the conversation about whether this is how we think in everyday life is not very helpful: we don't think with the binary logic of computer programs at all. E.g. we generally do not have a rigid list of who it might be at the door with a predetermined intention to take particular action depending on who it is. This kind of rigidity, however, is part and parcel of computer programming whether it be xTalk or C or Basic. James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list use-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: 2.7 Consensus
On Feb 19, 2006, at 11:13 AM, Mark Wieder wrote: Scott- Saturday, February 18, 2006, 9:05:32 PM, you wrote: As one of the folks who has gone back to 2.6.1, I'd say there's no problem with using 2.7. The things that bother me about the new release revolve around the inability to use the documentation in any reasonable fashion, the fact that IDE preferences don't get saved properly, and the disconnect between the stack file formats. If these don't get in your way then I don't see any reason not to move ahead. The 2.7 release seems stable, produces solid code, has a lot of nifty new features, and I really really really like the way the structure of the IDE is heading with the separation of components to allow for smooth upgrading. Just for a slightly dissenting opinion, I LIKE the new documentation and consider it a VAST improvement, both in terms of searching the dictionary for explicit terms (what I mostly need it for so I can see the syntax) and for the User Manual. I agree with your comments about the general stability of the IDE as well as the comments on saving the IDE perferences and the file formats. These latter two are serious enough problems however that I hope there is a 2.7.1 just to fix these two bugs sometime in the next week. James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list use-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: Minimum Mac specs for Rev 2.6.1?
On Feb 12, 2006, at 5:00 AM, Ken Apthorpe wrote: However, it would resolve one uncertainty for me if someone could say whether I have enough RAM to run it (and Finder). Previously: Mac is a G4 400 with 448MB RAM, OS 10.3.8 Jacque has been directly trying to assist in your problems but just to confirm that it's not your system, until fairly recently, I ran 2.6.1 on a G4 400 with 384 MB of RAM and it worked fine. The documentation was slow as has been noted but I wasn't getting unexplained freezes. Incidentally, I ran it under both an older version of 10.3.x and then Tiger. There's no question I prefer my new machine but mostly because of it's bigger monitor. BTW and for what it's worth, when I've had the system freeze while using RR, it has tended to be because I've got some script that's hung, typically because, idiot that I am, I've created some kind of infinite loop, very often involving preOpenCard or preOpenStack! Spence James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list use-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 return an error ?
On Feb 11, 2006, at 12:32 PM, Girard Damien wrote: I am making some useful library for my softwares, and I have got one problem. How I return an error ? Because when I use return, this doesn't work very great. on hellotest theNumber if isnumber(theNumber) is false then return error end if ... end hellotest I don't understand the problem; you can return whatever you want: on hellotest pTheNumber if not isnumber(pTheNumber) then return ERROR: ' pTheNumber ' is not a number. end if ... end hellotest then in the calling handler, just test the result: ... hellotest someValue if the result is not empty then handleError the result else handleSuccess end if ... Spence James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list use-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: Discontinued Software, The Law, Morals and Hypercard
On Jan 22, 2006, at 4:19 AM, Mathewson wrote: Recently I had an interesting correspondence with a lawyer in the US stimulated by my earlier posting re Apple and Hypercard. The reasons behind my previous posting were: ... sincerely, Richmond Mathewson This is off-topic and massively embarrassing to me personally but I feel I need to apologize to the list as I'm the dimwitted lawyer that this turkey is referring to. In mitigation, I was trying to help out someone who I thought was acting in good faith, not some ass from a banana republic who wants to promote software piracy in a developers group. I certainly never suggested to him that should he offer to distribute HC for free on the internet that it would be legal much less morally OK. Just to make the record clear (after all I am a lawyer :)), I offer the following and then I will drop this conversation altogether. Mathewson wrote the list asking about whether HC had become abandonware. I assumed he was asking the question in good faith but as this has been discussed ad nauseum here and in related forums, I answered him off list, clearly and unambiguously stating there is no such thing as abandonware and Apple still holds the copyright to HC which they are actively protecting. They are doing so because HC contains technology that Apple is apparently still using or intending to use and which they do not wish to put into the public domain. He replied privately saying: Thank you very much for your message: although it does not excite me I thought that was the case. Presumably then, it would be illegal for me to send a copy of my licensed version of Hypercard to a friend? For right or wrong, I took this to be a real question from someone trying to do the right thing. My reply contained the disclaimers he mentions, specifically that a) despite being a lawyer, we had no attorney/client relationship and so he should not consider what I was saying as legal advice, and b) that I had no particular expertise in intellectual property law so he should take my comments as being for educational purposes only. With that, what I said was that if he privately gave a copy to a friend, Apple wasn't going to do anything about it, that as Apple wasn't even selling the product anymore, their concern would be anyone who openly and notoriously copied it such as putting it up for download on their web site or publicly offering to sell copies as such activities could impact their rights in the code. I finished with Yes, it is technically illegal to make the copy and as a programmer I suppose we should be telling you not to do it but as you can't buy the product and normally I'm pretty hostile to illegal copying but it's really hard to get too wrapped up about this. Beyond the lousy grammar, I did not in any way suggest, or at least didn't mean to suggest, that making a private copy for a friend would include publicly offering to copy for everyone on the internet who asked because after all aren't we all friends. Apple legally owns the rights to HC and they can do with it what they want whether some yahoo in Bulgaria (or Minnesota for that matter) thinks its OK or not. Again my apologies for wasting the list's time and, if inadvertently, encouraging this guy. I won't make the same mistake again. Spence James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list use-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: Bundle Identifier
I suspect that the tooltip is not only not terribly helpful but is also a typo and should be CFBundleIdentifier which is used by the preferences system. From Apple's documentation: This key specifies a unique identifier string for the bundle. This identifier should be in the form of a Java-style package name, for example com.mycompany.myapp. The bundle identifier can be used to locate the bundle at runtime. The preferences system uses this string to identify applications uniquely. (The key referred to here is the key in the info plist) Spence James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! On Jan 14, 2006, at 2:45 PM, Marty Knapp wrote: Hi all, In the standalone setting for an OSX build, there's a piece of information refered to as the Bundle Indentifier and the tooltip says NSBundleIdentifier. I don't see anything in the Docs about it. What is this and do I need to be concerned with it? Thanks, Marty Knapp ___ use-revolution mailing list use-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: show vs visible
On Dec 4, 2005, at 8:35 AM, Marty Billingsley wrote: Just asking if Transcript, which has been made English-like in the first instance (the setting of the property by using the verb hide) can be extended to be English-like in the second instance (accessing the state of the property by using the adjective hidden). The thing that prevents any programming language from completely matching English (and I suspect any other language although I'm not a linguist so maybe this is wrong) is that English is not a precise language; English statements are unambiguous. Context helps but does not resolve the issue. Programming languages, at least until such time as someone comes up with one which is capable of divining what we want the computer to do w rather than what we told it to do, MUST be unambiguous. The ambiguity here is that is generally essentially means equivalence or identity but you want to use it here to mean has the property of. Thus the issue is not really the problem of hide versus hidden, verb vs. adjective, but rather the explicit nature of is. Field xxx is NOT hidden, it is Field xxx or some other designation which defines the same. I am Jim Spencer or Employee 2137 or the man who lives at a particular address in Rochester; I am not fat even if I am and even if that would be correct conversational English. Yes, you can special case particular words like hidden but that may be worse: now you have to remember or look up to see if this is one of the verbs that sets a property that you can refer to by its adjective. I personally prefer linguistic consistency even if it sometimes requires a statement form which would be awkward (but note: not incorrect) in conversational speech. James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list use-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: tmalign in gadgetbar
On Nov 13, 2005, at 11:22 AM, Bob Hartley wrote: Hi All. i have tmalign in the gadgets folder but refreshing the gadgetbar to the gadgets folder does not show tmal;igh in the gadgetbar grouping. Anyone know the problem. I'm on winXP Because you are on winXP, there may be something else but make sure you have the latest version of tmalign. It's only in recent versions that the necessary object has been present to permit tmalign to appear on gadgetbar. James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list use-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: Constellation's Great, But the Rev IDE Doesn't Suck
On Oct 17, 2005, at 8:11 PM, [EMAIL PROTECTED] wrote: Dan, I, for one, think you are being way too kind to the Rev IDE. The debugger opens at random sizes. Buttons and bits of buttons float around the script editor. Opening the Variable Watcher opens the Object Inspector (on top of the VW window on my system). The Variable Watcher doesn't watch variables reliably (the clickLine is a particular problem in my work). Hard to believe a Version 2.x product could have so many basic flaws and rough edges and quirks. Go Jerry, go! Paul Looney I disagree. We are not at version 2.x, we are 2.6.1. At 2.1 your comment was valid but in its current incarnation, I find the IDE, at least the OS X IDE, to be a solid useable product. It is not perfect but it's close enough for government work. The fact is that Rev is an incredibly complicated product and perfection is not to be expected. I'm always astounded at how well it works. That having been said, one of the really, really cool things about Rev is that the IDE is infinitely extendable and modifiable: if its work flow bugs you, then change it. In this regard, I completely agree with Dan's comments. As good as the standard IDE is, for me Constellation is a great, great tool, one that for my purposes really enhances Rev and makes me just want to write applications and lets me do so faster. This environment, enhanced with Constellation and its related tools, is simply a blast and I think I'll go write some code. Spence James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list use-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 beginning SQL/Rev question
On Oct 9, 2005, at 1:26 PM, Charles Hartman wrote: Something I don't understand about the revExecuteSQL command. I open my MySQL database and get an id. Now, to make later steps more general purposes, I'd like to ask the database for the structure of one of its tables (number of columns, column names) rather than hardwiring that into the Rev front-end. So I should be able to create a global myArray and then with my dbID in hand, revExecuteSQL dbID, show columns in myTable, myArray (taking care to put quotes around myArray as the docs say). Trouble is, nothing shows up in myArray, or anywhere else as far as I can see. Using a variable (or several) instead of myArray doesn't help, neither does putting some dummy stuff () into myArray[1], myArray[2], etc., ahead of time. What am I not understanding? I'm not sure why this isn't working but then I find proper use of revExecuteSQL to be a black art but what may work better in any case is to use revDatabase (ColumnCount, ColumnNames, etc) rather than using revExecuteSQL. James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list use-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: CS Notification Center
On Sep 20, 2005, at 1:32 AM, Paul Claude wrote: Anyone have idea about how to use the Apple's CSNotificationCenter ( http://developer.apple.com/documentation/CoreFoundation/Reference/ CFNotifica tionCenterRef/index.html) to read informations of other applications from a Revolution stack? Take a look at XcodeClientServer Sample Code from Apple for a real simple example of how it works but the basic idea is your other application posts notifications to the distributed notification center and your client program can register to receive them. The other applications necessarily need to be written so as to post those notifications and your application needs to be written to receive them. Spence James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list use-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: Bad Idea To Disable an 'Edit' Menu
On Aug 20, 2005, at 1:16 AM, MisterX wrote: Hi Ken This seems more like an OS behavior than a Rev problem doesn't it? It sure should be made aware for those developping on PCs hoping to deploy on osx... ... -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Ken Ray Sent: Saturday, August 20, 2005 08:04 To: Use Revolution List Subject: Bad Idea To Disable an 'Edit' Menu Just passing along an interesting tidbit of information that I just ran into: If your application has an 'Edit' menu AND it has a 'Preferences' menu item AND you deploy to Mac OS X, then you should never disable the entire Edit menu (you should leave the menu itself enabled, but individually disable the items you want to prevent users from executing). The reason is that under OS X, the Preferences menu item disappears from the bottom of the Edit menu and appears under the Application menu. This item is *always* appears enabled under the Application menu, but if you've disabled the Edit menu, selecting Preferences from the Application menu *won't work*. Now, this may just be a bug (I'll log it as such), but until it's fixed or documented, you should disable the individual items in the menu and not the menu itself. Ken, have you logged this yet so I can go vote for it. Personally I think it is clearly a bug. MisterX is incorrect, this is not OS behavior. The placement of the preferences item at the end of the Edit menu and then moving it on OS X is pure Rev. Whatever, thank you for pointing it out. I had not noticed it but I have a couple of stacks where the problem exists and I am glad to fix it before my users find it. Spence ___ use-revolution mailing list use-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: Bad Idea To Disable an 'Edit' Menu
On Aug 20, 2005, at 2:18 PM, Richard Gaskin wrote: Ken Ray wrote: Well, actually it's not as common to do that in Windows apps as in Mac - they usually don't have Preferences under the Edit menu; they have Options under the Tools menu, or if it does have Preferences, it's not under the Edit menu (I've seen it under Configure, or File, etc.). And here we enter the Windows World of Sometimes: ... Amen. I certainly would not look to Windows for how to handle preference items as there is NO consistency not even within Microsoft's products. That said, I have been convinced by the discussion here that I should not be disabling the Edit menu in its entirety but rather should disable the individual items. I am glad this problem was pointed out as it is making me fix my app. That said as well, I still think the way Rev is handling the Preference item, i.e. disabling it even though it has been moved on a Mac OS X system, is a bug. I understand how it occurs but the special handling that moves the menu item should also handle enabling the item as well. Spence ___ use-revolution mailing list use-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: Error description: recursionLimit: Recursion limit reached
On Aug 7, 2005, at 4:52 PM, Hershel Fisch wrote: Hi all what is the meaning for this error Error description: recursionLimit: Recursion limit reached Thans, Hershel ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution Recursion is when a function (or handler in the case of Rev) calls itself. There are many situations where recursion is a pretty good way to solve a problem, the classic example being calculating a factorial which can be calculated as: function factorial number if number = 1 then return 1 else return number * factorial(number - 1) end if end factorial The error message arises because each time you recurse, information is stored in the memory of the computer so it can no how to return back up the chain once it gets to the beginning (where number = 1 in the example). Obviously, there is a limit to how many times you can call factorial() without breaking the program. The actual limits are variable depending on the parameters passed etc. More typically, the problem arises because you accidentally have a handler that is calling itself in an endless loop. Spence James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list use-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: SCRIPTS IN GROUPS
On Aug 6, 2005, at 11:56 AM, Dan Shafer wrote: While I'm not sure this can be characterized as a bug, I'd call it a surprising feature. And it has a particularly intriguing problem if you have multiple background groups. In that case, the background groups live in layers, of course, each of which is the effective size of the card. So the topmost background intercepts all mouseUps (and presumably other such messages) that fall outside the bounds of any object or other group on the card. I can see where that might cause a programming dilemma or at least confusion. I don't think it's necessary to avoid putting scripts in groups, but it is necessary to be careful what messages you write scripts for in the groups so that you can handle the flow of messages properly. I'm actually surprised to hear you, as a HyperCard user, say this, i.e. that is a surprising feature. I may be wrong about this but I had thought the background property was implemented in large part for compatability with HyperCard. And while it's been years since I've used HC, as I recall in HC, a click outside any other objects would go through to the background which covered the entire card. Personally, the feature that I found surprising when I started using rev was that you could have more than one background. Spence James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: a few geometry questions...
On Aug 6, 2005, at 8:53 PM, TJ Frame wrote: Hi everyone, 1) If I have the points A and B, how would I determine point C that lies along the slope but is X units in length from the origin (which will always be point A) I can find the total distance between A and B or the midpoint using the distance and midpoint formulas, but I'm not sure how to plug in a specific distance value. It's late and I'm fuzzy so I'm sure this can be optimized particularly as I'm not sure how good Rev is at geometric functions but without using them, given distance A to C is X assuming you have calculated that the distance from A to B is Y and (continuing to use these letters as variable names) put X / Y into tRatio put tRatio * (item 1 of B - item 1 of A) into Cx put tRatio * (item 2 of B - item 2 of A) into Cy put Cx comma Cy into C 2) I also need to be able to find out where a circle of a given radius whose orgin is at A intersects that imaginary line. Given that A will always be the origin of the circle and I only want the single intersection heading towards point B I wouldn't need to check for all possible solutions such as non-intersection etc. This is exactly the same problem as 1). Just substitute the radius of the circle for distance X James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list use-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: global problems
On Aug 2, 2005, at 6:13 PM, Richard Gaskin wrote: In any language I've worked with, you declare a global and it stays in memory until you delete it or quit the program. I don't know of any language that deletes globals automatically based on whether the app closes or opens files from disk. This of course brings us back to the real issue here. What is different about Rev as versus other most other languages from Think Pascal through Xcode Objective C is that when you are running a stack in the IDE, the IDE IS the app and as you note, globals stick around until the app exits or you delete them. The remarkably tight integration between the projects we are building and the IDE itself requires a concept change in many areas, not just globals, e.g. messaging. When I send an Objective C message in an Xcode program, even with ZeroLink on, that message is not going to get to Xcode itself. But system messages that I don't handle can get to all kinds of places I didn't expect. Rev is just different in this regard and because of that difference, you need and want the behavior to be exactly what it is because the only way the IDE could tell that you want a certain group of stacks to be considered an app would be by limiting the flexibility we have now. Yes, this requires that the programmer be aware of possible side effects in and from other stacks but that is no more true for globals than it is for say the preopenstack message. James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: [ANN] Scripter's Scrapbook 5.02 upgrade
On Jul 28, 2005, at 6:32 AM, [EMAIL PROTECTED] wrote: - Existing Users should update from the Help menu. The update will be located in a 'new version' folder for you. (Version 5 Users will find that all their existing Entries, settings, preferences and personal plugins will be automatically transfered for them.) Except it reports no new version from 5.01 so doesn't do the download. James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Rev 2.6 docs slow?
Yea, I think there's something wrong here. Expanding topic's is similarly slow. I thought we had the documentation problems licked. Spence James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! On Jun 6, 2005, at 9:24 PM, Michael J. Lew wrote: I've downloaded 2.6 and LOVE seeing array content in the debugger. However, the docs have become impossibly slow (a minute or so to show the topics). Anyone else see that? Regards, -- Michael J. Lew Senior Lecturer Department of Pharmacology The University of Melbourne Parkville 3010 Victoria Australia Phone +613 8344 8304 ** New email address: [EMAIL PROTECTED] ** ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: To Rev or not to Rev
On May 2, 2005, at 9:28 AM, Geoff Canyon wrote: Setting those aside, Rev lacks several characteristics most people consider inherent to OO. That doesn't make it bad or good, necessarily. When this thread started, my reaction was because of these missing characteristics, I would have said that Rev is not OO except in a way that doesn't reflect the general benefits of OOP. But the more I think about it, with the benefit of the comments here, I've come to the conclusion that while it is missing some OO characteristics, it also possesses some very significant features that are missing from languages that are considered (at least by some) to be more traditionally OO. Specifically, the more I use Objective C with its dynamic messaging, which is very similar in many ways to Rev's messaging, the more I realize C++'s lacks in this regard. For another example, one cannot write handlers except in the context of an object: an instance of a button, a group, a card, a stack, or whatever; it simply doesn't permit non-OO programming. Having said all that, it really doesn't matter and as you say, none of this is, in itself, good or bad. Rev (and it's related environments such as HC, SC, etc.) can't even be analyzed using traditional computer science analysis. It's just different which is what makes it so damn great! Spence James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: To Rev or not to Rev
On Apr 30, 2005, at 1:50 PM, Dan Shafer wrote: But that's moot. Nobody's going to do either. Java is good for some things for which Rev is not suited (mostly apps requiring lots of interaction with system-level resources and multi-programmer projects) and Rev is good for some things for which Java is either overkill or cumbersome (almost everything else...LOL). Amen. Everytime I see one of these language wars start up I'm always amazed that folks have forgotten that these are TOOLS and like hardware tools, each tool has certain jobs that it is best suited for. There are lots of different hammers out there but I would not use a tack hammer for the same job that I would use an 8 lb maul. That does not mean that a tack hammer is better or worse than a maul. (This is not to say there are personal preferences; IMHO, for things that Rev is not good for, I would use almost anything rather than Java which I don't much care for.) Spence James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: [ANN] Reminder - online scripting conferences
On Apr 29, 2005, at 8:47 PM, J. Landman Gay wrote: On 4/29/05 5:49 PM, Alex Tweedly wrote: J. Landman Gay wrote: We're on Daylight Savings Time right now, so everything shifted one hour. EST right now is -4. This fall, it will be -5 again. At least, I think so, because I'm in Central time zone and we are at -5 right now. Actually, EST never changes - right now the East Coast states are on EDT (Eastern Daylight Time) which is UTC-4 EST is (and always will be) UTC-5. Ack. There is no denying your logic. ;) And here Heather even got in touch with me to double-check the time conversion, and I was, like, Yeah, that's right...oh wait, no, it should be an hour earlier...oh! no wait, I'm wrong, it's, um...yeah, okay, that's right. I was so busy figuring out the numbers I forgot to look at the letters. UTC is close enough to GMT for our purposes (they can vary by up to 0.9 of a second !!) Okay, that's it. I have the solution. We all stay online for 24 hours nonstop so we don't miss anybody. And no fair sleeping. For those of us who can't do this (stay online for the next 24 hours) :), what time is the conference: 3:30 GMT or 11:30 EST? Actually what I really want to know is whether it is at 11:30 Minneapolis time or 10:30 Minneapolis time (just in case you have problems converting from Minneapolis to Rochester time zones). Spence ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: mouseDown/mouseUp problem
On Mar 16, 2005, at 12:40 PM, J. Landman Gay wrote: On 3/15/05 9:16 PM, James Spencer wrote: I've got a button which, when it is pressed and held, I want to do some things (brief and repetitive) and then do some other things once it is released. I've got handlers in the button script: on mouseDown repeat while the mouse is down -- do stuff repeatedly while mouse is down end repeat -- do some quick cleanup code before exiting end mouseDown on mouseUp -- do stuff now that the button as been released end mouseUp My mouseUp handler is not being called. Well that's not really true; it has been called exactly once in maybe a couple of dozen trials. This all used to work the same as it does in HyperCard back in the Beginning Of MC Time, but the behavior changed a few years ago. Tracking mouseup within a loop was CPU-intensive and Scott Raney wanted to change the behavior to make MetaCard more efficient. There was some discussion on the mailing list about it (and about how it would break legacy stacks,) but eventually it was decided that mouseup would no longer be cached in the event queue; instead it would only be sent if the mouse were actually going up at exactly the moment the script encountered the test command. The HC-style loop polling is strongly discouraged in MC/Revolution. It was sort of okay to do in OS 9 because there wasn't really any multi-tasking, but with modern OS architecture, polling the mouse can bring some systems to their knees if the loop goes on long enough. So what you need to do instead, which is much more efficient and friendly, is this: http://www.hyperactivesw.com/polling.html I think it was Chipp who posted a briefer response with the same technique, but this web page may give you some additional ideas. Thank you (and Chipp and PL) for the answer to the question which was more of a matter of curiosity than anything else. I had planned to change this to not use polling anyway but was fiddling and couldn't make this work and was simply wondering why. Interestingly, Dan Shafer, while being clear about the downside of using the polling functions (and citing your article Jacque), actually has code almost identical to mine in his laboratory exercise on page 129 asserting tht this approach would work fine. Spence James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
mouseDown/mouseUp problem
I've got a button which, when it is pressed and held, I want to do some things (brief and repetitive) and then do some other things once it is released. I've got handlers in the button script: on mouseDown repeat while the mouse is down -- do stuff repeatedly while mouse is down end repeat -- do some quick cleanup code before exiting end mouseDown on mouseUp -- do stuff now that the button as been released end mouseUp My mouseUp handler is not being called. Well that's not really true; it has been called exactly once in maybe a couple of dozen trials. I haven't been able to repeat this and I have no idea what was different the one time that the mouseUp message was sent. To mention the obvious, the message watcher shows me that the mouseUp message simply isn't being sent. I assume I am running into some well-documented process where my repeat in the mouseDown handler eats the mouseUp but I'm not seeing it. Can someone give me some guidance? For what it is worth this is under Mac OS X 10.3.8 James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list use-revolution@lists.runrev.com http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Standard Images
On Nov 20, 2004, at 11:15 PM, J. Landman Gay wrote: On 11/20/04 3:12 PM, James Spencer wrote: OK, one last stupid question and I'll have this thing beat. My button icons are all working fine but what aren't are icons for the answer dialogs: generally I've called for answer question My prompt? with Yes or No but it doesn't matter if the iconType parameter passed to answer is question, information, or nothing. I get a good icon when I run the app in the RR environment but nothing as a standalone. Any guesses? Sounds like the images aren't getting copied over to the standalone; what happens if you specifically set the gRevAppIcon to an existing image in the stack (just for testing)? Actually, if I had bothered to read the documentation (although I will take the opportunity to once again whine about the crappy nature of the documentation; you have to be an absolute mind reader to find things), with reference to gRevAppIcon and gRevSmallAppIcon, it really answers my question. As you guessed, it appears that the standard RR icons are not copied over. Interestingly, I haven't been able to get them to copy over even if I make a button that uses one of them as the icon (I was going to just use standard RR icons for this quick and dirty app but it appears that is not easily possible). But I can set these globals to any other images in my open stacks and then things work fine. Thank you again for the help. James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Standard Images
On Nov 21, 2004, at 1:15 PM, Judy Perry wrote: All the docs and learning materials are a huge improvement. Perhaps it is the sheer complexity of the language that makes one feel as if a mindreader's services are necessary. I disagree; I regularly write applications with Cocoa using Objective C and Xcode. I'm also fairly fluent in C++ and Java and have over the years used a lot of different environments and languages. Cocoa and Xcode have been heavily criticized for their documentation but frankly, they put RR's to shame. RR's scripting language and environment are complex but not inordinately so. The problem is that while the documents as provided are pretty good REFERENCES if you know what key word to look for, there is no overview or conceptual documents. It's as though Apple produced Cocoa with literally nothing but the class library documentation. These kinds of conceptual documentation are critical considering the unusual nature of the RR environment. The tutorials are in the right direction but they don't cover an awful lot of subjects. Dan Shafer's books also might serve this purpose if they are ever published and if they are available at reasonable cost (i.e. they should come in electronic form with the license fee). All of this, of course, is just one person's opinion. Please note, I'm not complaining just to hear myself rant. I think RR is a great product, I will continue to use it and I hope it has wild success. I just think it would be more successful and certainly more useful if it were a little easier to step into. It is difficult to use even for experienced programmers and/or those coming to RR with a HyperCard background. The documentation as it exists does not make it easier. (BTW, as an aside I join in Stephen's complaint about the sheet that advises that there are no matches in searching for documentation; it is very irritating trying to get rid of it if you manage to quickly type several characters past the last match). Spence James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Standard Images
On Nov 21, 2004, at 12:16 PM, J. Landman Gay wrote: As you guessed, it appears that the standard RR icons are not copied over. Interestingly, I haven't been able to get them to copy over even if I make a button that uses one of them as the icon (I was going to just use standard RR icons for this quick and dirty app but it appears that is not easily possible). But I can set these globals to any other images in my open stacks and then things work fine. This sounds like something that ought to go into Bugzilla. It seems to me that these images should get placed into standalones if ask or answer is used in the stack. If you don't want to submit it, let me know and I'll do it. Bugzilla is here: http://support.runrev.com/bugdatabase I'm glad to submit it; I just wanted to be sure that it is in fact a bug before doing so. It does appear that there is fact some kind of significant bug here. I jumped the gun in saying things work fine if I set the globals to existing images. The large icon will appear correctly in answer dialogs if the iconType is omitted but for the other types, which in OS X should badge a standard icon with the small app icon, only the small icon is appearing, correctly located where the badge should be, but without the large standard icon. The latter is not appearing, just a blank space. Going along with this is the question of what the fields in the standalone settings for OS X mean. I could swear that I saw somewhere (either an archived message or in the docs or a Bugzilla report) that one should be able to set gRevAppIcon and gRevSmallAppIcon in the dialog. I can't find the source of that idea but certainly the language of the labels in the dialog, i.e. Icons to display on ask and answer dialogs would seem to indicate this. However, it doesn't work for me. If I want any icons at all in my answer dialogs in the standalone, I need to have the image somewhere in my application and need to explictly set the globals. Whatever, unless someone here tells me that I'm screwing up (admittedly even with RR's bugs, that this is my own foolishness is a more likely prospect) I'll submit it to Bugzilla shortly. I'm just surprised no one has complained about this if it is a bug. Spence James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
Standard images
I know this question has been asked but in going through the archives, the only solution I've seen was very general and I didn't really understand the details. I've got an old project that I've been working on short of on-and-off since Rev 2.0 or so. I made the mistake of using Rev's standard icons from the Image Library. Back when adding these to the stand-alone was no problem but I've just realized that 2.5 doesn't provide a mechanism for automatically including the standard icons. Short of prowling through stacks with low level tools (or worse IMHO considering the quick and dirty nature of this application) redoing all of the images, is there a way to bring the standard icons into my standalone? I've tried adding revGeneralIcons to my standalone with no effect. James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Standard images
On Nov 20, 2004, at 11:15 AM, J. Landman Gay wrote: On 11/20/04 10:22 AM, James Spencer wrote: I know this question has been asked but in going through the archives, the only solution I've seen was very general and I didn't really understand the details. I've got an old project that I've been working on short of on-and-off since Rev 2.0 or so. I made the mistake of using Rev's standard icons from the Image Library. Back when adding these to the stand-alone was no problem but I've just realized that 2.5 doesn't provide a mechanism for automatically including the standard icons. Short of prowling through stacks with low level tools (or worse IMHO considering the quick and dirty nature of this application) redoing all of the images, is there a way to bring the standard icons into my standalone? I've tried adding revGeneralIcons to my standalone with no effect. I think this is automatic now, and there is no longer an interface for it. The standalone builder will scan all your button icons and include those the stack is using. Is it not working that way? Yes in fact it is working that way, thank you very much. The problem was that the icons are in fact not needed by the standalone file but rather were needed by a couple of free standing stacks in separate files (so they can be modified by the standalone) so the icons weren't being copied. The solution was simply to add an extra card to my splash card stack that never get's seen but contains copies of the buttons with their icons. The package now works correctly. Thanks again. Spence James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Standard Images
On Nov 20, 2004, at 11:15 AM, J. Landman Gay wrote: On 11/20/04 10:22 AM, James Spencer wrote: I know this question has been asked but in going through the archives, the only solution I've seen was very general and I didn't really understand the details. I've got an old project that I've been working on short of on-and-off since Rev 2.0 or so. I made the mistake of using Rev's standard icons from the Image Library. Back when adding these to the stand-alone was no problem but I've just realized that 2.5 doesn't provide a mechanism for automatically including the standard icons. Short of prowling through stacks with low level tools (or worse IMHO considering the quick and dirty nature of this application) redoing all of the images, is there a way to bring the standard icons into my standalone? I've tried adding revGeneralIcons to my standalone with no effect. I think this is automatic now, and there is no longer an interface for it. The standalone builder will scan all your button icons and include those the stack is using. Is it not working that way? Yes in fact it is working that way, thank you very much. The problem was that the icons are in fact not needed by the standalone file but rather were needed by a couple of free standing stacks in separate files (so they can be modified by the standalone) so the icons weren't being copied. The solution was simply to add an extra card to my splash card stack that never get's seen but contains copies of the buttons with their icons. The package now works correctly. Thanks again. OK, one last stupid question and I'll have this thing beat. My button icons are all working fine but what aren't are icons for the answer dialogs: generally I've called for answer question My prompt? with Yes or No but it doesn't matter if the iconType parameter passed to answer is question, information, or nothing. I get a good icon when I run the app in the RR environment but nothing as a standalone. Any guesses? James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
Menus
Menus are just plain driving me nuts and I'm hoping someone can at least explain this behavior with the goal that maybe I can understand what is happening for future reference. The particular project at hand uses four stacks, one of which is really nothing more than a splash screen although it also contains some utility stuff for manipulating the other stacks. The actual application primarily consists of two other stacks. The fourth stack is, at Sarah Reichelt's suggestion (thank you again Sarah) a stack I use just for menu development so I don't have to sweat the nonsense of how Mac menus are handled. I created my main menu bar on that stack (the group is named Main Menu Bar) and I use it in the other three stacks by set menuBar of this stack to Main Menu Bar. Then, because at one time, I had thought it would be helpful to have a different set of menus when the utilities in the first stack were displayed, I copied my Main Menu Bar, named this second bar Utility Menus and had a line in my preOpenStack handler in the utility stack to set MenuBar of this stack to Utility Menus. Again, this worked fine and I could change back and forth with the correct menus being displayed. I eventually decided I did not need this second set of menus, that the one set would work fine for all purposes just enabling and disabling items (as an aside I've reached the conclusion that one thing I don't like in Rev's development environment over working with say Xcode/InterfaceBuilder or other IDE's is how dramatically the menus change depending on context but that's just me) as appropriate. So, I DELETED the Utility Menus group from my menu stack. I've gone through all four stacks with the application browser and the group with it's corresponding buttons are definitely gone. Now, here's what I don't get. I forgot to delete out my line of script in the utility stack that set menuBar of this stack to Utility Menus and lo and behold, the old menu bar, the one that doesn't seem to be in the stack anywhere, continues to appear when the utility stack is in front. How can this be? I've got my application working correctly now by changing the set menuBar line to set the correct menu bar but how come I wasn't getting an error when I was setting the menuBar to a non-existent menu? Inquiring minds simply would like to know. Spence James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
Re: More 2.5 weirdness
On Sep 27, 2004, at 5:18 PM, J. Landman Gay wrote: On 9/27/04 4:39 PM, Howard Bornstein wrote: Boy, V2.5 is now starting to act very squirly. I get into a situation where combo and popup buttons will no longer pop open. Not only the buttons on my stack, but also the buttons on the property inspector. So the little Arrow button at the top-right of the inspector no longer works, the popup, which show Basic Properties as its first choice doesn't work, etc. Most other things seem to work. This happens after my script sets the labels of some combo-buttons in my stack. That's about the only thing related that I'm doing that I can think of. Closing a stack and re-opening it doesn't fix this. I have to quit and restart Rev. Anybody seen this? Yeah. In the property inspector, same as you describe, where the popup that lets you change from basic properties to the other sets doesn't pop down. I wasn't changing any labels on anything, so I have no clue what caused it. I haven't bugzilla'ed it yet because I can't figure out a recipe. I saw this for a while but like you was never able to come up with a recipe so never Bugzilla'ed it. I will say, however, that the problem arose at the same time that I created a really wierd infinite recursion through a preOpenStack handler in a main stack which did a time delayed call to another handler which opened a different stack which did not have a preOpenStack handler so the main stack's preOpenStack handler got called, etc. etc. etc. When I got rid of the recursion, my property inspector worked again too although I can't begin to explain why the recursion would cause the behavior I saw in the inspector. Spence James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Copying Menus
On Sep 6, 2004, at 10:41 PM, Sarah Reichelt wrote: I suggest making a separate sub-stack and MOVING your original menu group to it, where it can be set to non-Mac style for easy editing. If you call it Menu1, then in your main stack's preOpenStack handler, you can say: set the menuBar of this stack to Menu1 Back to the menu editing stack, duplicate the group, edit the new one as you see fit, call it Menu2 or whatever you like, and use the same type of script to set the menubar for stack 2. I have given up using the Mac-style menus in favor of having them in separate stacks. It makes them easier to edit and I don't have any problems with the objects being relocated or the stack window being resized. Thanks for this suggestion. While not directly taking care of the problems I was having, it is nice workaround that has solved all kinds of issues with respect to menu creation. James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Project Builder Question (External Related)
On Sep 5, 2004, at 12:38 PM, K wrote: I am sorry for my Project Builder ignorance I am used to using Code Warrior (*NIX development) and Visual Studio (Win32 Development). I seems to be experiencing linking problems with the stanard C/C++ library. Simple example: NOTE: This is a C version I experience simular problems with may c++ version. #include stdlib.h void somefunction( revolution/mc signature) { int result ; char *mcResult_ptr = calloc( (sizeof(int)*8+1), sizeof(char) ) ; //Do something.. itoa( result, mcResult_ptr, 10 ) ; } Here even though itoa is included via stdlib.h the linker will be unable to locate it. I assume the glibc/c-lib is not being linked. How do I correct this in Project Builder? You really should ask this in a basic C group or list as it not only has nothing to do with Rev but actually has nothing to do with ProjectBuilder (or Xcode which is what you should be using) or, for that matter, isn't really a linker error. (It is also hard to give help when you don't give us the error messages but the immediate error is fairly obvious in the above). Having said that, the problem in your example is that itoa() is NOT part of the standard lib and a basic search of stdlib.h will tell you that it is not declared there. If you try to build this code in CodeWarrior, with the standard settings, you will get a compile time error for failing to declare itoa. (I don't know what Visual Studio will do; they may have defined itoa() in the environment; if not, then you will get some kind of error there but it could be a compiler error like CW or a linker error like Xcode.) In XCode (and I assume PB but its been awhile since I've used it) the standard settings will permit the code to compile but then the linker complains that you haven't defined atoi and I assume this is what the error message you are getting tells you. You can test that the std library is in fact being linked simply by commenting out the itoa line and the code should link even though you have a call to calloc() which is in the standard library. James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
Copying Menus
It strikes me that this should be easy but I'm a dolt and can't figure it out. Nor can I find anything in the documentation (one more voice in the wilderness: the documentation is great for looking up specific Transcript elements but stinks for figuring out how to use the development environment). I have a project based on three related stacks (at this point, they are arranged as a main stack and two substacks in a single file) which is intended to run exclusively under OS X (which matters only because the menus are intended to only be at the top of the screen and no space has been left in any of the stacks for a menu bar on the card). All three have related but slightly different menus. What I would like to do is, having developed my menus for the main stack, to be able to copy that menubar group from the main stack to the other two stacks where I want to be able to edit them without having to recreate the menus and their scripts from scratch for each substack. I can copy the main stack's group by temporarily making it a windows style menu (on the card) selecting the group and copying it and then restoring the main stack's menu to the top of the screen. I can then paste this into the substack but, of course, it appears on the card and when I set it to be at the top of the screen, Rev moves my content up. Problem, of course is that I didn't forsee a problem in copying the menu bar so I didn't leave space at the top of the card and I'm losing part of my content. I've tried variations of this some of which at least show the menus but Menu Builder won't edit them. I thought I might be able to copy and pasting the original menu bar group from the Application Browser but this doesn't seem to be permitted: when I paste the group, regardless of what is selected and displayed in the Browser, a second copy of the group is placed in the original stack. Am I overlooking something obvious or does anyone have any suggestions? James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Programming contest [Rev Physics masters]
On May 1, 2004, at 1:09 AM, Dar Scott wrote: On Friday, April 30, 2004, at 10:23 PM, David Kwinter wrote: So who's our physics master? I have experience backtesting optimizing systems once I've programmed them - but defining the environment following their specs looks extremely challenging. I'm not sure how much this is a physics problem. The simulator is spec'd out exactly and that takes care in doing the low level coding. Some physics might be handy in getting close to a solution. However, this looks like a search problem to me. Well, at first glance. It is a nice problem in that it can be broken up into pieces and the pieces might be done in alternate ways. You are right: last year's problem was a pure computer programming problem. There was no physics involved at all as the contest organizers defined the physics of the problem completely and the math that was to be used to solve the physics. I think you can expect the same this year. The few past problems I've looked at did not require any knowledge of anything other than how to program. The consistent theme seems to be that algorithm is paramount with processing time being secondary but not insignificant. (When you have only 72 hours to write your program and submit your results, a brute force solution isn't likely to be successful as you won't find an optimum solution in that time, certainly without a supercomputer.) Spence James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Saving substacks in stand alones
On Mar 13, 2004, at 10:31 PM, J. Landman Gay wrote: On 3/13/04 2:40 PM, James Spencer wrote: What I don't get and hope that some kind soul will tell me is: a) Considering that the data stack is not a substack of the main stack but rather is a completely separate entity in its own file, why does the doFileSave message get sent to the main stack? I can surmise that the main stack of a stand alone application is always in the message chain but that doesn't explain to me why that works even within the Revolution Environment where I can have lots of stacks open. Rev has the ability to insert scripts of any object into either the front or the back of the hierarchy. If you look at the script on card 1 of the data stack, you'll find an explanation of how the tutorial overcomes exactly the problem you describe. A preOpenCard handler inserts the script of the main stack into the back of the hierarchy. As you figured, in a standalone this script would always be available automatically, but while working in the IDE an insertion is necessary. This is what I was looking for and in fact actually read without understanding its significance. Thank you. BTW, just in case someone else is reading this, the preOpenCard handler Jacque mentions here is in the script of card one of the main stack; the scripts of the data stack cards are empty. b) How does the this work in the line above? Does this stack refer to the stack from which the message was sent? It refers to the current default stack, which is often, or even usually, the one that originated the message. It is possible to change which stack is the default stack though (set the defaultstack to...) at which point this stack means, um, that one. ...and my going back to reading the Transcript Dictionary entry for the default stack property makes this even clearer. Thank you again. (I would suggest that this is counterintuitive in this context: at least for me, I expect this to be the stack in which the script is found but now I'm whining.) James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Upgrade version and pricing [was] Re: Fix it before moving ahead
On Mar 14, 2004, at 4:02 PM, Brian Yennie wrote: I'm cringing at jumping into this thread, because I DO NOT think RunRev has exactly been guilty of poor support or response to bugs. HOWEVER, I can't quite agree with the Office OR OS comparisons. Both are consumer products, not developer products. Frankly, developer products need to be more bug-free than consumer ones (in general, don't shoot me). I agree with you about RunRev's support and also cringe about jumping in but I think the second comment deserves response because I think this is somewhat behind some of the carping: You may wish they were more bug free but in fact developer products are more complicated and function at lower levels than user software and as a consequence have, in my 30 years of using such software, consistently been MORE buggy, not less than consumer products. There is no way for Revolution to ever even approach being bug free and it is unrealistic for anyone hear to think there is an obligation by RunRev to make bug fixes available forever for free just because there are bugs. Spence James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
Saving substacks in stand alones
Newbie question just so I can understand what is happening. I'm not understanding how message passing works or how this works in the context of substacks. I've got some old stuff I'm converting to Rev. standalones to run under OS X and I've been wandering through the example Employee Data Base just to see how it is being done. Being Unix based, the standalone can't save itself so I understand why a separate stack is used. This separate stack, while cloned from the main stack is a completely separate file. The main stack opens or creates this separate data stack, brings it to the front and hides itself (the main stack). So far so good. What I don't get is how the file saving code works. The menu handler for file menu items in the data stack is in the card script for the currently displayed card; the Save menu choice calls doFileSave. There is no doFileSave in the card script nor in that card's stack so it ends up going to the main stack where it is executed. The file itself gets saved in the main stack's script where the handler calls, after some setup stuff: save this stack What I don't get and hope that some kind soul will tell me is: a) Considering that the data stack is not a substack of the main stack but rather is a completely separate entity in its own file, why does the doFileSave message get sent to the main stack? I can surmise that the main stack of a stand alone application is always in the message chain but that doesn't explain to me why that works even within the Revolution Environment where I can have lots of stacks open. b) How does the this work in the line above? Does this stack refer to the stack from which the message was sent? Thanks for the help. Spence James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
Re: [OT] Core dump on OS X?
On Dec 5, 2003, at 11:57 PM, Richard Gaskin wrote: I could use a core dump on OS X, but I can't figure out how to generate one. Here's what I've been doing: 1. In the terminal: limit coredumpsize unlimited (compensates for OS X's default value of 0) 2. Launch my app 3. In terminal: kill -9 (or whatever the process ID is) The app terminates as expected but there's nothing in /cores. What else do I need to do to generate a core dump? I'm not going to be able to answer your question directly but I don't think the KILL signal that you are passing as -9 generates a core dump. SEGV and QUIT do but in quickly checking this morning, I can't seem to be able to send those signals in a kill command. Spence James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
Re: [OT] Core dump on OS X?
On Dec 5, 2003, at 11:57 PM, Richard Gaskin wrote: I could use a core dump on OS X, but I can't figure out how to generate one. Here's what I've been doing: 1. In the terminal: limit coredumpsize unlimited (compensates for OS X's default value of 0) 2. Launch my app 3. In terminal: kill -9 (or whatever the process ID is) The app terminates as expected but there's nothing in /cores. What else do I need to do to generate a core dump? I'm not going to be able to answer your question directly but I don't think the KILL signal that you are passing as -9 generates a core dump. SEGV and QUIT do but in quickly checking this morning, I can't seem to be able to send those signals in a kill command. Spence James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
Newby questions
1) Is there any convenient way to search the archives of this list other than downloading the entire mess and doing a text search? 2) What I was really looking for: is Menu Builder a one-time only tool. I.e. can you use Menu Builder to edit a menu bar that you have previously created or once you quit Menu Builder do you have to work through the inspector? I can't seem to find a way to get Menu Builder to recognize menus that I've already put in my stack. Spence James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Newby questions
On Monday, September 1, 2003, at 09:09 AM, Jan Schenkel wrote: 1) Yes, and you have two options : - either via an advanced Google search http://www.google.com/advanced_search?q=site:lists.runrev.com - or via this search page, courtesy of Mindlube http://mindlube.com/cgi-bin/search-use-rev.cgi 2) You should be able to edit previouslyh created menubars in your stack : while in the Menu Builder, click the Edit... button, and select one you made earlier in the same (or another) stack. Hope this helped, Very much; thank you! I have no idea why I didn't figure out the menu editing question but that certainly does work. (Duh!!!) Spence James P. Spencer Rochester, MN [EMAIL PROTECTED] Badges?? We don't need no stinkin badges! ___ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution