Strange Datagrid Column Problem
I've customised a datagrid column to contain a checkbox. Right after the customisation, the checkbox shows up in the column just fine. I then added the following line of code in the FillInData handler for the column: set the hilite of button 1 of the long ID of me to handleBoolean(pData) .. and I get the message an error has occurred in behavior for the column template: Object: can't set this property. I've used this same code in other datagrids to handle checking and unchecking check boxes and it works fine. So I stuck an answer information right before that line of code to display the name of the control just to make sure I was looking at the correct control: answer information the name of button 1 of the long ID of me The display shows the correct name for the check box but it says it is a field, not a checkbox so no wonder it can't set the hilite property! Any ideas as to how my checkbox got to be a field? And even more puzzling, how does the display of the name of a button show it to be a field? Pete Haworth ___ use-revolution mailing list use-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: Strange Datagrid Column Problem
That worked! Are you familiar with the banana slug, native to the Santa Cruz area of California? Pete Haworth On Nov 18, 2010, at 2:54 PM, zryip theSlug wrote: Pete, Try: set the hilite of btn 1 of me to handleBoolean(pData) ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Stackrunner
Just started using this and very happy but have come across a problem regarding button icons. I imported a set of icons into the image library in the IDE and refer to the icon numbers within the Image Library when specifying icons for buttons. All works fine in the IDE and standalone but in Stackrunner the icons are not displayed and the buttons are invisible. I can click on them OK (if I guess where they are!). Any ideas as to why this might be happening? Pete Haworth http://www.mollysrevenge.com http://www.sonicbids.com/MollysRevenge http://www.myspace.com/mollysrevengeband ___ use-revolution mailing list use-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: Stackrunner
Thanks. It will be a huge amount of work for me to change icon numbers everywhere so I guess Stackrunner won't work for me. Oh well! Pete Haworth On Nov 17, 2010, at 11:02 AM, J. Landman Gay wrote: On 11/17/10 11:45 AM, Peter Haworth wrote: Just started using this and very happy but have come across a problem regarding button icons. I imported a set of icons into the image library in the IDE and refer to the icon numbers within the Image Library when specifying icons for buttons. All works fine in the IDE and standalone but in Stackrunner the icons are not displayed and the buttons are invisible. I can click on them OK (if I guess where they are!). Any ideas as to why this might be happening? The IDE and the standalones it builds know about the image library, but StackRunner does not. The best way to make your images always available is to import them directly into your stack (the IDs will change) and refer to the embedded image IDs as your icons. Those will work anywhere. -- Jacqueline Landman Gay | jac...@hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Stackrunner
I'm not 100% sure how to do this. I guess it means finding where the image library stack is then issuing a command of some sort when my app starts up to bring that stack into my stack file? Pete Haworth On Nov 17, 2010, at 11:24 AM, Devin Asay wrote: On Nov 17, 2010, at 12:22 PM, Peter Haworth wrote: Thanks. It will be a huge amount of work for me to change icon numbers everywhere so I guess Stackrunner won't work for me. Oh well! Pete, You could include the Image Library stack with your stack and start using it when it's opened by Stack Runner. Devin Pete Haworth On Nov 17, 2010, at 11:02 AM, J. Landman Gay wrote: On 11/17/10 11:45 AM, Peter Haworth wrote: Just started using this and very happy but have come across a problem regarding button icons. I imported a set of icons into the image library in the IDE and refer to the icon numbers within the Image Library when specifying icons for buttons. All works fine in the IDE and standalone but in Stackrunner the icons are not displayed and the buttons are invisible. I can click on them OK (if I guess where they are!). Any ideas as to why this might be happening? The IDE and the standalones it builds know about the image library, but StackRunner does not. The best way to make your images always available is to import them directly into your stack (the IDs will change) and refer to the embedded image IDs as your icons. Those will work anywhere. -- Jacqueline Landman Gay | jac...@hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution Devin Asay Humanities Technology and Research Support Center Brigham Young University ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Stackrunner
Thanks Devin and Richmond. Pete Haworth http://www.mollysrevenge.com http://www.sonicbids.com/MollysRevenge http://www.myspace.com/mollysrevengeband On Nov 17, 2010, at 11:49 AM, Devin Asay wrote: On Nov 17, 2010, at 12:36 PM, Peter Haworth wrote: I'm not 100% sure how to do this. I guess it means finding where the image library stack is then issuing a command of some sort when my app starts up to bring that stack into my stack file? That's the general idea. You find the stack that contains the images you are using as button icons, make a copy of it, then include it with your mainstack. You could even make it a substack of your mainstack to keep it in the same stack file. Then, in the stack that uses the images, include the statement, probably in a preOpenStack handler: start using stack myIconStack --or whatever it's called. Once you do that all images in the used stack are available to be used in the calling stack. Devin On Nov 17, 2010, at 11:24 AM, Devin Asay wrote: On Nov 17, 2010, at 12:22 PM, Peter Haworth wrote: Thanks. It will be a huge amount of work for me to change icon numbers everywhere so I guess Stackrunner won't work for me. Oh well! Pete, You could include the Image Library stack with your stack and start using it when it's opened by Stack Runner. Devin Pete Haworth On Nov 17, 2010, at 11:02 AM, J. Landman Gay wrote: On 11/17/10 11:45 AM, Peter Haworth wrote: Just started using this and very happy but have come across a problem regarding button icons. I imported a set of icons into the image library in the IDE and refer to the icon numbers within the Image Library when specifying icons for buttons. All works fine in the IDE and standalone but in Stackrunner the icons are not displayed and the buttons are invisible. I can click on them OK (if I guess where they are!). Any ideas as to why this might be happening? The IDE and the standalones it builds know about the image library, but StackRunner does not. The best way to make your images always available is to import them directly into your stack (the IDs will change) and refer to the embedded image IDs as your icons. Those will work anywhere. -- Jacqueline Landman Gay | jac...@hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution Devin Asay Humanities Technology and Research Support Center Brigham Young University ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution Devin Asay Humanities Technology and Research Support Center Brigham Young University ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: LiveCode Personal Banner
I'd be happy with that too. Pete Haworth On Nov 16, 2010, at 6:06 AM, Richard Gaskin wrote: Kevin Miller wrote: I'm leaning towards shortening the banner time to 5 seconds. That would be a very good option, IMO. When SuperCard introduced a splash screen delay they originally went for 10 seconds, but I suggested they try the breath-holding test: when the splash screen appears simply hold your breath until it goes away. Sure, 10 seconds isn't a long time for most folks to hold their breath, but doing so it makes one very aware of how much time passes. On paper or in a meeting, 10 second sounds like a short time. But in actual use it feels like a very long time. -- Richard Gaskin Fourth World LiveCode training and consulting: http://www.fourthworld.com Webzine for LiveCode developers: http://www.LiveCodeJournal.com LiveCode Journal blog: http://LiveCodejournal.com/blog.irv ___ use-revolution mailing list use-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: DOWNLOADING REV 4.0.0
I love how unconnected discussions come together! I just downloaded stackrunner and it seems to solve all my issues regarding standalone startup banners/using test files versus live files. I point it to my application .rev file and it runs it as if it were a standalone, opening the live application database instead of the test one, but with no banner of any sort. The only downside is that the OSX menubar item for the aplication says StackRunner instead of my application's name. So while I'm a happy camper, this seems to completely circumvent Revoution's plan to strongly discourage commercial distribution of LiveCode Personal applications via the startup banner or am I missing something? Pete Haworth On Nov 16, 2010, at 7:33 AM, Richmond wrote: On 11/16/2010 01:28 PM, Matthias Rebbe wrote: Hi Joseba, you could use Ken Ray´s stackrunner instead http://www.sonsothunder.com/devres/revolution/downloads/StackRunner.htm Regards, Matthia Thanks: I have just downloaded all the versions of StackRunner (2.0 and 1.3) to add to my special RunRev resources external hard drive. ___ use-revolution mailing list use-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: DOWNLOADING REV 4.0.0
On Nov 16, 2010, at 11:05 AM, Richmond wrote: On 11/16/2010 08:04 PM, Peter Haworth wrote: I love how unconnected discussions come together! I just downloaded stackrunner and it seems to solve all my issues regarding standalone startup banners/using test files versus live files. I point it to my application .rev file and it runs it as if it were a standalone, opening the live application database instead of the test one, but with no banner of any sort. The only downside is that the OSX menubar item for the aplication says StackRunner instead of my application's name. So while I'm a happy camper, really? I am afraid that at present I feel that RunRev are camping things up a bit; so who is camper than whom can be the next direction this discussion takes. Sounds like we need to establish a scale of camp-ness this seems to completely circumvent Revoution's plan to strongly discourage commercial distribution of LiveCode Personal applications via the startup banner or am I missing something? Frankly, distributing a stack with a stackrunner as a commercial package doesn't look that good; especially as anybody who can get their paws (sweaty or otherwise) on a copy of RR/LC can merrily start mucking around with your stack. Agree with that. That's one of the reasons I've never liked using a secondary stack file as a solution to the problem of not being able to store data in a standalone. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: SQLite Problem in 4.5
Hi Bob, I forgot one important fact in deciding whether this is a bug or not - the SELECT statement worked fine in 4.0 with exactly the same data, NULLs and all. So something got changed in 4.5 that caused this to stop working. I will enter this issue into the QCC this afternoon. Pete Haworth On Nov 15, 2010, at 3:49 PM, Bob Sneidar wrote: I don't think it is a bug. Since the NULL's are embedded into the SQL result, when LiveCode sees them it thinks it's an EOF of some kind (help me out Jacque wasn't this discussed in an earlier thread)? If you had queried each column as is, then concatenated them in LiveCode, I think you would have gotten all the data. I think the query IS working, but the NULL in the cursor is being interpreted by LiveCode as an end of data marker. Should it be? I will leave that to bigger minds than mine. I think this behavior is a backwards compatibility issue with Metacard stacks or something. I vaguely remember this being discussed a few months ago. But I could be wrong. Well... not really. ;-) Bob On Nov 15, 2010, at 3:12 PM, Peter Haworth wrote: Avoiding NULLs is always good I think. But since SQLite itself works fine with them and LiveCode doesn't, this feels like a bug to me. Should I enter it at the QCC? Pete Haworth On Nov 15, 2010, at 3:06 PM, Bob Sneidar wrote: Ah hah! Nice catch. I thought Rev was supposed to interpret NULL as empty string, but with the concatenation, I suppose the NULL's would be embedded in the returned pseudo column (probably not the right word for it). That is a nice little gotcha there for anyone running this kind of query. Moral to story: avoid NULL values in LiveCode SQL databases? Bob On Nov 15, 2010, at 2:58 PM, Peter Haworth wrote: Thanks Bob. I think the problem may have something to do with NULL values in some of the columns coming back from the SELECT. When I fixed them, the SELECT worked fine in LiveCode. The Firefox plugin was one of the utilities I used to check this out and it returned all the data correctly, even when there were NULLs in the columns. Pete Haworth ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: LiveCode and the Mac App Store
Ron, I don't develop for iPad/iPhone (yet) but it seems to me that Revolution owe all its developers who do develop on that platform an answer to your questions and any others that would make it easier to develop apps for the Apple Store. Pete Haworth On Nov 16, 2010, at 8:06 PM, ron barber wrote: As a follow up to my earlier question _can_ we use LiveCode desktop to make desktop apps to be sold through the Apple store (Kevin's answer was a qualified 'yes') Is anyone _actually_ moving forward with an app for the Apple store? I have an app that I want to make available in the store but I'm worried that current set up may not meet Apple guidelines. If so could you comment on how you eliminated or modified the way you: 1. Save prefs: currently I spit out another stack from a customprop stored in the startupstack. 2. Listing your homepage in the About or Help menus or anywhere else. In other words, Are you providing a way for users to contact you in a way that Apple likes? 3. Auto checking upgrade options: currently my app checks a file on homepage on startup and informs users if there is a newer version. Any other parts of your application that you have modified to conform to Apple's (current) guidelines? Thanks for your suggestions... Ron ___ use-revolution mailing list use-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: LiveCode Personal Banner
I understand Kevin. I just don't like the fact that a standalone application I create from code I have written myself on my own computer still has this delay in it when I run it on my own computer. Pete Haworth On Nov 15, 2010, at 9:32 AM, Kevin Miller wrote: On 15/11/2010 16:07, Pete Haworth p...@mollysrevenge.com wrote: Uh, no. There's a counter on the banner that counts down from 10. Ah, I thought you were talking about the iOS platform where there is only a 5 second banner. You're correct, the desktop platform does do this. Please bear in mind this is a $99 product. You can upgrade to commercial at any time by paying the difference in price. There is no banner in any of the commercial editions at all. Kind regards, Kevin Kevin Miller ~ ke...@runrev.com ~ http://www.runrev.com/ LiveCode - Realize fast, compile-free coding ___ use-revolution mailing list use-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: LiveCode Personal Banner
I have a totally separate set of files and databases for testing in the IDE than I do for live running with the standalone. Pete Haworth On Nov 15, 2010, at 12:01 PM, Kevin Miller wrote: On 15/11/2010 17:42, Peter Haworth p...@mollysrevenge.com wrote: I understand Kevin. I just don't like the fact that a standalone application I create from code I have written myself on my own computer still has this delay in it when I run it on my own computer. Ah, I see. But why build a standalone for your own computer? Kind regards, Kevin Kevin Miller ~ ke...@runrev.com ~ http://www.runrev.com/ LiveCode - Realize fast, compile-free coding ___ use-revolution mailing list use-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: LiveCode Personal Banner
If I want to install my application on my laptop as well as my desktop all for my own use, you're suggesting I install a pirate copy of the IDE on one of my computers (I think). Pete Haworth On Nov 15, 2010, at 12:33 PM, Kevin Miller wrote: On 15/11/2010 20:23, Jeffrey Massung mass...@gmail.com wrote: Ah, I see. But why build a standalone for your own computer? Sorry to be blunt, but isn't that a bit of a silly question? If the personal edition is for personal use, and RunRev's position is why build a standalone for your own computer? then why offer it as a feature of the personal edition at all? I haven't looked at the personal edition, so maybe it's also used for academic licenses or for distributing stacks among an academic institution (in which case I understand the feature). But, I imagine that there's other ways that could be done as well without the use of a banner. For example, perhaps when the standalone is built there was an option to bind the executable to a specific domain name or subdomain where any machine in that range can run the application with no banner popup? Well, if you're using stacks on your own computer, and you don't want to wait for the banner to go away, and you don't want to pay more than $99, why not run them in the IDE? You can create a standalone but you're going to have to wait a short time while it loads. Its not exactly an eternity, I have many applications that take longer than that to load. We might be open to shortening it a little, but this is one of the differences between a personal and commercial license. Kind regards, Kevin Kevin Miller ~ ke...@runrev.com ~ http://www.runrev.com/ LiveCode - Realize fast, compile-free coding ___ use-revolution mailing list use-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: LiveCode Personal Banner
That's good to know. But there are still good reasons to keep the IDE and standalone versions separate even for personal applications. Pete Haworth http://www.mollysrevenge.com http://www.sonicbids.com/MollysRevenge http://www.myspace.com/mollysrevengeband On Nov 15, 2010, at 12:49 PM, Kevin Miller wrote: On 15/11/2010 20:43, Peter Haworth p...@mollysrevenge.com wrote: If I want to install my application on my laptop as well as my desktop all for my own use, you're suggesting I install a pirate copy of the IDE on one of my computers (I think). No, we allow you to install the IDE on multiple machines provided it is for your own personal use. Its a very generous license in that respect. Standalones have to be marked because you *can* distribute them. Kind regards, Kevin Kevin Miller ~ ke...@runrev.com ~ http://www.runrev.com/ LiveCode - Realize fast, compile-free coding ___ use-revolution mailing list use-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: SQLite Problem in 4.5
Hi Bob, The double bar is a concatenation operator, same as the in LiveCode Pete Haworth On Nov 15, 2010, at 2:35 PM, Bob Sneidar wrote: Peter, I do not know what the double bars are in an SQL statement. What do they do? Bob On Nov 13, 2010, at 9:59 AM, Peter Haworth wrote: Just ran into a serious problem with and SQLite SELECT statement in 4.5. I'm selecting data from my database with the following SQLite statement put revDataFromQuery(,,gDBID,myLine) after tdata myline contains SELECT PlaceID, Name || ',' || City || ',' || State AS Location FROM Places ORDER BY Name In 4.0, this successfully selects all the correct data. In 4.5 is selects only 2 rows. Same codebase, same database. Executing the SELECT in 2 or 3 different SQLite query utilities returns the correct data Has anyone run into this type of issue with 4.5? Pete Haworth ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: SQLite Problem in 4.5
Thanks Bob. I think the problem may have something to do with NULL values in some of the columns coming back from the SELECT. When I fixed them, the SELECT worked fine in LiveCode. The Firefox plugin was one of the utilities I used to check this out and it returned all the data correctly, even when there were NULLs in the columns. Pete Haworth On Nov 15, 2010, at 2:52 PM, Bob Sneidar wrote: OK just figured out what the syntax does. I ran this query against a Spiceworks sqLite database, substituting column and table names with those in the Spiceworks database, and the query worked fine for me. At this point, what I would suggest is getting the sqLite plugin for Firefox and making queries directly against the sqLite database. See what you get then. Bob On Nov 13, 2010, at 9:59 AM, Peter Haworth wrote: Just ran into a serious problem with and SQLite SELECT statement in 4.5. I'm selecting data from my database with the following SQLite statement put revDataFromQuery(,,gDBID,myLine) after tdata myline contains SELECT PlaceID, Name || ',' || City || ',' || State AS Location FROM Places ORDER BY Name In 4.0, this successfully selects all the correct data. In 4.5 is selects only 2 rows. Same codebase, same database. Executing the SELECT in 2 or 3 different SQLite query utilities returns the correct data Has anyone run into this type of issue with 4.5? Pete Haworth ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: SQLite Problem in 4.5
Avoiding NULLs is always good I think. But since SQLite itself works fine with them and LiveCode doesn't, this feels like a bug to me. Should I enter it at the QCC? Pete Haworth On Nov 15, 2010, at 3:06 PM, Bob Sneidar wrote: Ah hah! Nice catch. I thought Rev was supposed to interpret NULL as empty string, but with the concatenation, I suppose the NULL's would be embedded in the returned pseudo column (probably not the right word for it). That is a nice little gotcha there for anyone running this kind of query. Moral to story: avoid NULL values in LiveCode SQL databases? Bob On Nov 15, 2010, at 2:58 PM, Peter Haworth wrote: Thanks Bob. I think the problem may have something to do with NULL values in some of the columns coming back from the SELECT. When I fixed them, the SELECT worked fine in LiveCode. The Firefox plugin was one of the utilities I used to check this out and it returned all the data correctly, even when there were NULLs in the columns. Pete Haworth ___ use-revolution mailing list use-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: LiveCode Personal Banner
When I'm testing and fixing bugs - a lot! Pete Haworth On Nov 15, 2010, at 3:45 PM, zryip theSlug wrote: Far of all these considerations, a simple question: how many times you open your application a day? Regards, -- -Zryip TheSlug- wish you the best! 8) http://www.aslugontheroad.co.cc ___ use-revolution mailing list use-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: SQLite Problem in 4.5
Thanks Bob, I understand the quandary! I still think it's a bug when a program does strange things with valid data but it's not a big deal now that I'm aware of the problem. Pete Haworth http://www.mollysrevenge.com http://www.sonicbids.com/MollysRevenge http://www.myspace.com/mollysrevengeband On Nov 15, 2010, at 3:49 PM, Bob Sneidar wrote: I don't think it is a bug. Since the NULL's are embedded into the SQL result, when LiveCode sees them it thinks it's an EOF of some kind (help me out Jacque wasn't this discussed in an earlier thread)? If you had queried each column as is, then concatenated them in LiveCode, I think you would have gotten all the data. I think the query IS working, but the NULL in the cursor is being interpreted by LiveCode as an end of data marker. Should it be? I will leave that to bigger minds than mine. I think this behavior is a backwards compatibility issue with Metacard stacks or something. I vaguely remember this being discussed a few months ago. But I could be wrong. Well... not really. ;-) Bob On Nov 15, 2010, at 3:12 PM, Peter Haworth wrote: Avoiding NULLs is always good I think. But since SQLite itself works fine with them and LiveCode doesn't, this feels like a bug to me. Should I enter it at the QCC? Pete Haworth On Nov 15, 2010, at 3:06 PM, Bob Sneidar wrote: Ah hah! Nice catch. I thought Rev was supposed to interpret NULL as empty string, but with the concatenation, I suppose the NULL's would be embedded in the returned pseudo column (probably not the right word for it). That is a nice little gotcha there for anyone running this kind of query. Moral to story: avoid NULL values in LiveCode SQL databases? Bob On Nov 15, 2010, at 2:58 PM, Peter Haworth wrote: Thanks Bob. I think the problem may have something to do with NULL values in some of the columns coming back from the SELECT. When I fixed them, the SELECT worked fine in LiveCode. The Firefox plugin was one of the utilities I used to check this out and it returned all the data correctly, even when there were NULLs in the columns. Pete Haworth ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: LiveCode Personal Banner
That's exactly what I would like to see. Unfortunately, it seems as if Revolution has moved away from license keys so I doubt it will happen. Pete Haworth On Nov 15, 2010, at 3:31 PM, Alex Tweedly wrote: On 15/11/2010 20:37, Andre Garzia wrote: (2) There is no way to distinguish your standalone running on your own machine from your standalone running somewhere else. Any way to detect that it is running on the same machine as the one used to develop the given standalone will not be tamper proof. You can't trust any metric given by a computer to identify itself. You can't trust MAC Addresses, HD Serial or CPU Serial, all those can be spoofed. That's right, you can't have a reliable check for the machine. But what you can do, and I would argue you should do, is check for a valid IDE license. So the rule could be: a standalone built with Personal Edition will check whether the machine has a valid licensed copy of the IDE on it If there is no IDE, then you get the 10 second start-up screen. If there is a valid IDE, you get no start-up screen (or maybe a 1- second start-up) That way, anyone with the Personal Edition can build and run on (all) their own machines without being bothered. -- Alex. ___ use-revolution mailing list use-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: LiveCode Personal Banner
Yes, matter of fact I did just recently. Turned out to be a data problem in my application which didn't manifest itself in the IDE but caused big performance problems in the standalone. The only way I could track it down was to keep trying things/writing messages to a debug log, re-building a standalone, and testing the standalone many times until I found the problem. I would have never have found the problem without building a standalone and testing it. I guess the experience is what made me so conscious of the standalone startup delay. (Terry - thanks for the player suggestion - that sounds good but wouldn't have helped in this situation This whole suggestion of using only the IDE is very puzzling to me. Yes, I am writing apps for my own use but I'm a retired programmer and unless things have changed mightily since I was getting paid to write code, there's a strong need to separate development, QA, and live versions of code, not just for the integrity of the code but of the data as well. Rightly or wrongly, I think of the IDE as my development environment and the standalone as my QA/live environment. My apps were written so they determine what files to use and whether to do certain things or not based on whether they are running in the IDE or as a standalone. I even have my own compile function that sets up various custom properties than enable the standalone to work more efficiently. I'll repeat again what I said in one of my earlier posts - I love working with LiveCode, it;s a great development tool, but I just don;t think it's good practice to subject the user to arbitrary delays when running perfectly legal copies of software. Pete Haworth On Nov 15, 2010, at 4:17 PM, zryip theSlug wrote: A naive question: have you find so many differences between a project in the IDE and the resulting application? ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Getting the weekday name
Thanks. I forgot that I have been using the SQLite strftime function to do all my date formatting/calculations so I think I'll just use that. Pete Haworth On Nov 14, 2010, at 12:35 PM, J. Landman Gay wrote: On 11/13/10 4:55 PM, Peter Haworth wrote: The dates are coming from an SQL database, so they are in -mm-dd format - will that work or do I need to convert them to some other dat? I already have a function that converts the SQL dates to the external format mm/dd/yy if that would work better. You need to use your conversion function to change the dates to mm/ dd/yy format. Then use the convert command to convert that to the long date, and lift out the first item which will be the weekday name. -- Jacqueline Landman Gay | jac...@hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: LiveCode Personal Banner
I agree it wasn't a surprise, but sometimes the reality of things doesn't match expectations (there's no mention of the banner staying on the screen for 10 seconds). At this point, I have no plans to offer my application for commercial use but I ought to be able to run a standalone on my own computer without the banner appearing, or at least not for 10 seconds, every time I start the app. Running my own app on my own computer is not commercial use, unless I charge myself for the app ( I don;t think I can afford it though!). This whole commercial use thing is fraught with loopholes I think. For example, let's say I develop some killer utility code in the personal version that is generically useful for lots of LiveCode developers and I sell it in the form of a stack file. The developers pay me money, incorporate the code into their apps, build a standalone in a Livecode version that allows commercial distribution, and sell it on to their customers. Am I breaking my license agreement? Personally, I think there should still be a license key that ties LiveCode Personal to a specific computer, both the IDE and any standalones built with it. Then my standalones won't display the message when they run on my computer but they will on any other. I'm pretty much going back to 4.0 for now, at least to build standalones. I don't have a use for the new features on 4.5 and using 4.0 allows me to build standalones that don't bug me. Of course at some point, I won;t be able to continue doing that as more enhancements are incorporated into LiveCode, but for now it works fine for me. In the generals scheme of things, this isn't a big deal, LiveCode is still a great way to develop applications, it's just that licensing methods have always been a pet peeve of mine. Pete Haworth On Nov 13, 2010, at 8:14 AM, Malte Brill wrote: Even though I can understand splash screens feel annoying, I can not see this as a surprise, as this is clearly stated on the runrev.com homepage: Applications created with this license will include a splash screen or watermark. The Server Deployment Pack comes with a limit on the number of connections with this license type. http://runrev.com/products/livecode/license-types-overview As that edition is much cheaper than previous studio licenses I can understand RRs decision in adding this. I don´t know about Director nowadays, but when I had to decide if it is RR or Director back in the day, each Projector built displayed a Made with Macromedia dialogue that could not be dismissed. It is worth noting, that the commercial packs do not have this Banner. Just my 2 € cents worth. Cheers, Malte___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
SQLite Problem in 4.5
Just ran into a serious problem with and SQLite SELECT statement in 4.5. I'm selecting data from my database with the following SQLite statement put revDataFromQuery(,,gDBID,myLine) after tdata myline contains SELECT PlaceID, Name || ',' || City || ',' || State AS Location FROM Places ORDER BY Name In 4.0, this successfully selects all the correct data. In 4.5 is selects only 2 rows. Same codebase, same database. Executing the SELECT in 2 or 3 different SQLite query utilities returns the correct data Has anyone run into this type of issue with 4.5? Pete Haworth ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Getting the weekday name
I'm using the datetimetoJulian function in Sarah's great datetime stack as part of a way to get the alpha weekday name. The words in Sarah's stack say that it's possible to get the day number of the week by taking the remainder of dividing the Julian days by 7 but when I do that, I consistently get a day number that is 2 less than it should be - that's assuming of course that day 1 would be Sunday. I can always just add 2 to the day number but wondering if anyone knows why this would happen? Pete Haworth ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Getting the weekday name
That sounds simpler! I've never used convert and dateitems - what format would tdate have to be in? Pete Haworth On Nov 13, 2010, at 2:42 PM, Dick Kriesel wrote: On 11/13/10 1:44 PM, Peter Haworth p...@mollysrevenge.com wrote: I'm using the datetimetoJulian function in Sarah's great datetime stack as part of a way to get the alpha weekday name. The words in Sarah's stack say that it's possible to get the day number of the week by taking the remainder of dividing the Julian days by 7 but when I do that, I consistently get a day number that is 2 less than it should be - that's assuming of course that day 1 would be Sunday. I can always just add 2 to the day number but wondering if anyone knows why this would happen? Pete Haworth Hi, Pete. Might your task be easier using dateItems as this example does? function dayOfWeek tDate convert tDate to dateItems return item last item of tDate of \ Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday end dayOfWeek -- Dick ___ use-revolution mailing list use-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: Getting the weekday name
The dates are coming from an SQL database, so they are in -mm-dd format - will that work or do I need to convert them to some other dat? I already have a function that converts the SQL dates to the external format mm/dd/yy if that would work better. Pete Haworth On Nov 13, 2010, at 2:46 PM, J. Landman Gay wrote: On 11/13/10 3:44 PM, Peter Haworth wrote: I'm using the datetimetoJulian function in Sarah's great datetime stack as part of a way to get the alpha weekday name. The words in Sarah's stack say that it's possible to get the day number of the week by taking the remainder of dividing the Julian days by 7 but when I do that, I consistently get a day number that is 2 less than it should be - that's assuming of course that day 1 would be Sunday. I can always just add 2 to the day number but wondering if anyone knows why this would happen? Just curious, do you really need Julian dates? If you already have an existing date in a valid format, it should convert to the long date successfully. That has the alpha day of the week as the first item. -- Jacqueline Landman Gay | jac...@hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Performance Mystery Solved - IT'S THE DATA STUPID!!
No problem Richard, fun tracking this stuff down. After your last email, I now understand the exact reason for the slowdown. I now plan to switch all my long name references over to use the control ID. Everything in the doc says using the ID should be a safe way to uniquely identify a control but I've seen a few posts recently seeming to indicate that might not be the case (I know stack IDs change, just referring to control IDs). There's a little trepidation on my part about that because I occasionally see posts that suggest that maybe there's issues with the uniqueness of IDs but hopefully I won;t run into them! Pete Haworth On Nov 12, 2010, at 6:27 AM, Richard Gaskin wrote: I have to admit you guys left me behind a while ago. But I'm glad I may have created a platform for some knowledge that wasn't there before, plus I've got a fix for my problem so yes, definitely a good day! Thanks again for not only bringing this up, but for diligently working it through to find the root cause. Good work. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Bug Tracking
I've learned over the last few days how important it is to keep track of code changes in each release of an app. I already have a LiveCode app that lets me catalog bugs/enhancements, prioritise them, write notes about how they were fixed and define which release they were fixed in. What's missing is a way to keep a copy of the code base (i.e. the stack files) for each release so I can go back to it later if necessary. My ideal solution would be to simply copy the stack files to a folder for the release and then somehow kick off a build of the standalone application. Copying the files won;t be a problem but is there any way to automate the build of a standalone? It's not a huge deal to do it manually but would be a nice touch to automate it. And the real icing on the cake would be to the equivalent of a diff on the code bases to see what changed between releases. Does anyone else have a bug/version tracking tool they use and like? Thanks, Pete Haworth ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Bug Tracking
Thanks Andre. I guess I've gone down the path of rolling my own so far. I don;t think I need the more exotic features like branching, merging, etc so I think I'll just go ahead and add the logic to copy the necessary files to a version folder when I set up a release. I will check out Magic Carpet as well though! Pete Haworth On Nov 12, 2010, at 10:16 AM, Andre Garzia wrote: Peter, This was a hot topic some months ago here. There are many alternatives and many users have rolled their own as well. Your first choice is: (a) To use a standard VCS/SCM software such as Git, Mercurial, Darcs, Bazaar, Svn, Fossil... (b) Roll your own If you go with letter (a) then you should notice that LiveCode stacks are binary files and most of these systems are designed to use text files. So while you can still use the versioning system as an archival system, your merge operations will be troublesome since IIRC none of these software is able to do binary merges or unknown file types. I've used Mercurial with LiveCode and am quite happy with dumping binaries into it since I don't do merges, I just want the ability to rollback if needed. If you decide to go with option (b) then you can do pretty much whatever you want. Chipp Walters has a wonderful tool in the form of Magic Carpet. It is available and it served me and Sivaktirswami well on our HTDE project. It is a very good program and for simple needs (no merging, simple archival, no branching) it solves the problem. I know developers here have rolled their own import/export routines to create textual formats of stacks to better use tools such as Git. I haven't gone that far. Andre my two Brazilian Real cents ___ use-revolution mailing list use-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: Bug Tracking
Chipp - where can I get a copy of Magic Carpet? Pete Haworth On Nov 12, 2010, at 10:16 AM, Andre Garzia wrote: f you decide to go with option (b) then you can do pretty much whatever you want. Chipp Walters has a wonderful tool in the form of Magic Carpet. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
LiveCode Personal Banner
I opted to go for the personal version of LiveCode when the name change happened. I understand that I can't distribute apps with this version but I personally find it objectionable that I have to endure the banner announcing that for 10 seconds every time I start a standalone app - I'm running a legally licensed copy of the program on my own computer. If it's not running on my computer, fine, tell me all about it and find a licensing scheme that deals with that but let me run my licensed copy without bugging me please. Pete Haworth ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
IDE/Standalone Performance Issues - A Light At The End of the Tunnel!
I think I have found the cause of the performance problems I have been experiencing. I had been referring to objects by their long name in various places in the offending code. I started changing the code to refer to the same objects by their short ID and each line of code I changed resulted in quicker performance. I haven't been able to change all the code yet but the evidence is that the performance issues will go away when I start using the object IDs everywhere. Finding the problem is good of course but does anyone know why there are no performance issues referring to an object by it's long name in the IDE but it causes such a performance hit in a standalone? Maybe I'm misunderstanding the process of building a standalone but I would have thought a standalone would function more efficiently than the same code executed in the IDE not less, kinda like in the old days of interpretive vs compiled BASIC? Pete Haworth ___ use-revolution mailing list use-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: IDE/Standalone Performance Issues - A Light At The End of the Tunnel!
Thanks for delving into this Richard. Here's a small example section of code which I've changed to use the ID where it used to use the long name. The variables are: myIDholds the short ID of the control pselection a parameter passed into the command put the milliseconds into mymilliseconds writeDebug Starting loadOneList the abbrev name of control ID myID if pselection is empty then if listValues is among the lines of the customKeys of control ID myID then put the listValues of control ID myID into tlistspec else put the text of control ID myID into tdata end if else put pselection into tlistspec end if if tlistspec is not empty then repeat for each line myLine in tlistspec writeDebug tab (the milliseconds - mymilliseconds) tab Start processing SELECT myline In the IDE, the 2nd writeDebug shows a value of 1 whether I use the long name or the ID of the control. In the standalone, using the long name it shows a value of 731 and using the ID it shows 1 again. It is puzzling why your tests don't reflect what Im experiencing. Maybe it's something to do with the operation that is carried out on the control. In my case, most of the addressing of the controls consists of getting/setting their properties, both standard and custom. Could it have anything to do with the fact that my code is executed in a script that is held in a separate code library stack and inserted as a front script? The only other variable I can think of is the location of the debug log I'm writing to. In the IDE, the debug log is in the same folder as the stack file but in the standalone it's in the users Library/Preferences/appname folder. This is running on a Mac of course. All I have to do now is find all the places in my code where controls are referenced by their long name - oh joy! Bob - I want to hold off just a little longer before submitting a bug. The fact that Richard's tests don;t reflect what I'm seeing make me nervous that it's something I'm doing wrong! Pete On Nov 11, 2010, at 11:04 AM, Richard Gaskin wrote: Interesting. I just ran this test: on mouseUp put 10 into n -- put the millisecs into t repeat n put the short id of this cd into tID put the name of cd id tID into r1 end repeat put the millisecs - t into t1 -- put the millisecs into t repeat n put the long name of this cd into tName put the name of tName into r2 end repeat put the millisecs - t into t2 -- put the millisecs into t repeat n put the number of this cd into tNum put the name of cd tNum into r3 end repeat put the millisecs - t into t3 -- put t1 t2 t3 (r1=r3) end mouseUp The results were roughly the same in both the MC and Rev IDEs: 221 954 209 true So addressing by ordinal number is slightly faster than by ID, which has been the case since the HC days. But I'm surprised by how much faster both are compared to addressing by name. This got me curious as to whether long ID would be faster than long name, so I ran this: on mouseUp put 10 into n -- put the millisecs into t repeat n put the long id of this cd into tID put the name of tID into r1 end repeat put the millisecs - t into t1 -- put the millisecs into t repeat n put the long name of this cd into tName put the name of tName into r2 end repeat put the millisecs - t into t2 -- put t1 t2 (r1=r2) end mouseUp ...and got this: 955 957 true So it seems that the overhead of resolving absolute object references (long form) is much higher than what the engine can do when you're able to hard-wire part of the reference (e.g., ...of card id tID...). Historically I've often used long IDs for the convenience of having an absolute object reference without regard to the type, but after seeing these results I can see that there's a benefit to hard-wire the type in script where practical. Thanks for bringing this up. Learn sumpin' new every day. :) Finding the problem is good of course but does anyone know why there are no performance issues referring to an object by it's long name in the IDE but it causes such a performance hit in a standalone? Interesting as it was to test the different ways to reference objects, in practical terms I think the performance issue you encountered is due to something else. The tests shown above were run in 100,000 iterations. So while it seems impressive that one took only 25% as much time as another, in a given iteration the longest one took only 0.00954 ms. Unless you're addressing several hundred thousand objects at a time, it's hard to imagine how the difference could product a noticeable effect. I even built a standalone of the test stack, and while it was somewhat slower (why would that be?) the difference between the IDE and the standalone was less than 8% total, or about 0.0008 ms per call. This is
Re: IDE/Standalone Performance Issues - A Light At The End of the Tunnel!
See answers below. Pete Haworth What's interesting there is that the control is only being referenced three times: once to write the debug string, a second time to check the customKeys, and a third time to obtain the prop values. Given that it's just three object references and most of the work is done in the repeat look that works on the list, it's hard to believe those three object references could account for the speed difference by themselves. What does writeDebug look like, and what does the other half of the repeat look like (there's no closing end repeat)? Here's writeDebug and another function it calls getprefsFolderPath. command writeDebug pText put getprefsFolderPath(BandTrak) debuglog.txt into myPrefsFilePath write pText return to file myPrefsFilePath end writeDebug function getPrefsFolderPath pSubFolder if the environment is development then put the effective filename of this stack into prefsFolder set the itemdelimiter to slash put item 1 to -2 of prefsFolder into prefsFolder else if the platform = MacOS then put specialFolderPath(Preferences) into prefsFolder else if the platform = Win32 then put specialFolderPath(26) into prefsFolder end if end if if last char of prefsFolder is not / then put slash after prefsFolder end if if the environment is not development then put pSubFolder slash after prefsFolder end if return prefsFolder end getPrefsFolderPath I didn't put the rest of the repeat lop in the example because the timing ends at the top of the repeat loop. I can give you the code but it's basically executing an SQLite SELECT statement. There's another time measurement at the completion of the SELECT and it indicates there's no significant difference between the IDE and the standalone for the SELECT execution. And what exactly is in myID? Have you verified that it's an integer, and that the name was as you expected it in the earlier version? A little background for you. This code is part of a library routine I have to load values from an SQLite SELECT statement into controls on the form. All the controls on the form that relate to columns in the selected row start with DB_ followed by the name of the column. In the IDE, whenever a card is opened, I create a list of the DB_ controls and store them in a custom property named fieldList, one per line. I'm currently storing the long name of each control in fieldList and I can see that they are in the correct format in the custom property. There's an outer loop that processes every line in fieldList to load the data into the controls and to help track this down, I put the following statement in that loop: put the ID of myControl into myID myControl is the variable that holds one line from the fieldList custom property. I guess that's a long winded way of saying yes, the long name formats look correct. I haven't checked myID to see if it holds an integer but unless the put statement is doing something weird, I'm pretty sure it does. Also, do you have any getProp handlers in your stack? I do have some getProp and setProp handlers but not for the properties used in this section of code. I had wondered if there was something of that nature happening, so I stepped through every line of code in debug to make sure it wasn't dashing off into some hidden direction like that and I didn;t see anything of that nature. Perhaps most importantly: are there any other stacks or libraries used by the standalone that aren't present in the IDE? I don;t think so, certainly not intentionally,but I'm not sure how to tell. I used the Stacks tab of the Standalone Application Settings to set the stacks other than the main application stack that were to be included in the standalone. It is puzzling why your tests don't reflect what Im experiencing. Yeah, me too. :) Maybe it's something to do with the operation that is carried out on the control. In my case, most of the addressing of the controls consists of getting/setting their properties, both standard and custom. Could it have anything to do with the fact that my code is executed in a script that is held in a separate code library stack and inserted as a front script? Possibly. It may be helpful to log the frontScripts, the backScripts, and the stacksInUse in both the IDE and the standalone to see what differences there may be. Of course you'll see a lot more of those in the IDE, which should theoretically either have no effect or make it slower, but perhaps a script is both in a library and a frontScript in the standalone, causing it to execute more than once. OK I did that. Here's the output from the IDE FrontScripts card id 1004 of stack /Users/Dad/RevDev/Code Library.rev card id 1003 of stack /Users/Dad/RevDev/Code Library.rev card id 1002 of stack
Performance Mystery Solved - IT'S THE DATA STUPID!!
Figured out the IDE/Standalone performance issue, it's nothing to do with the code. I my last email I mentioned how I have a custom property holding the long names of all the controls on a card that need to have data loaded into them from my database. On closer inspection, the long name includes the name of the stack file which - duh - is my .rev file!!! So when the standalone gets the long name of a control from the custom property, it is referencing the control in my.rev file, not the control in the standalone, and presumably has to go open the .rev file every time my code refers to a control. No wonder everything took longer. Using the ID removes that problem of course. I still have to figure out what to about this. I can either change my code to use the ID everywhere instead of the long name, or I can somehow parse out the the part of the long name that is the path to my .rev file. Or I could build the list of controls in the standalone (currently it specifically doesn't do that on the grounds that it didn't need to). Sorry for the false alarms! Pete Haworth ___ use-revolution mailing list use-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: Performance Mystery Solved - IT'S THE DATA STUPID!!
Yes, that's what I'm seeing. With the references to my .rev filepath in the control names, the card I'm using to test was taking around 35 seconds to open. I went through and manually removed the references to the filepath (that's the only thing I changed I swear!) and built the standalone again and now the card opens just about instantaneously. So maybe there's a bug after all in that the .rev stack should only be loaded into memory at the first access to it but it's happening every time? Whatever the issue, I have to change something because my standalone wouldn't run unless the .rev file was on the same computer and that doesn't make any sense. I think I'm going to bite the bullet and change everything over to use control IDs instead of long names. Pete Haworth On Nov 11, 2010, at 5:12 PM, Monte Goulding wrote: Unless you're explicitly purging the stacks, any access to a property of a stack file will load it into memory. The first access will take a hit only if the stack isn't already in memory, but subsequent accesses should be about as fast whether referring to just the stack name or the stack file path, since they're interchangeable for mainstacks. Hi Richard I don't think this is entirely true. At least it wasn't when I was working on the standalone builder all those years ago. There was a massive difference in speed between looping over the controls of a stack if that stack was invisible toplevel compared to just referencing it as a filename. There was a user that was having extremely slow builds because they had so many controls. Cheers Monte___ use-revolution mailing list use-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: Performance Mystery Solved - IT'S THE DATA STUPID!!
I have to admit you guys left me behind a while ago. But I'm glad I may have created a platform for some knowledge that wasn't there before, plus I've got a fix for my problem so yes, definitely a good day! Pete Haworth On Nov 11, 2010, at 7:04 PM, Richard Gaskin wrote: Great work, Monte! Thanks for running that test. So the difference is in addressing controls *within* a stack, but not with the stack itself. Hard to anticipate, but very good to know. So Peter has a solution, and I learned two new things today about performance. A good day... ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
More on IDE vs Standalone Performance issues
Spent the last day or so trying to get some data to track this problem down by inserting code to write details of the time taken for various chunks of code to execute into a text file so I could see what was going on. I narrowed it down to a command that loads the text property of an option button by executing an SQLite SELECT statement that is defined in a custom property for the button, then setting the text property of the button to the resulting data. I executed the code using exactly the same data in the same database both in the IDE and the standalone. Here's a snippet from the debug file relating to the loading of one option button in the IDE: Starting loadOneList button DB_RcvblsAc 0 Start processing SELECT... 1 End processing SELECT ... 1 Start setting menu text 1 End setting menu text The number at the start of each line is the number of milliseconds since the start of the loadOneList command. Now here is a same snippet taken from the debug file created by the standalone for the same button: Starting loadOneList button DB_RcvblsAc 731 Start processing SELECT... 976 End processing SELECT... 976 Start setting menu text 2196End setting menu text As you can see, the time taken between each display is hundreds of times more than in the IDE in every case. It's not limited to just one snippet of code, it's universal. Getting through loadOneList takes roughly 1 millisecond in the IDE and more than 2 seconds in the standalone. Here's the code that is executed between the Starting loadOneList message and the Start processing SELECT message: if pselection is empty then if listValues is among the lines of the customKeys of myControl then put the listValues of myControl into tlistspec else put the text of myControl into tdata end if else put pselection into tlistspec end if if tlistspec is not empty then repeat for each line myLine in tlistspec I stepped through the code in debug to make sure it didn't head off in unexpected directions (eg setProp/getProp handlers) and there was nothing of that nature. The writing of the debug information takes some time but that should be the same overhead in the IDE and the standalone. Help! Pete Haworth ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: More on IDE vs Standalone Performance issues
Right now, it's all part of a pretty large application but I think I can create a simple test stack with one card in it, although you'll still need the SQLite database. I haven't posted stack files before - how do I do that? Pete Haworth On Nov 9, 2010, at 12:10 PM, use-revolution-requ...@lists.runrev.com wrote: Date: Tue, 9 Nov 2010 10:26:39 -0800 From: Bob Sneidar b...@twft.com Subject: Re: More on IDE vs Standalone Performance issues To: How to use Revolution use-revolution@lists.runrev.com Message-ID: 6f5b0f5e-e1a5-4c49-93af-bca8c73fc...@twft.com Content-Type: text/plain; charset=us-ascii I think you are on to something there Peter. This may be something for the bug reports. Is there a test stack with the debug written into it that you could post so we can try it on our end? Bob ___ use-revolution mailing list use-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: Code for Database Transaction Processing
This isn't specific example including complete code but the general flow is: revExecuteSQL gDBID,BEGIN TRANSACTION . revdbExecute your SQL command if error revRollBackDatabase gDBID exit end if . revdbExecute your SQL command if error revRollBackDatabase gDBID exit end if . repeat the above for whatever SQL commands you need. . revdb_Commit(gDBID) Note that if you don't issue the BEGIN and COMMIT commands, SQLite automatically treats each individual db update command you give it as a separate transaction. There's a good write up of the SQLite transaction details at http://www.sqlite.org/lang_transaction.html . Pete Haworth On Nov 9, 2010, at 7:32 PM, Wilde Electric wrote: Hello, I have been unable to find any reference to code examples for doing Transaction Processing with SQLite DB I have only found a note from Trevor revExecuteSQL to BEGIN TRANSACTION etc without an example. Could someone provide a code example that starts with the BEGIN TRANSACTION and finishing with COMMIT TRANSACTION? Thank You for your help, David J. Lamp ___ use-revolution mailing list use-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: Painfully slow performance (Trevor DeVore)
Thanks for all the input. I've pretty much ruled out SQLite as the cause of the problem because I'm using the same database in the IDE and the standalone so unless the standalone is using a different SQLite library than the IDE, there shouldn't be any difference in performance between the two. Maybe it would help if I give a little more detail as to what is happening on the card. The basic design of most of my cards involves a datagrid which displays summary information about selected table entries. When the user clicks on a row in the datagrid, I get the single entry associated with that row from the SQLite table and load information from it into controls on the form. I use naming conventions for the controls that allow the code to figure out which column in the table entry they are associated with. The slow down in performance is directly related to the number of option buttons on the card - no option buttons, no slowdown. For a card with several option buttons, when I click on a datagrid row in the IDE, the update of the controls on the card is instantaneous. When I do the same thing in the standalone, the update of the controls is painfully slow. This is using exactly the same data from the same database. The code to handle option buttons simply executes a SELECT statement to get data from the database, a simple set statement to set the text of the control to the data from the SELECT statement and another statement to set the menuhistory of the control using the lineoffset function to locate the value of the column in the current table row to the text of the control. Help! Pete Haworth ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Painfully slow performance
I just built my first standalone with LiveCode 4.5 (on OSX) and I'm seeing painfully slow performance compared to the same application built with 4.0. I'm using an SQLite database to populate all the data on the cards in the app, not sure if there's some problem with the SQLite side of things. Only other thing I can think of is that I am using several front scripts. Opening a card used to be almost instantaneous, now it's taking 30-45 seconds. Bringing up the data for a different SQLite row used to be instantaneous, now takes 10 seconds or so. This is consistant across all the cards that handle data fro any table in my SQLite database. The 4.0 standalone still works just fine using the same database. Any ideas? Pete Haworth ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Slow Performance - Update
I guess I was too hasty in accusing LiveCode 4.5 of performance issues! I rebuilt my application using Rev Studio 4.0 using the same code base and the performance issues are still there in the standalone. So the issue now is that the problem doesn't occur in the IDE, only in the standalone and I don't see any code that distinguishes between the two environments. I've isolated the problem down to some code that loads entries into option menus by querying my SQLite database. I've checked the timing of the SQLite query and nothing seems awry there. Does anyone have any tips on how to debug something like this in a standalone without using a large number of answer information statements or any tips on things that work fine in the IDE but perform slowly in a standalone? The only major code change I can think of is that I am using the long name of various controls and I used to use the unique ID, but once again why would that cause a problem in a standalone and not in the IDE. Any suggestions most welcome! Pete Haworth ___ use-revolution mailing list use-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: Livecode suffix is a pain
I'd like to know the answer to that question too. Pete Haworth On Oct 8, 2010, at 10:00 AM, use-revolution-requ...@lists.runrev.com wrote: I see that when saving stacks, we have the possibility of creating a legacy stack. What difference does this make to the stack ? ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Image Library Disappeared in LiveCode
Hmmm, well I guess the answer's No but I'm not sure why they would show up in the App browser. In case I didn't explain things properly, I'm referring to the Image Library option on the Development menu. I had used the Import File option on the Images tab to bring in some image files under Revolution 4.0. They still show up in Rev 4.0 but aren't listed in LiveCode 4.5. Pete Haworth On Oct 5, 2010, at 9:22 AM, use-revolution-requ...@lists.runrev.com wrote: Message: 5 Date: Mon, 04 Oct 2010 19:49:17 -0500 From: J. Landman Gay jac...@hyperactivesw.com Subject: Re: Image Library Disappeared in LiveCode To: How to use Revolution use-revolution@lists.runrev.com Message-ID: 4caa760d.1040...@hyperactivesw.com Content-Type: text/plain; charset=ISO-8859-1; format=flowed On 10/4/10 7:05 PM, Peter Haworth wrote: I had imported 3 or 4 image libraries into Revolution 4.0. They don't show up in LiveCode 4.5. I don't have the external sources of the image files on my computer - any ideas on how I can get them back? Do they show up in the application browser? -- Jacqueline Landman Gay | jac...@hyperactivesw.com 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
Re: Datagrid Default Column Behavior
OK, got it, misunderstood what to clear out. All works fine now. Pete Haworth On Oct 5, 2010, at 9:22 AM, use-revolution-requ...@lists.runrev.com wrote: Message: 20 Date: Tue, 5 Oct 2010 08:37:07 -0400 From: Trevor DeVore li...@mangomultimedia.com Subject: Re: Datagrid Default Column Behavior To: How to use Revolution use-revolution@lists.runrev.com Message-ID: aanlktimjlfqoz6eod_lbkxpqnjes2iz0c4gxrj5gu...@mail.gmail.com Content-Type: text/plain; charset=ISO-8859-1 On Mon, Oct 4, 2010 at 3:44 PM, Peter Haworth p...@mollysrevenge.comwrote: I guess I'm not understanding this correctly. Here's what I did, assuming the column with the option menu in it is named OptionColumn On the Datagrid Templates card, I see a button named OptionColumn Behavior. I deleted all the lines from the script for that button then hit Apply. Then I opened the card containing my datagrid but still my default column script is only executed for columns that have not been customised. Deleting the script doesn't change the fact that the button is assigned as the behavior for the OptionColumn column. You need to set the behavior property of the OptionColumn group on you template card to empty. Otherwise you have a column template with no script at all (because you deleted the script in OptionColumn Behavior). -- Trevor DeVore Blue Mango Learning Systems ScreenSteps: http://www.screensteps.com Releasable Revolution Resources for Developers: http://revolution.bluemangolearning.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
Re: Image Library Disappeared in LiveCode
Prowled around a bit more and found where the icons were stored in Rev 4.0 (I'm running on OSX). They are in the Documents/My Revolution Studio/Resources/Icon Libraries folder. Each set of icons I imported is in a rev stack named revlib followed by the name of the icon library. I'm hoping I can just move those stacks to somewhere in the new LiveCode hierarchy to have them show up. Any ideas? Pete Haworth On Oct 5, 2010, at 9:22 AM, use-revolution-requ...@lists.runrev.com wrote: Message: 5 Date: Mon, 04 Oct 2010 19:49:17 -0500 From: J. Landman Gay jac...@hyperactivesw.com Subject: Re: Image Library Disappeared in LiveCode To: How to use Revolution use-revolution@lists.runrev.com Message-ID: 4caa760d.1040...@hyperactivesw.com Content-Type: text/plain; charset=ISO-8859-1; format=flowed On 10/4/10 7:05 PM, Peter Haworth wrote: I had imported 3 or 4 image libraries into Revolution 4.0. They don't show up in LiveCode 4.5. I don't have the external sources of the image files on my computer - any ideas on how I can get them back? Do they show up in the application browser? -- Jacqueline Landman Gay | jac...@hyperactivesw.com 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
Re: Image Library Disappeared in LiveCode
Thanks to all for the suggestions. I pointed the LiveCode preferences to the old Revolution folder and all works fine again now. I know that was a trivial issue in the general scheme of things but sure would have been nice to have some information about it in the release notes for LiveCode; I'm now wondering how many other trivial but time-consuming problems I'm going to uncover in the coming months. I also see in the release notes that neither the user documentation nor the dictionary have been updated to reflect the LiveCode changes and also notice that many messages from LiveCode still refer to Revolution. And I see from posts on this forum that there are new datagrid library features included with LiveCode that I can't find any mention of in the release notes. Maybe there are other undocumented changes in LiveCode? Pete Haworth ___ use-revolution mailing list use-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: Drag drop reordering of a DataGrid form
Maybe I'm misunderstanding something but I don't see any code for handling drag/drop in the default datagrid behavior script I got when I installed LiveCode 4.5 Pete Haworth On Oct 4, 2010, at 10:00 AM, use-revolution-requ...@lists.runrev.com wrote: Message: 3 Date: Mon, 4 Oct 2010 09:40:47 -0400 From: Trevor DeVore li...@mangomultimedia.com Subject: Re: Drag drop reordering of a DataGrid form To: How to use Revolution use-revolution@lists.runrev.com Message-ID: aanlktiknk=kzhhcl5bbtpdecy1dpaexe37tww=r7q...@mail.gmail.com Content-Type: text/plain; charset=ISO-8859-1 On Sat, Oct 2, 2010 at 9:32 AM, zryip theSlug zryip.thes...@gmail.comwrote: Just to clarify, this is a change in the datagrid library itself not in the LiveCode engine. I have tried this by using the revdatagridlibrary stack from the LiveCode 4.5 into my version of Revolution 4.5 dp2 and now I have to set the dragAction to make the reorder perform. In the dgDragMove handler update the code that sets the dragAction to this: ## Make sure data grid control will accept drop if the dragSource contains the long ID of me and (the mouseControl is not empty and the long id of the mouseControl contains the long ID of me) then set the dragAction to move end if -- Trevor DeVore Blue Mango Learning Systems ScreenSteps: http://www.screensteps.com Releasable Revolution Resources for Developers: http://revolution.bluemangolearning.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
Re: Datagrid option menu initialisation
Thanks Trevor, that works great. Follow up question for you. I have a datagrid table with two option menu columns in it. It's OK to initialise the first one per your reply but the contents of the second one need to be set differently depending on the currently selected value in the first option menu. Any recommendations as to how to do that? Pete Haworth On Oct 4, 2010, at 10:00 AM, use-revolution-requ...@lists.runrev.com wrote: Message: 4 Date: Mon, 4 Oct 2010 09:42:59 -0400 From: Trevor DeVore li...@mangomultimedia.com Subject: Re: Datagrid option menu initialisation To: How to use Revolution use-revolution@lists.runrev.com Message-ID: aanlktimob-tivaybneta-qqdoawv-ahkyoh0vec8f...@mail.gmail.com Content-Type: text/plain; charset=ISO-8859-1 On Sat, Oct 2, 2010 at 12:22 PM, Peter Haworth p...@mollysrevenge.comwrote: I have defined an option menu in a datagrid column whose contents are created by reading data from an SQLite database - the contents will be the same for each instance of the option menu and should be loaded when the card containing the datagrid is opened. Where should I put the code to create the option menu contents? In the card that contains the data grid :-) In the preopencard or openCard message query the database, update the menu button text in the data grid template and then load the data grid. Since the template has the updated menu text all instances of your column will contain the updated menu text. -- Trevor DeVore Blue Mango Learning Systems ScreenSteps: http://www.screensteps.com Releasable Revolution Resources for Developers: http://revolution.bluemangolearning.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
Re: Datagrid Default Column Behavior
I guess I'm not understanding this correctly. Here's what I did, assuming the column with the option menu in it is named OptionColumn On the Datagrid Templates card, I see a button named OptionColumn Behavior. I deleted all the lines from the script for that button then hit Apply. Then I opened the card containing my datagrid but still my default column script is only executed for columns that have not been customised. Any ideas? Pete Haworth On Oct 4, 2010, at 10:00 AM, use-revolution-requ...@lists.runrev.com wrote: Message: 5 Date: Mon, 4 Oct 2010 09:45:02 -0400 From: Trevor DeVore li...@mangomultimedia.com Subject: Re: Datagrid Default Column Behavior To: How to use Revolution use-revolution@lists.runrev.com Message-ID: aanlktimf1et1p5pfc_g-vpemmpd7hf2txg+-xsbq-...@mail.gmail.com Content-Type: text/plain; charset=ISO-8859-1 On Sun, Oct 3, 2010 at 9:06 PM, Peter Haworth p...@mollysrevenge.comwrote: What is the correct way to set the default column behavior of a datagrid so that the script is entered for columns which have been customised to contain option menus? I have set the default column behavior property for the datagrid but suing debug shows that the script is only executed for columns that hve not been customised in some way. When you create a custom column the behavior script of the column template is assigned to the behavior that is created alongside the column template. The default column behavior only applies to column templates that do not have a behavior assigned. Just set the behavior of your new column template to empty and then it will inherit the default behavior. -- Trevor DeVore Blue Mango Learning Systems ScreenSteps: http://www.screensteps.com Releasable Revolution Resources for Developers: http://revolution.bluemangolearning.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
Image Library Disappeared in LiveCode
I had imported 3 or 4 image libraries into Revolution 4.0. They don't show up in LiveCode 4.5. I don't have the external sources of the image files on my computer - any ideas on how I can get them back? Pete Haworth ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Datagrid Default Column Behavior
What is the correct way to set the default column behavior of a datagrid so that the script is entered for columns which have been customised to contain option menus? I have set the default column behavior property for the datagrid but suing debug shows that the script is only executed for columns that hve not been customised in some way. This is with LiveCode 4.5 Pete Haworth ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
LiveCode Datagrid Questions
I'm having a number of issues with datagrids created in LiveCode 4.5. Datagrids created by Revolution 4.0 still work fine. I am unable to create custom column behaviors for any columns using the recommended method. I click the plus sign for the column, the card with the row template is displayed, I select the row template group but the Edit Group button in the toolbar or on the Object menu is greyed out and doesn't function. If I select the card containing the template for the datagrid, then select the Row Template group, the Edit Group command is available to me. I have a default column behavior script which I use for all my datagrids. Those created under 4.0 correctly execute the various handlers in that script but any created under 4.5 never execute any of the handlers in that script (the default column behavior is set to the correct button). I see two new handlers in the default column behavior supplied with LiveCode - PreFillinData and ResetData. What are some uses for these handlers? I also saw a recent post to this list regarding some new built in drag and drop reordering handlers in the default script - they don't appear in my default script. I have been using the Data Group Handler plugin. I have removed it from the Plugins folder in the Application bundle but these problems did not go away. Any answers much appreciated. Pete Haworth ___ use-revolution mailing list use-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: LiveCode Datagrid Questions (zryip theSlug)
I understand. I wasn't placing any blame on DGH. I always de-install any third party products when trying to troubleshoot weird issues like this and the problems still exist when DGH is not installed so no blame on DGH. Pete Haworth On Oct 2, 2010, at 7:09 AM, use-revolution-requ...@lists.runrev.com wrote: Peter, To clarify things about DGH (Data Grid Helper): 1) About interaction with the IDE. - DGH traps double click and click ONLY on datagrid groups. - it interacts with the LiveCode's inspector ONLY for the objects in its template area. 2) About scripts - DGH build scripts to fill column behaviors but it is not able to change how the datagrid library performs. 3) About templates - DGH uses its own way to edit the templates of a datagrid in a special area and never directly in the datagrid template it edits. - DGH not uses the IDE to edit templates. So DGH is not capable to generate the issues you describe: - group capability disable in the IDE (menu and toolbar) - handlers not working in a behavior script ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Datagrid option menu initialisation
I have defined an option menu in a datagrid column whose contents are created by reading data from an SQLite database - the contents will be the same for each instance of the option menu and should be loaded when the card containing the datagrid is opened. Where should I put the code to create the option menu contents? Pete Haworth ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: sqlite: foreign keys
I think the issue is whether the version of the sqlite drivers in LiveCode are up to date enough to include foreign key support at all. According to http://www.sqlite.org/foreignkeys.html, foreign keys were supported as of SQlite version 3.6.19 but I don;t know how to find out what version of sqlite is included with LiveCode. If foreign key support is included, it's off by default so you do have to enable it as detailed by Trevor. Pete Haworth On Sep 28, 2010, at 10:00 AM, use-revolution-requ...@lists.runrev.com wrote: Message: 14 Date: Tue, 28 Sep 2010 07:53:40 -0400 From: Trevor DeVore li...@mangomultimedia.com Subject: Re: sqlite: foreign keys To: How to use Revolution use-revolution@lists.runrev.com Message-ID: 3f385a2b-214c-4867-8af6-08887fe46...@mangomultimedia.com Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes On Sep 25, 2010, at 3:42 PM, David Bovill wrote: A quick geeky question: does anyone know if foreign key support has been turned on for the recent sqlite driver I don't think you need to turn it on when compiling. It is a pragma setting: http://www.sqlite.org/pragma.html#pragma_foreign_keys Untested but try this: revExecuteSQL theConnectionID, PRAGMA foreign_keys = true -- Trevor DeVore Blue Mango Learning Systems ScreenSteps: http://www.screensteps.com Releasable Revolution Resources for Developers: http://revolution.bluemangolearning.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
Re: Showing Invisible Fields
I do intercept several messages in front scripts (mouseUp, menuPick come to mind). I tried to relayer the field in the size and position tab of the property inspector but the arrows to manipulate the layer are greyed out and if I type in a new layer number and tab, I get a beep and the layer goes back to the original value. Pete Haworth On Sep 20, 2010, at 10:00 AM, use-revolution-requ...@lists.runrev.com wrote: Oh just read your post more carefully. That is weird. I wonder if there is some message you are intercepting that is keeping the engine from showing everything. Just shooting in the dark here. Bob ___ use-revolution mailing list use-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: Datagrid Tooltip
Thanks Zryip and Shadow Slash. Looks like this will work fine. I need to format the tooltip from data in an Sqlite database but the principal should be the same. Pete Haworth On Sep 20, 2010, at 9:24 AM, use-revolution-requ...@lists.runrev.com wrote: Hi Pete, As pointed out by Shadow Slash you can associate a tooltip in each field of a row by using the FillInData handler located in the default column behavior script. I have just uploaded a new experiment stack in my lab: http://www.aslugontheroad.co.cc/index.php?option=com_phocadownloadview=categorydownload=14:experiment-016-tooltips-for-rows-in-a-dgid=7:data-gridItemid=63 This lab stack shows how using an invisible column to have a different tooltip for each rows. Regards, -- -Zryip TheSlug- wish you the best! 8) http://www.aslugontheroad.co.cc ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Datagrid Tooltip
I see there is a dgColumnTooltip property for datagrids that sets the tooltip displayed when the mouse is over the column header. Is there a way to set the tooltip when the mouse is over a data row in the datagrid, not the column header? Pete Haworth ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Showing Invisible Fields
I'm having problems making invisible fields show up on a card. I click the Show Invisible Objects option on the View menu and some invisible fields show up but not all. In the Application Browser, I can open the property inspector for a field that does not show up, then check the Visible option and it shows up. Uncheck it and it disappears again. Pete Haworth ___ use-revolution mailing list use-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: Question about the debugger in Rev 4.0
I have a variation on this behaviour I've noticed. My main stack inserts some front scripts from another stack. I recent;y needed to debug a problem in one of the front scripts that was called in the preOpenCard event of my main stack so set a breakpoint in the fornt script, quit Revolution and re-opened my main stack. The breakpoint was ignored. The only way I could get the breakpoint to trigger was to open the front script stack first, then open my applications main stack. Pete Haworth ___ use-revolution mailing list use-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: Datagrid Drag and Drop
Thanks! That's weird, I searched the forum for drag and drop and my thread didn't appear in the results. Got the latest version of DGH by the way, just haven't had time to test it more yet. Pete Haworth On Sep 8, 2010, at 7:45 AM, use-revolution-requ...@lists.runrev.com wrote: Message: 13 Date: Tue, 7 Sep 2010 22:26:28 +0200 From: zryip theSlug zryip.thes...@gmail.com Subject: Re: Datagrid Drag and Drop To: How to use Revolution use-revolution@lists.runrev.com Message-ID: aanlktikwkkh=7xszppvn7zbzgegl73wxctiy6=a2w...@mail.gmail.com Content-Type: text/plain; charset=ISO-8859-1 On Tue, Sep 7, 2010 at 9:42 PM, Peter Haworth p...@mollysrevenge.com wrote: Months ago, I got some guidance form Trevor on how to drag and drop into and out of a datagrid. I ended up not needing to do it at the time but now I do and I can't find the notes I made on it. I've searched the online datagrid documentation and can't find anything on this subject. Can anyone point me in the right direction? Thanks, Pete Haworth Hi Pete, That is the thread you have opened months ago: http://forums.runrev.com/phpBB2/viewtopic.php?p=17333. For reorder lines in the same Data Grid, install the copy of the Data Grid Helper I sent you today. Select a Datagrid, then go to the Scripts topics of the properties palette. You have a menu Reorder lines. Click on the Install script button to fill the datagrid group with the code you need. This is good opportunity to test this new DGH's feature. ;) Regards, -- -Zryip TheSlug- wish you the best! 8) http://www.aslugontheroad.co.cc ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Datagrid Drag and Drop
Months ago, I got some guidance form Trevor on how to drag and drop into and out of a datagrid. I ended up not needing to do it at the time but now I do and I can't find the notes I made on it. I've searched the online datagrid documentation and can't find anything on this subject. Can anyone point me in the right direction? Thanks, Pete Haworth ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: use-revolution Digest, Vol 84, Issue 3
Thanks, that works perfectly! Pete Haworth On Sep 2, 2010, at 10:00 AM, use-revolution-requ...@lists.runrev.com wrote: No no, ;) I forgot to precise that you have to create the image first A script like this should works to drag a field: on dragStart if (there is not a image DragField of this cd) then lock screen create image DragField set the visible of it to false unlock screen end if export snapshot from field 1 to image DragField as PNG set the dragImage to the ID of image DragField put (the clickH - the left of me) comma (the clickV - the top of me) into tImageOffset set the dragImageOffset to tImageOffset set the dragData[private] to text of field 1 end dragStart Regards, -- -Zryip TheSlug- wish you the best! 8) http://www.aslugontheroad.co.cc ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
DragImage question
Just working on my first drag/drop code. All seems to be working fine and a lot easier to implement than I thought it would be! I'm dragging the contents of a field (text) into another field on the same card and would like to see a faint outline of the source field and it's text follow the cursor to the destination field. I know I can set the dragImage property to an image number but in this case, the image would be different each time because of the text in the field. Any ideas? Pete Haworth ___ use-revolution mailing list use-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: DragImage question
Thanks, I can't quite get this to work. If I use your code, I get an error on the export command Chunk: No such object and the file is not created. I changed the export command to .file DragImageField instead (file instead of image), then the file was created but my Mac says it's a simple text file. Then the set command fails with the same error. Any ideas? Pete Haworth On Sep 1, 2010, at 9:39 AM, use-revolution-requ...@lists.runrev.com wrote: Message: 19 Date: Wed, 1 Sep 2010 10:38:53 +0200 From: zryip theSlug zryip.thes...@gmail.com Subject: Re: DragImage question To: How to use Revolution use-revolution@lists.runrev.com Message-ID: aanlkti=c2sielcdgws4hwlp9_ctjkwhc7y0h0woy6...@mail.gmail.com Content-Type: text/plain; charset=ISO-8859-1 On Wed, Sep 1, 2010 at 8:53 AM, Peter Haworth p...@mollysrevenge.com wrote: Just working on my first drag/drop code. All seems to be working fine and a lot easier to implement than I thought it would be! I'm dragging the contents of a field (text) into another field on the same card and would like to see a faint outline of the source field and it's text follow the cursor to the destination field. I know I can set the dragImage property to an image number but in this case, the image would be different each time because of the text in the field. Hi Pete, A solution could consist to create an image of the field on the fly. For doing that you can use the export snapshot command: export snapshot from field myDataField \ to image DragImageField as PNG set the dragImage to the short id of image DragImageField Regards, -- -Zryip TheSlug- wish you the best! 8) http://www.aslugontheroad.co.cc ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Datagrid Column Names
It appears that datagrid column names cannot be numeric? I have a datagrid that has alpha column names followed by some numeric ones. No matter what method I use for filling in the data, the columns with alpha names display correctly but the columns with numeric names are empty. If I change the column names to be alpha and put the numeric value in the column label field, all works fine. Pete Haworth ___ use-revolution mailing list use-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: Mouse Gestures
Thanks. I'll check out the library. I've entered enhancement request 8920 at the QCC related to this. I also entered enhancement request 8921 to cover the ability to add/ remove objects from groups with drag and drop in the Application Browser which I suggested a few days ago to the list. I like some of the tools that were suggested to do this but still think it should be incorporated into the IDE. Pete Haworth ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Mouse Gestures
I don;t see anything in the dictionary that looks like there are any built in features to handle mouse gestures. Wouldn;t be the first time I've missed something in Rev but are there any such features or has anyone written code to implement gestures? Thanks, Pete Haworth ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
(data grid) is there a good workaround for obtaining other column values in FillInData for a Data Grid Table?
Not sure what the source of your data is but if it's coming from a database, maybe you could have the db do the calculation for you when it retrieves the data. I'm using sqlite and have found it to be lightning fast at calculations while retrieving data, so maybe something like SELECT columnA + columnB as Total, columnA, columnB FROM ,tablename Pete Haworth On Aug 18, 2010, at 9:25 AM, use-revolution-requ...@lists.runrev.com wrote: Message: 12 Date: Tue, 17 Aug 2010 19:15:40 -0700 From: Josh Mellicker j...@dvcreators.net Subject: (data grid) is there a good workaround for obtaining other column values in FillInData for a Data Grid Table? To: how to use Revolution use-revolution@lists.runrev.com Message-ID: 9aaa4c70-8786-42d2-a901-f117d956c...@dvcreators.net Content-Type: text/plain; charset=us-ascii Let's say you had a data grid table with three columns, and you wanted the first column to be the sum of the other two, like this: 10 7 3 5 2 3 7 4 3 How would you calculate the first column while the table is filling in? ___ use-revolution mailing list use-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: [HELP] anyone have a simple handler to add a control to a group programatically?
I will put in an enhancement request and start my campaign for votes! Can someone point me to how to do this in tRev? I just got tRev and still finding my way around it. Thanks for the tip on revNavigator, just tried it out and seems to work most of the time but I did find a few instances of the changes I made in it not being reflected in the Application Browser. It's great that these 3rd-part tools and plugins are available but I'd still prefer to see it as aprt of the Rev IDE. Pete Haworth ___ use-revolution mailing list use-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: Front scripts vs Behaviors
Yep, the group=table/control=column model seems to work really well. I'm considering making all the handlers for it available once I've resolved the front script/behavior issue and tidied up the code. On the message path issue, I just meant ti wouldn't reach the target following the normal message path. The model you showed using dispatch is just what I need. Pete On Aug 11, 2010, at 9:01 PM, use-revolution-requ...@lists.runrev.com wrote: Message: 9 Date: Wed, 11 Aug 2010 11:43:23 -0700 From: Mark Wieder mwie...@ahsoftware.net Subject: Re: Front scripts vs Behaviors To: How to use Revolution use-revolution@lists.runrev.com Message-ID: 95697085765.2010084...@ahsoftware.net Content-Type: text/plain; charset=us-ascii Peter- Wednesday, August 11, 2010, 10:01:05 AM, you wrote: interface between controls on cards and my sqlite database. Groups on the card are tied to a db table and controls in the group are tied to columns in the table related to the group. Cool. I've thought of doing something like that. If I switch over to behaviors (and I'm inclined to do that) I need a way to handle this local logic since, as you say, the messages wont; ever make it to the actual control, but I still need the database No, I did *not* say that (or at least didn't mean that). Messages won't get passed farther down the path (card, stack, backscripts...) *unless* you do something yourself. If you have a handler (e.g., mouseUp) in the behavior button and not in the target button you can use the dispatch message in the behavior button to pass a message to the target. behavior: on mouseUp doSomething dispatch doMouseUp to me end mouseUp target1: on doMouseUp -- change contents of another field end doMouseUp target2: on doMouseUp -- recalculate totals end doMouseUp target3: on doMouseUp -- stuff like that end doMouseUp -- -Mark Wieder mwie...@ahsoftware.net -- ___ use-revolution mailing list use-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: revdb_connectionerr
Thanks for the replies and clarification. I do normally check the result of each db call but came across a circumstance where revdb_connectionerr would have been useful. I like the idea of using try/catch for all db operations and will implement that but I guess it relies on knowing what all the possible error messages can be. Is that dependant on which sql implementation I'm using (I use sqlite). However, that gives rise to another question. I'm using try/catch in other places to execute rev commands that are built programmatically. All works fine but the error messages that are caught are full of sequences of three numbers separated by commas as well as the original statement and an English error message (sorry don't have any examples immediately to hand). Does anyone know what those numbers indicate? Pete Haworth On Aug 11, 2010, at 8:12 AM, use-revolution-requ...@lists.runrev.com wrote: Message: 9 Date: Tue, 10 Aug 2010 13:17:32 -0700 From: Bob Sneidar b...@twft.com Subject: Re: revdb_connectionerr To: How to use Revolution use-revolution@lists.runrev.com Message-ID: 13879e4d-8eae-45d6-95ac-25601c3df...@twft.com Content-Type: text/plain; charset=us-ascii Agreed. In fact, I put all database operations inside a try/catch structure so as not to assault the end user with error dialogs that they don't know what to do with. If you are making a TON of calls in your app, you may want to consider writing a special database error function which knows how to handle all the errors you want in a way that the end user (and your app) can work with. For instance, a Database temporarily unavailable. Try again? dialog that gives the user a chance to call IT and have them get the DB back online without dumping your app mid transaction. Bob ___ use-revolution mailing list use-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: Front scripts vs Behaviors
Thanks Mark. I've read Richard's write up before, very useful. Maybe if I explain a bit more what I'm trying to achieve. I've written a development framework for my apps which serves as the interface between controls on cards and my sqlite database. Groups on the card are tied to a db table and controls in the group are tied to columns in the table related to the group. Every time the user modifies the content of a control, my frontscripts handle the updating of the database in handlers such as menuPick, closeField, etc. Sometimes, a specific control may need some local logic to handle things it needs to do other than just updating the db (changing the contents of another field, recalculate totals, stuff like that). The front script handlers pass their respective messages on so I can write that local logic as a handler for that specific instance of that type of control. If I switch over to behaviors (and I'm inclined to do that) I need a way to handle this local logic since, as you say, the messages wont; ever make it to the actual control, but I still need the database update to occur in the behavior. I'm thinking perhaps if I have handlers in the controls themselves named something like localMenuPick or something similar then have the behavior menuPick handler send/dispatch a localMenuPick messge to the control, that might work? Pete On Aug 11, 2010, at 8:12 AM, use-revolution-requ...@lists.runrev.com wrote: Message: 27 Date: Tue, 10 Aug 2010 22:10:09 -0700 From: Mark Wieder mwie...@ahsoftware.net Subject: Re: Front scripts vs Behaviors To: How to use Revolution use-revolution@lists.runrev.com Message-ID: 136648291062.20100810221...@ahsoftware.net Content-Type: text/plain; charset=us-ascii Peter- Check out Richard Gaskin's writeup on the message path: http://www.fourthworld.com/embassy/articles/revolution_message_path.html Behavior objects are not at all like frontscripts, but are more like local backscripts. That said, it sounds from your description that behaviors fit your purposes more than the use of frontscripts does. You wouldn't normally pass a message on after a behavior button has handled it (or not) because it would be at the end of the message path. Behavior objects also allow you to override a default behavior when desired. -- -Mark Wieder mwie...@ahsoftware.net ___ use-revolution mailing list use-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: [HELP] anyone have a simple handler to add a control to a group programatically?
I would love to see the ability to drag/drop controls into or out of a group in the Application Browser window. Sometimes ungrouping, select/ deselect control, group can be really error prone if nested groups/ hidden fields are involved. Pete On Aug 11, 2010, at 8:12 AM, use-revolution-requ...@lists.runrev.com wrote: Message: 20 Date: Tue, 10 Aug 2010 20:10:09 -0500 From: J. Landman Gay jac...@hyperactivesw.com Subject: Re: [HELP] anyone have a simple handler to add a control to a group programatically? To: How to use Revolution use-revolution@lists.runrev.com Message-ID: 4c61f871.9020...@hyperactivesw.com Content-Type: text/plain; charset=ISO-8859-1; format=flowed On 8/10/10 8:04 PM, Andre Garzia wrote: Folks, Trying not to reinvent the wheel here. I am working with some runtime group creations but I like to be able to add controls to an existing group. Checked the docs and did not found anything like that. Did anyone here created such command? Thanks in advance Andre groups inside groups inside groups inside... Garzia Use: create obj in grp grpname. For example: create btn newBtn in group groupTwo -- Jacqueline Landman Gay | jac...@hyperactivesw.com 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
revdb_connectionerr
Does this function return the result of the last db operation or the last db operation that failed? The dictionary entry seems to suggest the latter... Pete Haworth ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Front scripts vs Behaviors
I'm currently using front scripts to handle common events for different types of controls. For example, I have menuPick, mouseDown, and mouseUp front script handlers that deal with what I want do in those events for option menu buttons. They all pass the event on so the real controls can have their own local logic in addition to the common logic in the front scripts. I guess I'm wondering if it might be better to use behaviors instead of front scripts. The front scripts seem to work just fine but I had to jump through several hoops to prevent them from intercepting controls I didn't want them to handle, for example everything in the rev IDE, and I think some of the occasional hangs I get in Rev might be because of these front scripts. It feels like the behavior approach might be tidier since it keeps the logic closer to the objects themselves. If I do switch to behaviors, I'm not quite sure how to deal with the local logic I mentioned earlier. If the behavior handlers pass the event, will it end up going to the instance of the object that initiated the event or will I have to use a different approach for that? Seems like it might be a matter of programming style as much as anything else but I'm wondering what guidance there might be out there from people who've been using Rev for a lot longer than I have. Thanks, Pete Haworth ___ use-revolution mailing list use-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: Saving data in List Magic tables
Probably worth mentioning that, as pointed out to me by the good folks on this list, it's NOT a good idea to put any of your application's data files in the Applications folder if you plan on writing to them. Unless the Mac user is an administrator, he/she won't have write access to the Applications folder. I ended up creating a folder in the user's Documents folder to hold my data files (sqlite db, etc). And also a folder in the user's Library/Preferences folder to hold that user's preferences information. Pete Haworth On Aug 5, 2010, at 9:24 AM, use-revolution-requ...@lists.runrev.com wrote: Message: 24 Date: Thu, 5 Aug 2010 17:27:12 +0200 From: Klaus on-rev kl...@major.on-rev.com Subject: Re: Saving data in List Magic tables To: How to use Revolution use-revolution@lists.runrev.com Message-ID: dc038219-5b8b-4542-b7e9-a1f2d797d...@major.on-rev.com Content-Type: text/plain; charset=us-ascii Hi Charles, Richard, What is the best location for an app to be installed on OSX? The Application folder. Get it with: specialfolderpath(apps) Charles Szasz csz...@mac.com Best Klaus ___ use-revolution mailing list use-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-Rodeo] Still waiting for the aha moment
I downloaded Rodeo a couple of days ago and have spent a little time using Transfer and playing around with it. I guess I'm struggling with the definition of what an app is. To me, an app is a fully functional program that provides an interface for the user to interact with, logic to manipulate user input, the ability to store and retrieve data, etc but all I see in Rodeo is a way to lay out web pages and perform a few basic actions, certainly no data retrieval/storage functionality. Do I have to learn another language to implement the logic and data storage behind the web pages? I hope I'm missing something or that it's early days yet and there's a lot more to come in Rodeo because right now it doesn't come close to providing me with the ability to implement an app by my definition and I really want to experience that aha moment! Pete Haworth ___ use-revolution mailing list use-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-Rodeo] Still waiting for the aha moment
Thanks Jerry. Just so you know, I already purchased Rodeo for it's potential! I guess your answer falls into the category mentioned in my original email of it's early days yet and that's fine. I looked at the countdown to release link and I'l wait with bated breath for July 27th when the data objects are scheduled for release, that's one of my major concerns right now although I'm guessing there won;t be any sqlite connectivity. I agree with your philosophy of trying to keep things simpler and also agree that Revolution can be phenomenally difficult to comprehend, especially for new users, but sometimes complexity is the price you have to pay for power - a delicate balance! Pete Haworth Message: 14 Date: Wed, 21 Jul 2010 17:03:25 -0500 From: Jerry Daniels jerry.dani...@me.com Subject: Re: [OT-Rodeo] Still waiting for the aha moment To: How to use Revolution use-revolution@lists.runrev.com Message-ID: 2c8551a8-422f-4e2e-a491-de8e9552c...@me.com Content-Type: text/plain; charset=us-ascii Hey, Pete! Taking a look at our countdown to release list in this post may help some: http://rodeoapps.com/limited-pre-release-offer The a-ha will come in increments. The biggest one we are working on now is data. The ability to handle records--edit, delete, create, list, etc. it a big step toward app status. The wrapper around the app is not as important right now to us as having a quality delivery of data / content. But the wrappers are coming along on the target platforms. I think it's pretty clear when you look at the schedule and our history, we're making progress and will continue to do so. We are discounting our prices heavily to encourage users to get their feet wet with the overall framework, syntax and workflow. We also use this to fund development. We are not using borrowed or venture capital money to do this. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Saving Changes in a Standalone
You're not doing anything wrong - Revolution does not allow data, custom props, etc to be saved in a standalone application. I was just bitten by this a couple of weeks ago. I'm using a database to store all my data so that wasn't an issue, but I also use custom props whose settings have to survive across runs of the application. I ended up writing getProp and setProp handlers for the custom props I cared about to store them in an external preferences file. Pete Haworth On Jul 1, 2010, at 2:46 PM, use-revolution-requ...@lists.runrev.com wrote: Message: 24 Date: Thu, 01 Jul 2010 17:43:48 -0400 From: Gregory Lypny gregory.ly...@videotron.ca Subject: Saving Changes in a Standalone To: Revolution use-revolution@lists.runrev.com Message-ID: d8dd99d7-d3ff-4a81-9968-bcc0ecfa7...@videotron.ca Content-Type: text/plain; charset=us-ascii Hi everyone, I suspect this has come up before. I just built a standalone version of a stack that allows users to import data into fields. Custom props are set during a user's session and various other changes occur. I have the following save handler in the stack script, but when I quit the standalone and reopen it, none of the changes has been kept! on closeStack save this stack end closeStack What am I doing wrong? I thought that the contents of fields, changes to button menus, and custom props would be saved. Regards, Gregory ___ use-revolution mailing list use-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: Saving Data in Standalones
Thanks for all the suggestions folks. I've already set up a preferences file and rewritten the code that opens my db to get it's path from there and store the path there if a different db is opened and all works well. Thanks to Sarah Reicheldt for the function that returns the user's Preferences folder on OSX or Windows. I have a bunch of other preferences that I'm currently storing in custom properties and plan to convert the handling of them to use the preferences file also. As an aside, I did come across a couple of other gotchas in the course of implementing that. I read that opening a file for write access will create it if it doesn't already exist. Perfect I thought, then was mystified that it wasn't happening until I scrolled down the dictionary entry and found a user comment that files are NOT created if their enclosing folder does not exist. Mark, thanks for the idea of passwording my stack to avoid the possible unauthorised modification of it. I'm thinking I'm probably being somewhat paranoid on that front but it could happen. I also like your idea of keeping the substacks in separate files right from the development stage for the reason you mention - that it avoids the standalone being run/tested in a different environment than in development. Kay, thanks for the suggestion of saving things in my sqlite database. I had indeed thought of that and I may still go ahead with that approach. The main reason I haven't just jumped in and done it already is the one you referred to which is the considerable amount of coding changes I'd need to make. Plus the db designer in me is baulking at the idea of storing real application data and internal data in the same db but I guess I could overcome that or even use a separate db. The only thing I'm still unsure of is this whole issue of the Applications folder not being enabled for write access. On my Mac (OSX 10.5), i have read and write access to the Applications folder but this keeps coming up which makes me wonder if my Mac is not configured in the standard way. I don;t recall ever changing the permissions on the Applications folder, but it is possible. Don't want to assume my Applications folder is set up normally and then find that everything falls down when other people try to run the app. Pete Haworth ___ use-revolution mailing list use-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: Saving Data in Standalones
Thanks Mark, it is indeed the case that I'm logging in with admin privileges. After vacillating back and forth on the best solution to this issue, here's what I think I'm going to do. It turns out there are only three custom property names that I need to preserve between runs, although they exist in a large number of objects. I think I can write a setProp handler for each of the three custom properties that will store their values in either my sqlite db or a preferences file of some sort (haven't decided on that yet). Each entry will consist of the object's ID as a key, plus it's value. I'll put the setProp handlers in my main stack's stack script so it will be called for any object that has those properties. When my application starts up, I'll retrieve all these property values and set them into the objects that own them. I'll have to find a mechanism to prevent the setProp handler from updating them again during that process but some sort of global variable should take care of that. Alternatively, I could write a getProp handler for each of them I guess. All that's left at that point is to run a one-off script that will locate all the instances of these custom properties and put them into my sqlite db/preferences file. I already have code that locates all objects with a given custom property so should be a simple matter to add the update of the sqlite db/preferences file. With this approach, I don;t have to worry about splitting up my application into two or more stack files, write access to them or the issue of preventing users from changing the stack files, which I think would probably involve a lot more work than the above solution Be grateful for any input on this idea.. Pete Haworth On Jun 7, 2010, at 10:00 AM, use-revolution-requ...@lists.runrev.com wrote: Message: 8 Date: Mon, 7 Jun 2010 18:06:27 +0200 From: Mark Schonewille m.schonewi...@economy-x-talk.com Subject: Re: Saving Data in Standalones To: How to use Revolution use-revolution@lists.runrev.com Message-ID: 4d63dbd4-4428-40e3-9953-b35c3d157...@economy-x-talk.com Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Pete, Probably, you log in on your Mac with admin privileges. That gives you write access to the applications folder. The guest account (Mac OS X 10.5 and later) and limited accounts don't have write access for the applications folder and several other folders. That's why you should avoid writing to those folders. -- Best regards, Mark Schonewille ___ use-revolution mailing list use-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: REALBasic vs Revolution (Michael Kann)
Thanks for all the input. As usual, sounds like it comes down to a matter of the application and personal preferences. I've spent perhaps 30 minutes looking over Real Studio and what has caught my eye so far is the report writer, as previously mentioned, what looks like very well organised documentation (which for me is a major problem area in Revolution), and IDE that feels more comfortable to me, and at first glance, functionality that is at least equivalent to Revolution. Small things catch my eye, like placing controls on a tabbed control automatically makes them visible/invisible when a tab is clicked on without having to mess with groups as in Revolution. Lynn, you mentioned several third party report writers for Rev. I'm aware of Quartum but could you point me to any others? The lack of built-in report writing capabilities in Rev is a major issue for me. Once again, thanks to all for the valuable input. I'm probably not going to switch to Real Studio at this point, I've got too many development hours invested in my Revolution app, but when I start my next app I think I will try Real Studio out to see what it can do. Pete Haworth http://www.mollysrevenge.com http://www.sonicbids.com/MollysRevenge http://www.myspace.com/mollysrevengeband On Jun 6, 2010, at 6:42 AM, use-revolution-requ...@lists.runrev.com wrote: Re: REALBasic vs Revolution (Michael Kann) ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Saving Data in Standalones
Not again, I can hear some people saying! I've just run into this long standing issue in the context of needing to save the filepath to my database across runs of Revolution and also various other settings I need to save which are currently in custom properties. I'm not concerned about saving my applications data across runs because I'm using an sqlite database for that. The stuff I need to preserve is more in the way of internal settings. I'd prefer to leave them in custom properties if I can because storing them elsewhere will entail a substantial amount of work to find all the places in my code where I set and get custom properties and replace the logic with something else. I've searched the list archives and the discussion forums and also read Sarah Reicheldt's revJournal article and Mark Wieders Conference presentation and still somewhat confused by the solutions to this. The most common solution seems to be to create a single stack .rev file that does nothing except invoke the real .rev file and use it as the basis for the build of the standalone app. But then I see mentions of that being a problem because of the lack of write access to the Applications folder (I'm primarily concerned with Macs) so I look at the permission on my Applications folder and I have full read and write access to it and the standalone Rev app so am I missing something? Then there's the issue of how to implement that solution. I see that Sarah's article recommends using the Move substacks into individual files option which Mark also describes but then advises against because of message passing hierarchy problems. So should use that option or not? And if I do, how do I open the mainstack of my real .rev file? go stack URL or can I just go stack? I'm also concerned about what seems to be a huge support issue. If I understand this method correctly, the .rev file containing the real application will be just that, a .rev file not a compiled application. If that's true what's to stop a user of my application who owns Revolution from changing my application code? And then I ran across a post on the forum concerning a complication with this approach related to how to get the datagrid library included in the app. There's a fairly simple workaround for it but now I'm wondering what other issues of that nature there might be. How about the database library for example? And right now, I insert a couple of front scripts into my app - should that logic stay in the real application or be moved to the single stack application? So pity this poor unsuspecting user that thought the IDE might perhaps warn him if he tried to do something that absolutely would not work in a standalone application, or perhaps expected that an attempt to save something that couldn't be saved would at least throw an error in a standalone application, and believed the user guide section on building standalones which states All of Revolution's feature set is available in a standalone application, followed by a couple of exceptions which don't include the fact that you can't save data in them, and the section on global variables that notes that you can't save them across runs and recommends, amongst other things, saving them in a custom property if you need to do that. Help! Pete Haworth ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
REALBasic vs Revolution
Wondering if anyone has personal experience using REAL Basic and Revolution? I did see some discussions on this list but they're all pretty old. At first glance, REAL Basic appears to provide very similar functionality to Revolution and a few things (like a report writer) that aren't in Revolution, at least without an extra cost third party add-on. Also possible that this isn't an appropriate place for such discussions, and I'm fine with that. Thanks, Pete Haworth ___ use-revolution mailing list use-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: RTF documents as templates
I've been trying to figure out how to use an RTF document as a template using pretty much this same methodology. The problem I ran into is that sometimes, for reasons I don;t understand, the token names I put into the document get interspersed with RTF commands, so something that looks like [myToken] when displayed in Word ends up looking like [myRTF commandstoken]. That stops my search for tokens dead in it's tracks. Another method I've tried is to set up a Word document with merge fields in it and have my application write out a comma delimited file that is the source for the merge data. That works well if you have a predictable number of lines you want to print, not so good for variable number of lines. Right now, I've settled on writing out html code from templates that are defined within my Application. I have some conventions to deal with repeating lines. For example, if I was printing an invoice, I'd define one html line in the format of an invoice line and its definition would include a code that tells me I need to repeat that line for each invoice line I'm printing. That works quite well although so far I haven't figured out how to deal with printing a heading at the top of each page. I guess I should break down and spend some money on a real report writer, especially since all my data is stored in an sqlite database but it's a fun challenge to figure this stuff out sometimes! Pete Haworth On Jun 1, 2010, at 10:00 AM, use-revolution-requ...@lists.runrev.com wrote: Message: 16 Date: Tue, 1 Jun 2010 14:38:10 +0200 From: Robert Brenstein r...@robelko.com Subject: Re: RTF documents as templates To: How to use Revolution use-revolution@lists.runrev.com Message-ID: p06240805c82aae204...@[192.168.1.94] Content-Type: text/plain; charset=us-ascii ; format=flowed On 31.05.10 at 10:50 -0700 JosepM apparently wrote: Nop. My solution was store the entire document and search and replace before to build the document, and then out as PDF using Quartam PDF Library and Quartam Reports, but also you can print from a card. If you need to just print, producing PDF files might be a way to go. Using RTF works as well. I used RTF documents as templates to produce Word docs. Basically, I created a full blown, properly formatted Word doc as template, then replaced variable elements with tokens, in my case things like [title], [description]. Rev stack read RTF directly into a variable and replaced the tokens, then saved new file. One needs to use RTF commands for marking new paragraphs, styles, and code non-English characters. I even used to produce Word table with varying numbers of rows by marking a repeating code for row in RTF and replicating it as many times as needed. Some sleuthing required, though, to decipher blocks in RTF. Robert ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: use-revolution Digest, Vol 80, Issue 81
I'm glad to gear such a simple solution! My concerns were all based on the following in the dictionary entry for behavior: The behavior property is a reference to a button containing the script to use. It is in the format of a long ID. I guess I need to be more careful about believing what the dictionary says! Pete Haworth On May 25, 2010, at 12:57 AM, use-revolution-requ...@lists.runrev.com wrote: Hi Peter, No, you don't need to include the operating system's path to the stack file. For example, the following is a correct reference for a behavior: button id 1015 of stack Untitled 1 You can keep one copy of your stack with parent objects on your hard disk and add this stack to the stackfiles property of the mainstack of your project. When you build the standalone, the stack will be copied into your standalone and above reference will still work. -- Best regards, Mark Schonewille Economy-x-Talk Consulting and Software Engineering Homepage: http://economy-x-talk.com Twitter: http://twitter.com/xtalkprogrammer Economy-x-Talk is always looking for new projects. Contact me for a quote http://economy-x-talk.com/contact.html Download Clipboard Link http://clipboardlink.economy-x-talk.com and share the clipboard of your computer over the local network. On 24 mei 2010, at 22:03, Peter Haworth wrote: I'm trying to figure out the best way to make a library of behavior buttons available to multiple applications. I originally developed the library as a substack of my application but would now like to move it to a separate .rev file and refer to it from other applications. Seems like that gives me a single maintenance point - fix any behavior problems in the library and it's automatically fixed in all applications. However, it's feeling like this isn't a practical solution. As I understand it, the behavior property of an object uses the long id of the button it refers to and I think the long id includes the operating system path to the .rev file that the button is in. Just for development purposes, I have three different folders I use - one for code and test, another for QA, and anther for the final application. SO if I set the behavior to point to my library of behaviors in the code and test folder, then move the app's .rev file to the QA folder, the behavior properties will still point to the behavior library of in the code and test folder. And so on. I'm sure there much more experienced users than me out there who have run into this problem and hoping they can share how they dealt with it. Only thing I can think of is a script that runs during installtion to go find all controls with a behavior property set and change it to the correct one. Pete Haworth ___ use-revolution mailing list use-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: Implementing a library of behavior buttons across multiple applications
Thanks for the explanation Richard. This stuff isn't made any easier by the fact that there are multiple names available for the same thing - behavior=parentScript apparently. Getting back to Mark's answer and the use of stack files, I see two separate places where additional stack files can be specified - the stackFiles property of the main Stack (or the equivalent pane in the main stack inspector), and the Stacks pane of the Standalone Application Settings which gives rise to the question, what is the relationship between these two settings? Does one override the other? Is stackFiles operative for the development environment only and the standalone setting for standalone applications only? Pete Haworth On May 25, 2010, at 10:00 AM, use-revolution-requ...@lists.runrev.com wrote: Message: 7 Date: Tue, 25 May 2010 09:33:27 -0700 From: Richard Gaskin ambassa...@fourthworld.com Subject: Re: use-revolution Digest, Vol 80, Issue 81 To: How to use Revolution use-revolution@lists.runrev.com Cc: Runtime Revolution Support supp...@runrev.com Message-ID: 4bfbfbd7.7090...@fourthworld.com Content-Type: text/plain; charset=ISO-8859-1; format=flowed Peter Haworth wrote: I'm glad to gear such a simple solution! My concerns were all based on the following in the dictionary entry for behavior: The behavior property is a reference to a button containing the script to use. It is in the format of a long ID. I guess I need to be more careful about believing what the dictionary says! Pete Haworth The docs are kinda correct, but just don't tell the whole story (I'm cc'ing support here so the Dictionary entry can be updated to reflect the full story): You can use the long ID of a button to set the value of the behavior property for an object, but once it's set it gets stored using only the short name of the stack the behavior button is in. This is explained more fully in the ParentScriptNotes.txt document included with the Rev install: PARENT SCRIPTS - RESOLUTION A control's parent script reference is saved in the stackfile as three pieces of information: 1) button id 2) stack name 3) mainstack name (if stack is substack) This is the minimum required information to uniquely identify a button within a running Revolution environment. Immediately after loading a stack file, an attempt is made to resolve all parentScript references - the engine acts as if it constructs a control reference: button id id of stack stack name [ of stack mainstack name ] And attempts to access it. Thus, the stackFiles property will be searched as appropriate and any needed stacks will be loaded. -- Richard Gaskin Fourth World Rev training and consulting: http://www.fourthworld.com Webzine for Rev developers: http://www.revjournal.com revJournal blog: http://revjournal.com/blog.irv ___ use-revolution mailing list use-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: Implementing a library of behavior buttons across multiple applications
Thanks Richard. So the SB pulls in ALL the stack files defined to it int the application and I don;t have to send any of them out with the app, right? Pete Haworth http://www.mollysrevenge.com http://www.sonicbids.com/MollysRevenge http://www.myspace.com/mollysrevengeband On May 25, 2010, at 1:15 PM, use-revolution-requ...@lists.runrev.com wrote: Two different things: The Stacks pane in the SB is used for copying separate stack files into the file that will become the standalone. The stackfiles property of a stack is a list which allows the engine to easily locate stacks which aren't in the stackfile so that you can still refer to them by just their short name in your scripts. For example, if you have a stack named Behaviors in a stack file named Behaviors.rev in a folder named Components which is in the same folder as your stack file or standalone, you can set the stackfile's property of your stack to: Behaviors,Components/Behaviors.rev ...and the engine will then know exactly where to find the stack whenever your scripts refer to a stack named Behaviors. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Implementing a library of behavior buttons across multiple applications
I'm trying to figure out the best way to make a library of behavior buttons available to multiple applications. I originally developed the library as a substack of my application but would now like to move it to a separate .rev file and refer to it from other applications. Seems like that gives me a single maintenance point - fix any behavior problems in the library and it's automatically fixed in all applications. However, it's feeling like this isn't a practical solution. As I understand it, the behavior property of an object uses the long id of the button it refers to and I think the long id includes the operating system path to the .rev file that the button is in. Just for development purposes, I have three different folders I use - one for code and test, another for QA, and anther for the final application. SO if I set the behavior to point to my library of behaviors in the code and test folder, then move the app's .rev file to the QA folder, the behavior properties will still point to the behavior library of in the code and test folder. And so on. I'm sure there much more experienced users than me out there who have run into this problem and hoping they can share how they dealt with it. Only thing I can think of is a script that runs during installtion to go find all controls with a behavior property set and change it to the correct one. Pete Haworth http://www.mollysrevenge.com http://www.sonicbids.com/MollysRevenge http://www.myspace.com/mollysrevengeband ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
How To Discover The Properties of a Control
Is there a simple method to get a list of all the properties associated with a given control along with their settings? I know how to get custom properties but I'm referring to the Revolution properties, most of which appear in the Property Inspector window. I found the propertynames function ibut the dictionary claims it returns all the possible property names used by Revolution, not those associated with a specific control. Thanks, Pete Haworth ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: How To Discover The Properties of a Control
Thanks for the pointer on how to do this and for pointing me to your Wizard stack. The Wizard looks like what I was trying to do and i'll give it a try. A little worried about the preOpenStack issue because I'm doing that in my app as well but we'll see how it works out. Thanks Craig. Pete Haworth On May 6, 2010, at 10:00 AM, use-revolution-requ...@lists.runrev.com wrote: Message: 27 Date: Thu, 6 May 2010 12:57:43 EDT From: dunb...@aol.com Subject: Re: How To Discover The Properties of a Control To: use-revolution@lists.runrev.com Message-ID: 24b58.6c89efc6.39144...@aol.com Content-Type: text/plain; charset=US-ASCII Or you can download my Wizard from revOnLine. It does all that you asked for, and allows you to change values on the fly. Craig Newman ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Does this list have a moderator?
First of all, thank you Tom McGrath - I wholeheartedly agree with everything you said. I haven't been using Revolution very long and I'm still at the stage where I rely on this list and the discussion forum to help me. So far it has been a great experience and I haven't been exposed to the opinionated nonsense that I've seen on other lists but this last couple of weeks has been ridiculous. If there is a moderator for this list, could he/she please stop this or explain why it is being allowed to continue? Until then, I am stopping the emails I get from the list which really irks me because I've had a lot of very valuable advice and help from it. I'll switch it on in a week or so and hope that things get back on topic again. Pete Haworth On May 6, 2010, at 5:33 PM, use-revolution-requ...@lists.runrev.com wrote: Message: 1 Date: Thu, 06 May 2010 17:01:30 -0400 From: Thomas McGrath III mcgra...@mac.com Subject: Re: How exactly does runrev for ipad/iphone work? To: How to use Revolution use-revolution@lists.runrev.com Message-ID: bcef8671-e027-40f4-8917-e71e0eb57...@mac.com Content-Type: text/plain; charset=windows-1252 I'm am really getting so sick of listening to this crap. Please go join some APPLE hating, Steve Jobs hating list. WILL YOU PLEASE. It's getting to be too much, staying out of this freaking rhetoric when the comments go down this direction. What with the Hitler references and EVIL comments and BLAH BLAH BLAH I use a CROSS-PLATFORM tool call RunRev and I think this has gone far beyond what I am willing to put up with. We have Macintosh developers and Windows developers and Linux developers and soon we are going to have Google developers and Maemo developers. We here on this list need to set an example of true cross-platform respect towards each others platform of choice. PLEASE STOP USING OUR USE REVOLUTION LIST TO ATTACK AND DEFAME AND AIR YOUR PERSONAL VENDETTAS. I don't care it you hate Apple. I don't care if you like ___ better. I don't care if you don't like Steve Jobs. I don't care if you think it's wrong. I don't care what your damn opinions are. JUST STOP Tom McGrath ___ use-revolution mailing list use-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: Apples actual response to the Flash issue
I'm not sure what the etiquette of this board is or if there's a moderator, but surely this thing has wandered far off anything remotely to do with Revolution and taken up way too much space. Can we get back to Revolution related topics? Pete Haworth ___ use-revolution mailing list use-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: iPhone?
Here's a thought for Rev - put revMobile on Android. Pete Haworth ___ use-revolution mailing list use-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: Sending a message to multiple objects
Thanks Mark and Sarah, Sounds like just what I need. How do I find this on RevOnline? I searched for MVC but nothing came up. Pete Haworth On Apr 22, 2010, at 1:01 AM, use-revolution-requ...@lists.runrev.com wrote: Message: 19 Date: Wed, 21 Apr 2010 20:08:43 -0700 From: Mark Wieder mwie...@ahsoftware.net Subject: Re: Sending a message to multiple objects To: How to use Revolution use-revolution@lists.runrev.com Message-ID: 88665347421.20100421200...@ahsoftware.net Content-Type: text/plain; charset=us-ascii Sarah- Wednesday, April 21, 2010, 4:18:27 PM, you wrote: There was an MVC demo stack doing the rounds a couple of years ago. I think it used something similar to this where controls registered their interest and then all registered controls got the specified messages. I forget who wrote the stack, but a search for MVC.rev might turn up something. Or maybe the original author could step in here before my vague memories cause too much confusion :-) Um... yeah... that would be me. I believe the library and demo stack might be on revOnline (can't check at the moment), but I'll repost it if it's not. I originally thought that what I was presenting was an MVC construct, but David Bovill convinced me otherwise. It *does* implement the publish-and-subscribe pattern whereby you can register controls' interest in receiving messages from any or from specific other controls. -- -Mark Wieder mwie...@ahsoftware.net ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution