Re: Getting Email
On 10/24/2010 8:46 AM, Ray Horsley wrote: Alex, Thanks for these suggestions. Please let me know if you ever write something a little beefier; i.e. something which could read attachments and work with SMTP. I'm pretty sure Sarah has one that uses SMTP too. What makes reading attachments so hard? Aren't they separated by an ID number and you're told what the type of the attachment is and possibly the length? It seems like LiveCode's text search routines would make it pretty easy to delimit the various attachments from each other. The hard part would be deciding what to do with them once you had them. len morgan ___ use-revolution mailing list use-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: on-rev remote database
This is all a moot point now since I have just been informed by Heather that the only way the on-rev server can be set up to do this is if you give them all of the IP addresses that people are going to connect from and they will allow those IP addresses to connect. This of course will never work with a large potential user base of hundreds or thousands. I guess I'm going to have to throw away everything I've done so far and start over with the web based approach that Pierre suggested. It's going to kill my performance but it's the only option I've got open to me at this point. len morgan On 10/19/2010 2:27 AM, Pierre Sahores wrote: Le 18 oct. 2010 à 20:41, Andrew Kluthe a écrit : The client never actually gets the login credentials for the database because they are stored in our private big client DB. On startup the rev program fetches the credentials from our database and connects to theirs to begin working with it. Definitively the way to go ! I would hate to have to rewrite my entire suite of programs to center around an irev script for the transactions. I would love to use On-Rev as a database host because of how close it is to where I am located and the power of revServer. If you prefer, you can do this in having your client (web browser or LiveCode ria app) posting their credentials to a PHP script indeed but in any case you will have to be sure that the server-side script will respond to the clients requests and interact with the db-backend only when each client will have been authenticated as allowed to interact with its own account on your on-line app. If most of your customers are, alike mine, using dynamic IP to connect the cloud and subsequently your or mine on-line apps, an IP-based authentication system will not be usable nor safe at all in such a context. HTH, -- Pierre Sahores mobile : (33) 6 03 95 77 70 www.wrds.com www.sahores-conseil.com ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: on-rev remote database
I appreciate everyone's concern about about the security of my database but I assure you that this isn't my first rodeo (small 'r' - not a plug :-) ) and have been write secure computer systems for prison management for over 10 years - most of them with remote access. I should probably elaborate a little more on what I'm attempting to do. The data I'm trying to give access to is already publicly available to anyone one the Internet. It's just not organized in a way that can be searched, sorted, what have you. The data (and the service) are all available on a web site but while the site provides all the necessary facilities to do what you need to do, it doesn't do it in any kind of user friendly way. My program is composed of two parts: The first is twice a month, I download the web page with the information on it, scrape the data out of it, and then post the NEW data (about 30% is new) to a database. I also add the date that the listing showed up for the first time. The second part of the program is used by the end user who will log in, get only the newest listings that pertain to him/her and then decide if they want to submit to one of the listings. If they do, they'll choose the data to upload and having already entered their username and password for the original site (which they must already be a paid member of) I'll pretend to login, go to the submissions page, and make the submission. Once this is done, they will have local database of their submissions that includes the deadlines (so they know when to check and see if their submission sold or not), etc. The reason I don't want the database of listings stored locally is because every now and then, they change the format of their listings page and then my scraper stops working. Instead of having to update hundreds of users, I store MY version of the database the same way no matter what the source data looks like. I have to do a little work to figure out the new format but only once. It also tends to be a rather large database and having that lay around on everyone's computer seems like a waste. Now I hope you can see why I wasn't that worried about the security of the data. It was read only, already publicly available, and you had to already be a member of the other site (not mine by the way) in order to do anything useful with the data. I do want to thank everyone for their suggestions though. I enjoyed the discussion. len morgan On 10/19/2010 12:59 PM, Richard Gaskin wrote: Whiskey Tango? What Len Morgan wrote was: This is all a moot point now since I have just been informed by Heather that the only way the on-rev server can be set up to do this is if you give them all of the IP addresses that people are going to connect from and they will allow those IP addresses to connect. Unless I missed something earlier in this thread, it seems he's writing about blocking access based on IPs, and all Heather did was remind him of what Pierre wrote here, that given the majority of folks who use dynamic IPs that isn't practical. FWIW, On-Rev does indeed provide unlimited databases: MySQL 5.0.67 Databases: Unlimited PostgreSQL Databases: Unlimited http://www.on-rev.com/hosting/features-chart/ Back to the original topic, granting/restricting access based on IPs is risky and prone to error if any of your users have dynamic IPs, for the reasons Pierre noted earlier this morning. IP-based restrictions can be somewhat useful for some institutional customers where fixed IP ranges can be known to belong to the customer. I use it myself on a subscription site I manage for a client, but not as an alternative to login authentication but merely as an extra restriction on top of the login requirement; I would never rely on IP address alone. With individual users on dynamic IPs, the risk is that the IP they're using right now may be reassigned to someone else later, providing unauthorized access to unknowable individuals. Granting access by range only exacerbates the risk. So while it's sometimes useful, IP-based access doesn't appear to be a practical option for Mr. Morgan, leaving him to consider more conventional options like a simple login as most sites require for authenticated access. Andrew, you can hopefully breathe easier now. Relax and enjoy your unlimited databases. -- 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
Re: [ANN]BvG Docu 1.7
I got the same error as Mark and I AM using the Rev IDE (4.5.1 dp-1). len morgan On 10/19/2010 3:16 PM, Mark Wieder wrote: Björnke- Tuesday, October 19, 2010, 12:48:19 PM, you wrote: Damnit reacting to a install where there's no clumps file, that was exactly what I changed. Do you two per chance not use the rev ide? because I use if revappversion() = 4.5.0 thencreate fake clumps file here. You might want to tweak that a bit since I tried this with 4.5.1-dp1. ___ use-revolution mailing list use-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: on-rev remote database
Pierre, It's only a security risk if I let the users WRITE to the database which I have no intention of doing. The reason I'm trying to avoid and irev script in the middle is that I don't want to have to connect and disconnect every time a user asks for data. If you have a sample irev script that would allow several hundred (I hope) users to read from this database, I'd love to see it. Maybe it's not as bad (i.e., establishing a new connection to the database every time) as I'm thinking. Thanks! len On 10/18/2010 6:39 AM, Pierre Sahores wrote: Ien, If you just need to have a LiveCode client able to speak with the on-rev PostgreSQL backend from anyware all over the world, why don't you choose to send HTTP Posts from your client to an irev script witch will interact in localhost mode with the PostgreSQL backend in full read/write before sending back the pg response to the client ? I do this all the time and it works perfect without any security lacks. In tunning the pg config, anyone can make PostgreSQL available in full cloud access mode but it's, at least, not a safe way to go... HTH, Pierre ___ use-revolution mailing list use-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 85, Issue 31
Cool site! I never realized that Wendy (Walter) Carlos' interests went beyond Bach and Moog Synthesizers! It was nice to be able to hear a few samples of S-O-B that I hadn't heard since high school! len morgan On 10/15/2010 11:25 PM, Vokey, John wrote: One last change; HP worked hard to find the colours for the keys that would work for all, especially those otherwise known as colourblind; hence the, for some, odd beige/yellow keys, and the faded cyan keys. But, in tests, these colours really do work for all including monochromats. Wendy Carlos has a nice demo for those not otherwise afflicted:http://www.wendycarlos.com/colorvis/color3.html#cblind On 2010-10-15, at 10:59 AM, use-revolution-requ...@lists.runrev.com wrote: Folks, following Craig advise, I've changed the little RPN calculator stack to be more HP like. Now it has four stack registers (X,Y,Z,T). T will roll down as expected. There is now a roll down button. I also made the label on the buttons bigger. Before this change, the calculator has an infinite stack which mimicked the last models of HP calculators, now it has four registers which is like earlier models. It is enough for simple calculations. It might be a toy but it is a fun one. http://revonline2.runrev.com/stack/518/RPN-Calc ___ use-revolution mailing list use-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
on-rev remote database
I seem to remember someone having trouble connecting to a database on their on-rev account remotely a while back. Was this ever resolved? I'd like to have a database that can be accessed from anywhere but I'd rather not go through the hoops of making a web service to get at the data. Was this too much of a security issue for the hosting service to allow? len morgan ___ use-revolution mailing list use-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: on-rev remote database
Pierre, I'm not having any trouble with the phpPgAdmin because that's running on the same server as Postgres is. What I'm trying to do is use (for the time being) PgAdmin from my computer at home to talk to the server at on-rev. So far, all I get is a message that there is no server listening there so I'm thinking it's some sort of firewall issue. Has anyone been able to successfully connect to Postgres on on-rev from a remote computer? len On 10/17/2010 11:52 AM, Pierre Sahores wrote: Ien, There went some troubles, full solved months ago, about login to the phpPgAdmin panel of the cPanel, on the loki server at least. All worked from that time 100% well. Both MySQL and PostgreSQL are yet full usable in the on-rev environment and some of my apps use both on a 24/7 basis (MySQL for the earliest ones, and PostgreSQL for all the other and next to come. HTH, Pierre Le 17 oct. 2010 à 13:05, Len Morgan a écrit : I seem to remember someone having trouble connecting to a database on their on-rev account remotely a while back. Was this ever resolved? I'd like to have a database that can be accessed from anywhere but I'd rather not go through the hoops of making a web service to get at the data. Was this too much of a security issue for the hosting service to allow? len morgan ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution -- Pierre Sahores mobile : (33) 6 03 95 77 70 www.wrds.com www.sahores-conseil.com ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: on-rev remote database
Pierre, I'm trying to write a program that will access data on a public database (Postgresql) and I don't really want to give pgAdmin to all of my users. That would be disaster! The localhost only access has never been the case. I've been using Postgres for more than 15 years now and I always have users access a common database (although it's always been from a private network). pgAdmin remote access is not my problem. It's access to the data from the outside. I can always use cPanel if I need to maintain the database but I've got to have remote access for end users (who could be anywhere in the world). len On 10/17/2010 7:27 PM, Pierre Sahores wrote: Ien, You can't do this because the on-rev PostgreSQL servers security rules (following in this the best practices recommanded by the PostgreSQL team) are set to allow localhost connections only. Why don't you simply use the on-Rev phpPgAdmin panel from your home box ? Works perfect and let us do exactly all what we could do in using PgAdmin on the 5432 unprotected port. HTH, Pierre Le 17 oct. 2010 à 21:42, Len Morgan a écrit : Pierre, I'm not having any trouble with the phpPgAdmin because that's running on the same server as Postgres is. What I'm trying to do is use (for the time being) PgAdmin from my computer at home to talk to the server at on-rev. So far, all I get is a message that there is no server listening there so I'm thinking it's some sort of firewall issue. Has anyone been able to successfully connect to Postgres on on-rev from a remote computer? len On 10/17/2010 11:52 AM, Pierre Sahores wrote: Ien, There went some troubles, full solved months ago, about login to the phpPgAdmin panel of the cPanel, on the loki server at least. All worked from that time 100% well. Both MySQL and PostgreSQL are yet full usable in the on-rev environment and some of my apps use both on a 24/7 basis (MySQL for the earliest ones, and PostgreSQL for all the other and next to come. HTH, Pierre Le 17 oct. 2010 à 13:05, Len Morgan a écrit : I seem to remember someone having trouble connecting to a database on their on-rev account remotely a while back. Was this ever resolved? I'd like to have a database that can be accessed from anywhere but I'd rather not go through the hoops of making a web service to get at the data. Was this too much of a security issue for the hosting service to allow? len morgan ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution -- Pierre Sahores mobile : (33) 6 03 95 77 70 www.wrds.com www.sahores-conseil.com ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution -- Pierre Sahores mobile : (33) 6 03 95 77 70 www.wrds.com www.sahores-conseil.com ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Posting to a web page
I'm trying to create a value added front end to a web site. What I need to do first is login to my account. I suspect the the entire site is created in the same style so once I get past logging in, I should be able to scrape the rest of the data I need to present in LiveCode locally. The login page is a simple html form with 4 fields: auth_vars[username] auth_vars[password] auth_vars[submit] Value=Login auth_vars[action] Value=login The form will be submitted to /login.php using POST My question is how can I create this login sequence and send it to login.php followed by the variables? I know with the GET method you have varname=value separated by commas. LiveCode will let me do something like: post myDataString to URL http://mywebsite.com/login.php; but I don't know how to format myDataString in order to have it accepted. Any help or pointers to web sites that might enlighten me are appreciated. len morgan ___ use-revolution mailing list use-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: Posting to a web page
So it's no different than a GET except that it doesn't go in the URL? That's easy! Thanks Sarah, len morgan On 10/16/2010 7:18 PM, Sarah Reichelt wrote: Len you need to pair up the variable names with their values. Something like this: put username= URLencode(tUserName) into myDataString put password= URLencode(tPassword) after myDataString etc, etc. Then you can use the post command as you have it below. Cheers, Sarah On Sun, Oct 17, 2010 at 9:37 AM, Len Morganlen-mor...@crcom.net wrote: I'm trying to create a value added front end to a web site. What I need to do first is login to my account. I suspect the the entire site is created in the same style so once I get past logging in, I should be able to scrape the rest of the data I need to present in LiveCode locally. The login page is a simple html form with 4 fields: auth_vars[username] auth_vars[password] auth_vars[submit] Value=Login auth_vars[action] Value=login The form will be submitted to /login.php using POST My question is how can I create this login sequence and send it to login.php followed by the variables? I know with the GET method you have varname=value separated by commas. LiveCode will let me do something like: post myDataString to URL http://mywebsite.com/login.php; but I don't know how to format myDataString in order to have it accepted. Any help or pointers to web sites that might enlighten me are appreciated. len morgan ___ use-revolution mailing list use-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: SHIFTy thoughts
On 10/11/2010 6:16 AM, roger.e.el...@sealedair.com wrote: Richmond wroe: I would love to be able to trap when a modifier key is down like this: on shiftKeyDown do blah, blah, blah end shiftKeyDown but it seems that that is not possible in LievCode, unless, of course, I'm missing something . . . Richmond. I can only determine its state within an if-then statement. Perhaps try a rawKey handler. on mouseUp if the shiftKey is down then answer DOWN, the shiftKey is. else answer UP, the shiftKey is. end if end mouseUp ~Roger I think what Richmond was after was a message that get's sent when he presses the shift key, not detecting when it's down. The only way that comes to mind would be a front script that captured the keydown/keyup or rawkeys messages, check for the shift key state then fired a message to a handler of your choosing. You'd have to pass on the original event in either case and make sure you didn't set up some sort of infinite loop though. len ___ use-revolution mailing list use-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: Socket read problems
Dar, I wish it was that simple but the length of the message is only in one byte so it's pretty hard to swap. For test purposes, I have scrolling field where I print the progress of the conversation and I am displaying the correct length. Also, I've got WireShark on the line so I can look at the actual packets to make sure I'm picking the right bytes, etc. and all of that is ok. The only thing that seems out of place is that there is one more zero byte at the end of payload that fills out the data area to an even word boundry. This null byte is not part of the data and is not counted in the length byte that I'm reading. I believe that is part of the TCP/IP spec but it's been a long time since I've done a digital colonoscopy on network protocols so I could be mistaken. What ends up happening is that the socket read command is getting one more byte than I've asked for so I'm wondering if it hangs up when I try and close the socket since I still have one unread byte in the buffer. As it turns out, if I try and read that extra byte too, the result is the same: The read command will not finish until socketTimeoutInterval milliseconds have passed yet is never sends me a socketTimeout message. The particular slave I'm talking to is from a major commercial vendor (inventor of ModBus as a matter of fact) but as I recall, my own slave (built with an Arduino) suffered the same problem. Is it possible that since I'm not using the callback on the read complete, that there is a bug in the read socket library? I will do some more experimentation today and report back what I find. I will also try and whip out a LiveCode slave and see if I can make it do the same thing on the same machine. That should be interesting. len morgan On 10/8/2010 12:42 AM, Dar Scott wrote: Could you have gotten the two length bytes swapped and are asking for way too many bytes? Dar Scott On Oct 7, 2010, at 6:22 PM, Len Morgan wrote: I'm trying to read data from a MODBus/TCP controller and having some issues with the timing of the read command. I request a block of registers from the slave and it returns the requested bytes and header just fine and very quickly. In order to read everything right, I have to first read the first 6 bytes of the header to know how many bytes are to follow. Once I know that, I do a read from socket tSock for bytes characters. Note that ALL of the characters have been received in a single packet so once I read the 6 bytes, the rest of the data is already in the socket buffer. The problem I have is when I do the second read, the read command blocks for the socketTimeoutInterval before continuing. It doesn't matter what I set it to, it will wait that long before continuing. I tried catching the socketTimeout message but that message is never sent, even when I set the socketTimeoutInterval to 5 milliseconds! I am not using the read ... with message form of the command since I want the handler to wait until all the bytes have been received before I move on. Has anyone else seen this? Have I missed something in the documentation or could this be something in the Windows code that handles sockets? Any help would be appreciated! len morgan ___ use-revolution mailing list use-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: Socket read problems
Dar, As it turns out, (and much to my embarrassment) you were close on your first response: I was trying to read more bytes than were actually there. The ModBus/TCP spec actually sends two length items. One is the header + data length and the other is the data length only. What I was doing was reading the former, then getting the actual data length, then trying to read that many MORE bytes when I already had the data and header in a variable. It still bothers me though that I never got the socketTimeout message even though that's exactly what was happening. len morgan On 10/8/2010 11:45 AM, Dar Scott wrote: On Oct 8, 2010, at 5:29 AM, Len Morgan wrote: I wish it was that simple but the length of the message is only in one byte so it's pretty hard to swap. Yeah, I guess the high byte is always zero. I never use read by number of bytes. It is not that I have seen problems with it, I just became comfortable doing things another way. I usually use 'read from socket with message callback'. I don't think the 'with message' is important for the behavior I see. This reads whatever is in the buffer. I think some people use an idiom of for 0 in the command for this. I collect bytes into a buffer until there is a whole message and then pull that off, in a sense, doing myself what you are looking for LiveCode to do. You might be able to use 'read from socket' as a way to prevent the timeouts and to diagnose the problem. This will show if there are problems with the frame length. Dar Scott -- ** Dar Scott Dar Scott Consulting and darzLAB 8637 Horacio Place NE Albuquerque, NM 87111 Lab, office, home: +1 505 299 9497 Fax:try 299-9497 Skype/Google: lets set up a time http://www.swcp.com/dsc d...@swcp.com Computer programming and tinkering ** ___ use-revolution mailing list use-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: Socket read problems
Not according to the documentation. And I didn't start off using the with message form. In fact, I never did get around to even trying that once I discovered that I was the one that was making the mistake (i.e., trying to read more bytes than were there). len morgan On 10/8/2010 1:29 PM, Dar Scott wrote: On Oct 8, 2010, at 12:02 PM, Len Morgan wrote: It still bothers me though that I never got the socketTimeout message even though that's exactly what was happening. I have a vague memory of strange things with this. I wonder if you don't get the message if you don't use 'with message' in the read. Maybe that info is just in the result. Dar ___ use-revolution mailing list use-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: Socket read problems
The two handlers are right next to each other in the card script. You may be right about getting another error like socketError or socketClose that overrides the need for socketTimeout although I would think any socket timeout would also constitute a socket error wouldn't it? If so, why the two messages? len On 10/8/2010 2:29 PM, Dar Scott wrote: I still haven't remembered what is weird about socketTimeout. Perhaps you don't get it if you get socketClose or socketError. (When debugging TCP, I use handlers for all.) Is your socketTimeout handler in the right path? (An example situation is when your socketTimeout handler is in the card script but the actual read is in a handler in the stack 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
Socket read problems
I'm trying to read data from a MODBus/TCP controller and having some issues with the timing of the read command. I request a block of registers from the slave and it returns the requested bytes and header just fine and very quickly. In order to read everything right, I have to first read the first 6 bytes of the header to know how many bytes are to follow. Once I know that, I do a read from socket tSock for bytes characters. Note that ALL of the characters have been received in a single packet so once I read the 6 bytes, the rest of the data is already in the socket buffer. The problem I have is when I do the second read, the read command blocks for the socketTimeoutInterval before continuing. It doesn't matter what I set it to, it will wait that long before continuing. I tried catching the socketTimeout message but that message is never sent, even when I set the socketTimeoutInterval to 5 milliseconds! I am not using the read ... with message form of the command since I want the handler to wait until all the bytes have been received before I move on. Has anyone else seen this? Have I missed something in the documentation or could this be something in the Windows code that handles sockets? Any help would be appreciated! len morgan ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Changing Tab Stops in an Option Button
Is there a way to change the size of tab stops on an option (or combobox) button's list? I have an Option button that I use to select different cards. There used to be only one level of items but the customer has asked to one card to have a second set of levels for one item. For example: Search Profile Bookings Arrests Charges Release Photos Maintenance The problem I have is that the tab stop for the second nesting is too far over to the right and I'd like to move it back a little. Is this possible? Also, can the lines in an option (or combobox) list be colored differently for each item or will I have to hand craft something like that? Thanks! len morgan ___ use-revolution mailing list use-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 Property Names
I'm trying to get a list of all the properties (not Custom) for an object. I know this used to be possible because Galaxy used to do it. the propertyNames() only gets the reserved names in Revolution (according to the docs at least) and I'd like just the properties that apply to say a field or a button. Is this still possible? len morgan ___ use-revolution mailing list use-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 Property Names
If this is not possible, I'm trying to find out how to set the horizontal thumbposition of a field to the left edge. On 9/18/2010 12:37 PM, Len Morgan wrote: I'm trying to get a list of all the properties (not Custom) for an object. I know this used to be possible because Galaxy used to do it. the propertyNames() only gets the reserved names in Revolution (according to the docs at least) and I'd like just the properties that apply to say a field or a button. Is this still possible? len morgan ___ use-revolution mailing list use-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: [ANN] revObjective 1.0 released!
Is there any kind of documentation available? I'm on windows 7 and when I open the plugin, I'm allowed to type in the upper right hand text box (although I don't know what I'm supposed to type there) and everything else is disabled. I have no idea what to do now. len morgan ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: [ANN] revObjective 1.0 released!
Can you advise me on how to take a screen shot? I've never been successful but then I've never really tried that hard either. len On 9/7/2010 5:48 AM, Monte Goulding wrote: Hi Len Can you send me a screenshot to mo...@goulding.ws that certainly doesn't sound good ;-) Is there any kind of documentation available? I'm on windows 7 and when I open the plugin, I'm allowed to type in the upper right hand text box (although I don't know what I'm supposed to type there) and everything else is disabled. I have no idea what to do now. -- Monte Goulding M E R Goulding Software Development Bespoke application development for vertical markets InstallGadget - How to create an installer in 10 seconds revObjective - Making behavior scripts behave ___ use-revolution mailing list use-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: [ANN] revObjective 1.0 released!
Ok, I got it installed and now everything is enabled except for the Add button. This still looks a little rough and I still don't know what to do with it now that I have it. By the way, the description of the Integer field is the same as the Number field and yet the number field shows 10.1 (i.e., the description says only integers are allowed and yet the number has a decimal point in it. I've got to get ready for work so I'll have to play with this later. Some sort of quick tutorial to show the very basics would be helpful! len On 9/7/2010 5:56 AM, Monte Goulding wrote: Oh, did you install the revObjective folder (contains the 4 objects that come with the plugin) into the plugins folder with the plugin? That field filters the list of objects so don't type anything in there for the minute and if you have delete it. Also if you select a control in one of your stacks the Add button will become enabled. Click Add and the control will be imported into revObjective. From there you can edit the behavior script etc. No other docs yet sorry but I'm here or off list if you want to ask questions. Cheers Monte On 07/09/2010, at 8:43 PM, Len Morgan wrote: Is there any kind of documentation available? I'm on windows 7 and when I open the plugin, I'm allowed to type in the upper right hand text box (although I don't know what I'm supposed to type there) and everything else is disabled. I have no idea what to do now. len morgan ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution -- Monte Goulding M E R Goulding Software Development Bespoke application development for vertical markets InstallGadget - How to create an installer in 10 seconds revObjective - Making behavior scripts behave ___ use-revolution mailing list use-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: Data Grid Column Header Problem
With this group it's sometimes hard to determine who is kidding and who is just confused (I tend to be the later most of the time). Just to clarify, the ... is set for 30 ... refers to the size (of the COLUMN Mark) that I want. This county jail holds both male and female inmates so I need to let them know which is which (you can't always tell from the mug shots!) so they know who to put where. The inmates might like the mixup but I'm sure the authorities might object. By the way, I also turn a field a nice sky blue for males and pretty pink for girls. I needed the S field in case they get a color blind officer. Thanks for the help though! len On 9/6/2010 4:24 AM, zryip theSlug wrote: On Mon, Sep 6, 2010 at 4:28 AM, J. Landman Gayjac...@hyperactivesw.com wrote: On 9/5/10 6:50 PM, Mark Wieder wrote: Len- Sunday, September 5, 2010, 2:45:39 PM, you wrote: As an example, the column for sex (Label = S) is set for 30. The ...I thought about commenting on column for sex but decided against it... No you didn't. ;) But I confess I wondered why they had to wait till 30. Why I'm hesitant now to confirm that the ideal min size should be 40? ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Explanation of Error code
More problems here, and this is with code that used to work fine. I'm trying to find an explanation for the 3 number (i.e., error 1,2,3, in ) error codes that I'm getting back. If you could just point me to where to look in the manual or in the mailing list, I think I can figure it out. I just don't know where to look. len ___ use-revolution mailing list use-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: Explanation of Error code
Thanks, Mark. It worked like a champ and pointed out an oversight of mine when changing the name of a stack. It was so simple as to be invisible. I WILL be buying PowerDebug! len On 9/6/2010 2:25 PM, Mark Wieder wrote: Len, http://runrev.info/error.html Also, since I know you've got PowerDebug, open the messagebox and type put ExplainError(xxx) where xxx is the first number in the line, i.e., put ExplainError(465) ___ use-revolution mailing list use-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 Column Header Problem
I had this problem once before but I can't find the solution to it now. What's happening is I have a lot of information to show in a DG table (lots of columns). In order to make it all fit, skinny columns like Sex and Age have been abbreviated to S and A respectively. The problem is that there appears to be some sort of border around the column headers so that I can only see a few dots from the middle of those two characters in the header making them unreadable. I tried changing the header margins but that just moves the text in the header up. How can I get rid of the blank space on either side of the column header text? Thanks in advance! Len Morgan ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Another Data Grid problem
I have set a button to contain the custom behavior for my data grid table. However, the selectionChanged is never getting sent. All of the other handlers are being called in that button so I'm not sure what's going on. What I need to do is when a new line is selected, I need to get the contents of the first column of the (now) selected row, then get the data for that from the database. Thanks again! Len Morgan ___ use-revolution mailing list use-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: Data Grid Column Header Problem
On 9/5/2010 4:40 PM, zryip theSlug wrote: On Sun, Sep 5, 2010 at 11:12 PM, Len Morganlen-mor...@crcom.net wrote: I had this problem once before but I can't find the solution to it now. What's happening is I have a lot of information to show in a DG table (lots of columns). In order to make it all fit, skinny columns like Sex and Age have been abbreviated to S and A respectively. The problem is that there appears to be some sort of border around the column headers so that I can only see a few dots from the middle of those two characters in the header making them unreadable. I tried changing the header margins but that just moves the text in the header up. How can I get rid of the blank space on either side of the column header text? Len, Could you precise: - the width of your column? - the margins you applied? Thanks Regards, As an example, the column for sex (Label = S) is set for 30. The margins were originally whatever the default is. I changed it to 1 and the text rolled up. I'm only worried about the right and left of the header text. The vertical orientation is fine. With the header text Room and a column width of 58, the first couple of columns of pixels in the R are cutoff. There is more than enough room in the header field, it's just adding space on either side. len ___ use-revolution mailing list use-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: Data Grid Column Header Problem
Len, The ideal min size is 40. I gave your problem a try. It seems to me that the content of your columns is centered. In this case, changing the margins with the header margins do nothing, because the field displaying the header title has a width of 2 pixels. If you can give 10 more pixels for those two columns, all will be ok. Otherwise, for now I don't see any workaround. Regards, Ideal according to who? Is that a Rev limitation or part of the Data Grid? It seems to be awfully large. I did expand those columns (and reduced the width of another to make them fit) so it's all working now. It sure would be nice if we could lower that limit though. len ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Adding configuration (by username) to a stack
I have an application that's been out in the wild for about 3 years now and the customer is asking for some updates. One of the items that they want to change is adding the ability to do certain things like delete records (currently they call me and I do this remotely) but they only want to have certain people, based on the name they log in with, to be able to do it. I've been toying around with several different methods but I'd really like some advice on what might be the best way to make these changes to a well established program. What I'm going to need to do is: Have certain menu items either disabled or removed based on the user's rights. Have some buttons on various cards either disabled or invisible. Have certain pop up stacks come up in either read-only or read-write mode. I would like to have a system of profile stacks (this seems the most manageable to me), one for each role. I already validate their login from a database and get a profile description (like Administrator) and a profile name (like admin) for each user but I've never done anything with them. Any suggestions or pointing of the way would be appreciated. len morgan ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Rev standalone app stays in memory on my Xubuntu 9.10
It sounds to me like you've got an open socket or file laying around in the program that is preventing it from closing. Check your sockets and open files when you quit (handle the quit stack message). Maybe a driver on one machine is not releasing the socket and so your program stays around waiting. len On 3/29/2010 12:02 AM, hmspot...@googlemail.com wrote: Hello, I have a standalone application made by Revolution 4.0. It works fine in most cases, but it fails to quit cleanly on my laptop running Xubuntu 9.10. When I try it on another computer also running Xubuntu 9.10, it runs and quits fine, but on my laptop it stays open as a process taking up a chunk of memory. To make it worse, every instance of app launch remains in the memory as an independent process. Right-clicking on the process in System Monitor and choosing 'Open Files' displays the following: FD Type Object 0 file /dev/null 1 file /home/megumi/.xsession-errors 2 file /home/megumi/.xsession-errors 3 local socket 4 local socket 5 pipe 6 pipe This question is probably more about Xubuntu than about Revolution, but it does relate to using Revolution. I am particularly puzzled, because another standalone app (also made by Revolution) runs and quits fine on the same laptop. I hope someone here will be able to help me, as I do not know what to do. I originally posted this athttp://forums.runrev.com/phpBB2/ viewtopic.php?f=20t=5087 with a sample stack, but the thread came to what seems like a dead-end. The last post on the thread suggested that I should subscribe to this list and ask for help from Linux experts on the list. I would appreciate any help. Thanks. ___ use-revolution mailing list use-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
Getting the messages/handlers available for a button
This should be so simple but I can't get the instructions in the documentation to work: What I'd like to know is what handlers are available to a button. This would include not only scripts I've written for the button but also the ones that Rev has builtin (like mouseUp). It would be really cool if I could get any handlers along the way like in groups, cards, stacks that this button (or whatever control for that matter) is contained in/on. len morgan ___ use-revolution mailing list use-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 messages/handlers available for a button
On 3/28/2010 2:19 PM, J. Landman Gay wrote: Len Morgan wrote: This should be so simple but I can't get the instructions in the documentation to work: What I'd like to know is what handlers are available to a button. This would include not only scripts I've written for the button but also the ones that Rev has builtin (like mouseUp). Open the dictionary, and in the panel at the left under the Objects category, click Button. That lists all relevant button info. I wish this were so but while there are some messages there, many are missing. For example, I'm not sure why socketClosed is listed under Object-Button but mouseUp is not. The messages entry does have mouseUp but doesn't tell me it's sent to buttons. What I guess I need is all of the entries from the messages category that apply to buttons (for example). Is there a way to get this? It would be really cool if I could get any handlers along the way like in groups, cards, stacks that this button (or whatever control for that matter) is contained in/on. The message hierarchy only works in one direction, starting from the object that first receives the message and moving on toward the engine. That means that you can't easily retrieve messages sent to an object farther along the hierarchy unless you specifically use a send command to re-route it, or insert a frontscript to catch it before anything else does. Behaviors are the single, limited exception; they push a message backward to a subscribing object, but after that the message goes through the hierarchy normally. I think you might have misunderstood what I was asking for here. What I was suggesting was a way to map a message from, for example, a button to a group to a card to a stack to a library to the engine (with maybe a front and back script if appropriate). I guess it wouldn't be too hard to cobble something together that worked like traceroute does (tracert for Windows users), and get the long ID of a control, get a list of the messages in it's script, then for each message, send the message to the next object in the long ID (group, card, etc) and see if I get an error. The only problem would be the unintended consequences of firing a message that might do some damage (like a Delete Everything in Sight button. :-) len morgan ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Custom Control Design Tutorial
Has anyone created a tutorial for creating and using a custom control? What I'd like to end up with is a custom control that I could copy onto a stack similar to Trevor's Data Grid. As an example, I've been tasked with redesigning the GUI for a pipeline control system that comprises various tanks, pumps, valves, etc. and I'd like to just create one of each and be able to put multiple instances on a page (the system currently uses 6 HUGE monitors hung on the wall of the control room). To the a water tank as an example, it needs the following: It needs to look like a water tank (cylinder of varying hieght) with water in it that goes up and down to reflect the amount of water that is actually in the tank. A number to show the current level (in feet) that is in the tank. Some parameters like tank height, spill height, minimum level with an alarm if the level goes below it. A visual indication that it is spilling or has gotten too low. I created a little stack and I can do this graphically and I can set variables like currentTankLevel and have it change the number and the water level but it's not portable so I guess what I'm asking is if there is a tutorial that can tell me how to take this one-off widget I've created and turn it into a custom control/widget that I could copy on to a stack and then set up to make that instance unique? I know it will probably need behavior scripts and such, and I'm pretty sure all the pieces to do this are laying around in the mail archives somewhere but I was hoping that there was some sort of a step by step guide. Any pointers would be welcome. len morgan ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Custom Control Design Tutorial
Maybe *I'm* the one that's misinterpreted the question! :-) I think what you're telling me is that I'm over engineering the problem and that all I'm really after is a self-contained group that has all of the functions I'd need to manipulate the tank which I would then copy (or clone?) as many times as I needed to get the required number of tanks. I guess in the end, a Data Grid is nothing more than a group. This actually brings up another question though: There are some cases of tanks in the current system that display the feet of water in the tank next to the tank, and some where the number is shown IN the tank. If we temporarily ignore how I'd let the user move around the component parts of a tank (assuming I'd let them), what are the locations of the components in the group (i.e., oval and rectangle for water graphic, text box for numeric level, etc) telling me? Are they the physical locations on the screen at that instant or are they (or can they be) relative to the location of the group as a whole? len morgan On 3/27/2010 9:18 AM, Björnke von Gierke wrote: I'm not sure what would make your object not be portable? the main things to look out for are: Changing the rectangle or location will of course change some movement dependant scripts. you need to look out for that if you do graphical stuff (like resizing a water level graphic for your tank). Use a group, and set its lockLoc to true. Generally It's easier to handle various objects that belong together if they're grouped. Keep your scripts together. Group all objects that belong to your custom object, and move all toplevel scripts into that group's script. Try to keep all custom properties in that group too, so that you have one place to go to for setting stuff and calling scripts. To be able to identify the correct object when there's several on one card, I suggest to change the groups name to something unique. Beyond that, there's really no additional measure to take, unless I misinterpreted your question. On 27 Mar 2010, at 14:32, Len Morgan wrote: Has anyone created a tutorial for creating and using a custom control? What I'd like to end up with is a custom control that I could copy onto a stack similar to Trevor's Data Grid. As an example, I've been tasked with redesigning the GUI for a pipeline control system that comprises various tanks, pumps, valves, etc. and I'd like to just create one of each and be able to put multiple instances on a page (the system currently uses 6 HUGE monitors hung on the wall of the control room). To the a water tank as an example, it needs the following: It needs to look like a water tank (cylinder of varying hieght) with water in it that goes up and down to reflect the amount of water that is actually in the tank. A number to show the current level (in feet) that is in the tank. Some parameters like tank height, spill height, minimum level with an alarm if the level goes below it. A visual indication that it is spilling or has gotten too low. I created a little stack and I can do this graphically and I can set variables like currentTankLevel and have it change the number and the water level but it's not portable so I guess what I'm asking is if there is a tutorial that can tell me how to take this one-off widget I've created and turn it into a custom control/widget that I could copy on to a stack and then set up to make that instance unique? I know it will probably need behavior scripts and such, and I'm pretty sure all the pieces to do this are laying around in the mail archives somewhere but I was hoping that there was some sort of a step by step guide. Any pointers would be welcome. len morgan ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Custom Control Design Tutorial
That's what I was afraid of, but then, I should only have to figure it out once. len On 3/27/2010 12:42 PM, Scott Rossi wrote: Recently, Len Morgan wrote: This actually brings up another question though: There are some cases of tanks in the current system that display the feet of water in the tank next to the tank, and some where the number is shown IN the tank. If we temporarily ignore how I'd let the user move around the component parts of a tank (assuming I'd let them), what are the locations of the components in the group (i.e., oval and rectangle for water graphic, text box for numeric level, etc) telling me? Are they the physical locations on the screen at that instant or are they (or can they be) relative to the location of the group as a whole? If I understand your question, locations are always relative to the card. But you can use the dimensions/locations of elements in the group as reference points. Regards, Scott Rossi Creative Director Tactile Media, UX Design ___ use-revolution mailing list use-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: socket write/read conflict?
I stand corrected on the comma. I don't know where I got the idea tab was the default. As to the sockets getting confused, this can't really happen since socket is defined by both the server and client IPs AND server and client port numbers. Unless you've got more than one machine with the same IP, each socket would be unique even if all the clients were talking to the same server on the same port. To take a page from Jerry Daniels (of tRev fame), perhaps you can simplify this by making it a little more complicated. Unless I misread your original post, you want to know who answered first in addition to the actual answer. As each answer comes in, why not just grab the seconds each socket either opens or receives data until all have answered. Then you can see who had the lowest seconds (first response), and then read each answer and check for correctness. This takes the time pressure and allows you to better coordinate the response. len morgan On 3/22/2010 11:10 PM, Nicolas Cueto wrote: Thanks for replying, Len. The 127.0.0.1 ip is indeed just an example, and Rev's default itemdelim is not tab but rather comma. -- Nicolas Cueto ___ use-revolution mailing list use-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: Still Having Data Grid Row Coloring Problems
Would changing the hilite color do what you need? Not exactly. What I'm trying to do is color each line depending on the contents of a field of the database. This system tracks inmates and they can be either released, in-custody, out-to-court, etc. and each one of these would have a different color so you can see without having to read a field someone's current status. I've used this color coded system for over 10 years and it's quite popular with customers because it requires them to think less. I did test out setting column background colors and the missing piece was setting the opaque of to true. Here is a modified version of the example script: private command SetForeGroundColor if GetDataOfIndex(the dgIndex of me, line has error) then set the backgroundcolor of me to red set the opaque of me to true else set the backgroundcolor of me to empty set the opaque of me to false end if end SetForeGroundColor This worked just like I wanted with one exception which I may not be able to get (and I'm VERY happy with just having the colored lines). You already have a column separator line but it would be much easier to read across (this list takes almost 2/3rds of the screen width) if there were row borders too. Is there some way to get both colors AND row separator lines? I noticed that the alternating row colors kind of does this for you but it's not quite the visual effect I was after. len morgan ___ use-revolution mailing list use-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: Still Having Data Grid Row Coloring Problems
I copied your code from the example exactly and IF I use change the foregroundColor... it does just that: Highlites the selected line in blue with white letters. When I select a new row, the background of all the other rows is white with red text. If I change foregroundColor to backgroundColor, as soon as the selection moves off of a line, the whole line becomes invisible (but the data is still there since if I go back to that line with the hilite, the data again becomes visible). I am changing only one word (actually just part of a word: fore to back). I'm obviously not using the right property or something but I'm at a loss as to what else I could use. I can still send you the script if you want but as I said, I started with your lesson script and just changed one word. len On 3/22/2010 8:44 AM, Trevor DeVore wrote: On Mar 21, 2010, at 5:05 PM, Len Morgan wrote: I'm still not able to set the background color of an individual row in a data grid. Well, that's not entirely true. I can make a row invisible but I can't change it to the color I want. I have followed the instructions in the lesson How Can I Colorize Individual Lines in a Table?, and if I do what the lesson says, it does in fact work but it only changes the FOREGROUND color of the text. I need to set the BACKGROUND color of the text/column and when I do that, as soon as another line is selected, the hilite changes to that new row and the old row is blanked out completely. Can you provide the script you are using to change the background color? ___ use-revolution mailing list use-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: Still Having Data Grid Row Coloring Problems
Where can I find the SetForeGroundColor command? len On 3/22/2010 2:53 PM, Trevor DeVore wrote: On Mar 22, 2010, at 2:02 PM, Len Morgan wrote: I can still send you the script if you want but as I said, I started with your lesson script and just changed one word. I think you need to update the code in the SetForeGroundColor command. Change the two instances of textColor to backgroundColor. ___ use-revolution mailing list use-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: Slow opening of cards in .exe file
I have had the same problem all the way back to XP. But it is only a problem the first time I navigate away from card 1. It can pause a LONG time before it goes to the selected card (and I've only got 10 or so in the stack) but after that first switch it's pretty zippy. Even on Windows 7. len On 3/22/2010 4:35 PM, J. Landman Gay wrote: William de Smet wrote: Hello there, In a new app I am working on I am experiencing slow opening of cards in the .exe file on Windows 7 (on Mac OSX the app works fine and smootly). It seems that all of the cards are send to memory at once because after the first mouseclick and about 10 sec wait it all works fine. Right, all stacks are loaded completely into RAM when they open, including all substacks too. Slow navigation usually means you have a lot of cards. It's odd that it would only slow down on one OS though. Does the Win 7 machine have any virus detectors that are scanning files when they open? ___ use-revolution mailing list use-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: Still Having Data Grid Row Coloring Problems
Man, that made me feel stupid! :-( Anyway, that was the very first thing I did. It still makes the line invisible when the selection is moved off the line. When the data is initially filled in, the data looks fine but of course, it's black text on a white background so I'll probably need to make a change in FillInData too. Any other place I can look to see what's going on? len On 3/22/2010 7:04 PM, Trevor DeVore wrote: On Mar 22, 2010, at 6:56 PM, Len Morgan wrote: Where can I find the SetForeGroundColor command? In the code you copied from the lesson example. It's under the The Default Custom Column Behavior step of the How Can I Colorize Individual Lines in a Table? lesson. http://lessons.runrev.com/spaces/lessons/manuals/datagrid/lessons/7332-How-Can-I-Colorize-Individual-Lines-in-a-Table- ___ use-revolution mailing list use-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: Still Having Data Grid Row Coloring Problems
Trevor, What I don't see in the sample code that was copied is where the backgroundColor for the hilited line is set to blue. If that piece is somewhere else, I think that is where I need to start looking to do what I'm after. len On 3/22/2010 7:04 PM, Trevor DeVore wrote: On Mar 22, 2010, at 6:56 PM, Len Morgan wrote: Where can I find the SetForeGroundColor command? In the code you copied from the lesson example. It's under the The Default Custom Column Behavior step of the How Can I Colorize Individual Lines in a Table? lesson. http://lessons.runrev.com/spaces/lessons/manuals/datagrid/lessons/7332-How-Can-I-Colorize-Individual-Lines-in-a-Table- ___ use-revolution mailing list use-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: socket write/read conflict?
Two things jumped out at me in your code: 1) broadcastToAllClients - you show an IP address of 127.0.0.1. If this was not just an example, you can't use that number. That is the IP of the local host and won't actually ever leave the machine. 2) You are selecting item 3 of tArrayDataLine which I assume is comma delimited (based on the example line above it). I don't set a setItemDelimiter to comma in that handler and I /think /the default delimiter is tab. I also believe that the itemDelimiter you set is only valid for the current handler so as soon as this handler is finished, it will revert back to tab. Hope that helps a little. len On 3/22/2010 10:14 PM, Nicolas Cueto wrote: Hello List, I've made a quiz-type game where 2-6 students on client stacks buzz in their answers to a server stack, all on a local network. The server stack, as well as sending out the questions, informs live to all the students/client-stacks about who buzzed in what. I thought I had it working until we found a problem. If two out of six students happen to buzz in an answer almost simultaneously (by clicking a button on a game controller pad), as expected five of the students will receive the server's message about who buzzed in first, but one of those two students who buzzed at the same time won't. Except for this simultaneity, all other server-to-client communications work. After trying to track this down for weeks, I'm posting here in hopes of some list magic. My guess, as the subject line reads, is that a client stack might be writing to a socket at the same time that the server is trying to write to that same socket. But, not understanding well how sockets work, the problem may lie elsewhere. I think I've eliminated the obvious types of mistakes, but... So, I am including below the essence of what my server and script stacks do. It is quite long, so apologies beforehand. As always, the list's help in this is greatly appreciated. Thank you. -- Nicolas Cueto ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Still Having Data Grid Row Coloring Problems
I'm still not able to set the background color of an individual row in a data grid. Well, that's not entirely true. I can make a row invisible but I can't change it to the color I want. I have followed the instructions in the lesson How Can I Colorize Individual Lines in a Table?, and if I do what the lesson says, it does in fact work but it only changes the FOREGROUND color of the text. I need to set the BACKGROUND color of the text/column and when I do that, as soon as another line is selected, the hilite changes to that new row and the old row is blanked out completely. If I go back and select the now invisible row, all the data comes back (hilited) so the data is still there. Is set the backgroundColor of me to XXX the correct command to use or should I be changing the background color of some other control (like the rectangle that shows up in the column template)? len morgan ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: New Version of Field Object in Version 4.5
I think Kevin Miller's road map for 2010 a week or two ago listed at least some of the features they were shooting for. len morgan On 3/21/2010 4:03 PM, Gregory Lypny wrote: Hello everyone, I saw mention in RevUp that the field object was being updated for the next version. Is there anywhere I can learn more about the proposed changes? 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 ___ use-revolution mailing list use-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: Data Grid Column Header Alignment Changes after column resize
It didn't work so I guess I need an updated datagrid library since I can't download the latest 4.5 dp-3 without error. :-( len morgan On 3/15/2010 11:08 AM, Trevor DeVore wrote: On Mar 13, 2010, at 11:18 AM, Len Morgan wrote: I'm trying to use my first Data Grid (table) in a stack and I need to set the column Header alignment for a few of the columns. Following the instructions in the DG manual, I entered the alignments using the message box and it looked fine. But then I resized one of the columns and all of the alignments changed, some of them even aligning themselves such that only half of the text showed in the column. Do I need to set the alignments every time the grid is displayed? If so, where can I do that? There is a bug in the version of the library shipping with 4.0 with regards to column header alignment. It has been fixed for 4.5 though. Try setting the column alignment by script when your stack opens. Here is a lesson - http://lessons.runrev.com/spaces/lessons/manuals/datagrid/lessons/7324-How-Do-I-Change-Column-Alignment- If that doesn't work then let me know and I can get you updated library. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: New Version of Field Object in Version 4.5
Opps. Sorry. I don't think I let anything out of the bag though. I'll pay a little closer attention to which list the question comes from from now on. len On 3/21/2010 5:02 PM, J. Landman Gay wrote: Len Morgan wrote: I think Kevin Miller's road map for 2010 a week or two ago listed at least some of the features they were shooting for. I think the road map was on the Improve list, which is only available to Enterprise customers. That info is all NDA, so anyone on the use-rev list has to wait. ___ use-revolution mailing list use-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 Data Grid Difficulties - Making it request data
On 3/16/2010 6:57 AM, Trevor DeVore wrote: On Mar 16, 2010, at 12:15 AM, Len Morgan wrote: I found the manual pages for coloring lines in a data grid table but it's not working. I'm pretty sure that the reason is because I'm settting the dgText to the array I create from the database records and that is bypassing the FillInData routine. Setting the dgText does not bypass FillInData. You can't actually display any data in the Data Grid without FillInData being called. What makes you think it is being bypassed? What columns have you defined in your data grid table and how are you assigning in the dgText? To answer your first question, the lines aren't getting colored and I have a message that's supposed to print to the message box as it goes by. I went so far as to put a 500 ms delay in this routine (so EVERY column would wait 1/2 a second just in case the message got overwritten by a later message. I'm not sure what you mean exactly by what columns have you defined. They are all text fields, (e.g., no icons, images, buttons, etc). I create the data array by going though the returned data a line at a time and creating a tab (col) delimited, cr (row) delimited variable then use: set the dgText of group searchResults to theDataA To clarify your first comment, if I set the entire data array using dgText, does it call FillInData for every line possible or only the visible ones? The reason I ask is that one of the things I want to do with FillInData is to get three more fields that don't come out of the original query. I have two dates that come out of another table and have not been able to come up with any SQL query that would return these fields in the original query. What I want to do is when FillIndata gets to the first field (key field), I can call another query for that one record only. As each row is processed, I can get these two dates. This will not be a processing burden IF I only fill the data that is on the screen at the time. The last field I need isn't really a field but rather, based on the value of this field, I need to set the row color. This field I DO have at the time theDataA array is created. len ___ use-revolution mailing list use-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 Data Grid Difficulties - Making it request data
I found the manual pages for coloring lines in a data grid table but it's not working. I'm pretty sure that the reason is because I'm settting the dgText to the array I create from the database records and that is bypassing the FillInData routine. I guess what I need to do is only fill in the records when asked for by the data grid. How exactly would I do that? I need to keep the records in the order they come in from the database but once they are in the table, they could be changed as long as I could get back to the correct line number in my variable. I do NOT need to edit any of the data in the grid. It's only purpose is to display a list of people that are returned from a query (made up on the spot based on the fields the user types in). They need to be able to scroll the list (could be as many as 300 names) and they need to be able to double click on a line to select that person. As long as I can get the data from the first column, I can manage the rest (in fact, that part is working fine right now. I read the entire query result in rather than using a cursor so the examples in the data grid manual I don't think are going to help. Is there a way I can: 1) Do the query 2) Convert the results into a tab/return delimited list of records 3) Tell the data grid to start filling in the data and request the line numbers from me I have 1 and 2 done. All I need is a way to tell the data grid to start requesting the visible rows and (hopefully) pass me the line number it wants (which will match up with my line numbers). After that, I think the colorization routines will fire and do their thing. Thanks! len morgan ___ use-revolution mailing list use-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 Column Header Alignment Changes after column resize
I'm trying to use my first Data Grid (table) in a stack and I need to set the column Header alignment for a few of the columns. Following the instructions in the DG manual, I entered the alignments using the message box and it looked fine. But then I resized one of the columns and all of the alignments changed, some of them even aligning themselves such that only half of the text showed in the column. Do I need to set the alignments every time the grid is displayed? If so, where can I do that? len morgan ___ use-revolution mailing list use-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: Data Grid Column Header Alignment Changes after column resize
Thank you, André On more question if I may, where exactly would I put a handler that would set the color of each row according to the value of one of the columns? For example, if column (database field actually) status is 'I' then I want the row to be green. If it's 'R' then I want it to be pink, etc. I don't mind that the selection will turn the current row blue, but I need a way to set it back again and of course, to set the colors when the data is loaded originally. Thanks! len morgan On 3/13/2010 12:42 PM, Andre.Bisseret wrote: Le 13 mars 10 à 17:18, Len Morgan a écrit : I'm trying to use my first Data Grid (table) in a stack and I need to set the column Header alignment for a few of the columns. Following the instructions in the DG manual, I entered the alignments using the message box and it looked fine. But then I resized one of the columns and all of the alignments changed, some of them even aligning themselves such that only half of the text showed in the column. Do I need to set the alignments every time the grid is displayed? If so, where can I do that? Bonjour Len, I had a similar problem. I assumed that your are centering the headers? Anyway, could be that your resized column is not wide enough; at the right side of each header, a space is kept for the arrow icon which shows the sorting direction. If the header is centered, then the column must take this space into account otherwise the header is not entirely visible (seems like shifted to the left) Widening a bit your column should allow you to see the whole text of the header. If this does not solve your problem, could be that a script in the revdatagridlibrary has to be completed (It was the case for my problem) but I prefer that Trevor helps you if such a modification is necessary ;-)) Best regards from Grenoble André ___ use-revolution mailing list use-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
Substacks Editing and Visibility
I was trying to update a stack I wrote a couple of years ago (in my revAdolescence stage) and moved what had been several separate stacks into substacks of the main stack. One of those stacks was a debug stack that I can use to send logging information as the program runs. It is marked as visible but ever since moving it into the mainstack, I can't see it anymore. It is there because using tRev, I can get a snapshot of the stack and it indeed has the information I've been writing to it there. So my first question is: Can you have a separate window composed of a substack of the main window/stack, or are will I have to pull this out as a separate stack file in order to see it? The location looks ok and as I said, the visible property is true. My second question has to do with editing substacks. CAN I edit a substack or do I have to pull it out, edit it, and then put it back as a substack of the main stack? What I'm after in the end is a single (or as close as I can get to it) stack for updating. Thanks, len morgan ___ use-revolution mailing list use-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: Substacks Editing and Visibility
On 3/12/2010 11:50 AM, Mark Wieder wrote: Len- Friday, March 12, 2010, 9:41:42 AM, you wrote: So my first question is: Can you have a separate window composed of a substack of the main window/stack, or are will I have to pull this out as a separate stack file in order to see it? The location looks ok and as I said, the visible property is true. go stacksubStackName should do the trick, if I understand the problem correctly. That worked but I don't understand why. I'd like to have that stack just lurking around or minimized so I can bring it up when I want to look at it. Clicking back on my original stack seems to leave both there and operational. I'm just curious what go stack xxx does that makes it pop up when I've already start(ed) using stack xxx My second question has to do with editing substacks. CAN I edit a substack or do I have to pull it out, edit it, and then put it back as a substack of the main stack? Editing substacks shouldn't be a problem. Are you saying you're unable to do this or haven't you tried it yet? I haven't tried yet but I remember something on the list about editing substacks. It could have been that someone had both a substack and a real stack by the same name in the same folder and they we'ren't seeing the changes in the substack because they were editing the real stack. I'm sure this will probably work though. len ___ use-revolution mailing list use-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: Parallels or VMWare Fusion?
You might also want to take a look at VirtualBox by Sun. It's free, fast, and cross platform. http://www.virtualbox.org len On 2/18/2010 6:53 PM, runrev260...@m-r-d.de wrote: Thanks for all your comments. So the best is i have to look at both programs. Maybe there are trial versions available. Now i have to wait about 14 days for my mac to arrive. There seems to be delivery problems with the iMac. But i can treat with that. What are 14 days compared to the time i am waiting for the conference dvds. ;-) Matthias Original Message Subject: OT: Parallels or VMWare Fusion? (18-Feb-2010 23:53) From:runrev260...@m-r-d.de To: runrev260...@m-r-d.de Dear all, i am in the process of switching from Windows to Mac.Not really switching, but i want to develop on Mac OS X. As i am using some tools, which are not available for Mac, i need to run a virtual machine also on my mac. On my windows machines i am running several virtual machines on VmWare Workstation and i am really satisfied with it. So i would prefer VmWare Fusion. especially because i could move my existing virtual machines also to the Mac. But this is not a requirement. Are there any users on the list, which are using one or maybe both of the programs and could tell me, if there are any problems with the programs especially using Revstandalones under virtual Windows machines? Regards, Matthias ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution To: use-revolution@lists.runrev.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
Can't seem to print the script of a card
I'm trying to write a recursive stack printer and I'm having trouble with unnamed cards (i.e., cards that have the default name of card id 1002). I use the following: on printCards pStack put the cardNames of stack pStack into theCards repeat for each line c of theCards put the script of card c of stack pStack into theScript ... end repeat end printCards I get an error saying Can't find card every time I hit a card that has never been named. Is this not possible or am I doing something wrong? len morgan ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Can't seem to print the script of a card
On 1/16/2010 8:51 PM, Sarah Reichelt wrote: On Sun, Jan 17, 2010 at 12:39 PM, Len Morganlen-mor...@crcom.net wrote: I'm trying to write a recursive stack printer and I'm having trouble with unnamed cards (i.e., cards that have the default name of card id 1002). I use the following: on printCards pStack put the cardNames of stack pStack into theCards repeat for each line c of theCards put the script of card c of stack pStack into theScript ... end repeat end printCards I get an error saying Can't find card every time I hit a card that has never been named. Is this not possible or am I doing something wrong? The problem is that the default description for an un-named card includes the word card. So you are effectively telling the script to print card card id 1002, which does not exist. You might be better using the cardIDs instead of the cardNames to populate the original list. Cheers, Sarah Thanks Sarah, that worked perfectly. len ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Uniqueness of Group IDs
Now that Sarah solved my card name problems, I have a question about groups on stacks. I don't want to print out the script of a group more than once if it's repeated on several cards. My question is: Is the group ID unique in a stack or could I have a group 1010 on one card and group 1010 on a different card that is a completely different group? I know group IDs can be repeated in different stacks but I specifically concerned with group IDs in a single stack. Thanks in advance, len morgan ___ use-revolution mailing list use-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: Uniqueness of Group IDs
On 1/16/2010 9:16 PM, Len Morgan wrote: Now that Sarah solved my card name problems, I have a question about groups on stacks. I don't want to print out the script of a group more than once if it's repeated on several cards. My question is: Is the group ID unique in a stack or could I have a group 1010 on one card and group 1010 on a different card that is a completely different group? I know group IDs can be repeated in different stacks but I specifically concerned with group IDs in a single stack. Thanks in advance, len morgan ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution And to keep this line of questioning going, it seems I can't list the controls on a card, at least not by using: put the number of controls of card 1 of stack pStack into theNumberOfControls I thought maybe I'd just select the card first, then put the number of controls into theNumberOfControls, but that gives me the error: Can't select an object that isn't open. So it appears I can read the script of a card that isn't open but I can't select the card. I'm getting really confused. len ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Serial Port Woes
I'm having a lot of trouble consistently reading a serial port. I'm trying to talk to a microcontroller using ModBus ASCII and the basic idea is to send a request for data (about 12 bytes) and then wait for an answer (about 300 bytes). There is between a 1/4 and 1/2 second delay from when I send the command and the controller STARTS sending it back. I also can't get it to work at all if I open it for update (either text or binary). I have to open the com port, send the command, then close the port and reopen it for read to get anything at all. I've tried until linefeed, until empty, until eof, for 1 line, etc. and none of them seem to work reliably. I KNOW that a response ends with a CRLF pair and there is only ever 1 line in a response so if I could just wait until I got the LF and it happened in say 3 seconds or less, I'd be happy. Any suggestions?? len morgan ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Is there a 64-bit version coming?
The subject says it all. Is there a 64-bit version of Rev 4.0 (or later) for Windows 7? Just curious... len morgan ___ use-revolution mailing list use-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: Serial Port Woes
I'd love to take a stab at finishing it up. If you have any thoughts on what you feel is missing that you didn't get a chance to finish, let me know. Maybe I can release a serial library we could all use. len morgan On 1/12/2010 12:26 PM, -= JB =- wrote: I was working on a serial port stack but have been prevented from programming on it for over a year now due to being poisoned and tormented in my own home by a communist nazi like secret society destroying select lives in America. It is unfinished but it does some basic calls. If you are interested I will put it on the Rev site and allow anyone to use or improve it. -=JB=- On Jan 12, 2010, at 7:40 AM, Len Morgan wrote: I'm having a lot of trouble consistently reading a serial port. I'm trying to talk to a microcontroller using ModBus ASCII and the basic idea is to send a request for data (about 12 bytes) and then wait for an answer (about 300 bytes). There is between a 1/4 and 1/2 second delay from when I send the command and the controller STARTS sending it back. I also can't get it to work at all if I open it for update (either text or binary). I have to open the com port, send the command, then close the port and reopen it for read to get anything at all. I've tried until linefeed, until empty, until eof, for 1 line, etc. and none of them seem to work reliably. I KNOW that a response ends with a CRLF pair and there is only ever 1 line in a response so if I could just wait until I got the LF and it happened in say 3 seconds or less, I'd be happy. Any suggestions?? len morgan ___ use-revolution mailing list use-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: [ANN] tRev Pre-holiday Update!
Merry Christmas, Jerry! Where exactly are we supposed to see you this morning? Is it just going to be a video update or is this a live event? len Jerry Daniels wrote: Dear tRev fanciers, We have just posted a fairly significant pre-holiday update for tRev. We're making room for the revelation of our Easter Egg feature on Christmas day. No one has found the egg, btw. Below you'll see a link to a 4 minute video showing you our new Transparent Inspection feature. It has a much enhanced UI that does not require the use of the option key. This, in turn, has freed up the use of the option key. Details on the page to which this link points: http://reveditor.com/pre-holiday-update Best, Jerry Daniels http://reveditor.com Want to edit something? We can help. ___ use-revolution mailing list use-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: [ANN] tRev Pre-holiday Update!
Got it. Looks cool. Just to let you know, it appears that tRev working on XP is now (unofficially) now longer possible. Don't get me wrong, SOMETHING is happening, and I still get a nice picture of tRevor in the upper right hand corner of my screen, and I even get the completely blank screen every time control is passed back and forth between tRev and the Rev IDE, but there is no tRev editor screen visible. Just thought you might like to know so you can post somewhere that tRev on (at least 1) XP system does not work. Let's hope there are some nice after Christmas sales at BestBuy so I can get a new machine and get my tRev back. R.I.P. XP :-( len Jerry Daniels wrote: Len, See my last post to the list. The goodies are on the site. See link below. Best, Jerry Daniels The latest Rev Editor Video: http://reveditor.com/feature-friday-drag-a-handler-to-any-tab On Dec 25, 2009, at 10:03 AM, Len Morgan wrote: Merry Christmas, Jerry! Where exactly are we supposed to see you this morning? Is it just going to be a video update or is this a live event? len Jerry Daniels wrote: Dear tRev fanciers, We have just posted a fairly significant pre-holiday update for tRev. We're making room for the revelation of our Easter Egg feature on Christmas day. No one has found the egg, btw. Below you'll see a link to a 4 minute video showing you our new Transparent Inspection feature. It has a much enhanced UI that does not require the use of the option key. This, in turn, has freed up the use of the option key. Details on the page to which this link points: http://reveditor.com/pre-holiday-update Best, Jerry Daniels http://reveditor.com Want to edit something? We can help. ___ use-revolution mailing list use-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
Rev IDE vs MetaCard IDE
Can someone give me a quick summary of why I might want to use the MetaCard IDE instead of RunRev's? It seems that a lot of users of this group use MC. Is it just what you were used to or is there some feature that Rev's doesn't? Just curious. len ___ use-revolution mailing list use-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: Mac ODBC connection to MSSQL on Windows Server
Mark, If you've got a functional ODBC driver on the MAC it should work just like it was on Windows. At the wire level, it's just talking on sockets. As far as using it in a revLet, it appears all of us that have this need are, shall we say, screwed. You will have to have some sort of .cgi process on a server somewhere that will be able to talk ODBC to the database server and use sockets to talk to the revLet(s). It can be a simple as passing the parameters you were going to pass to the revDB call along with the name of the routine (as text) and then excute this on the cgi end to talk to the real database. It's quick and dirty but should be easy to get up and running. You can make it more robust later if there's a hurry to get something done. Better yet, get after runRev to give us someway to communicate with databases from revLets and the problem will be solved. len Mark Stuart wrote: Hi all, A colleague of mine wants to build a revWeb internet application that accesses data from a MSSQL Server on a Windows server. He wants to deploy this application as a cross platform application. How would he go about that, as the application has the revOpenDatabase(odbc...) in the scripts? And if using on ODBC connection on a Mac, the MSSQL ODBC driver has to be installed and a DSN defined as well, right? I've been building Windows deployed applications, and don't know what to tell him. Are there any ODBC MSSQL connection tutorials for cross platform applications? And what other learning resources are there on such things? Regards, Mark Stuart ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
lineoffset - In Reverse
I'm trying to parse a file, who's format I have no control over. I have found the pattern that I need but in order to make it work (easily) I need the equivalent of lineoffset to work from the end mark (which I can reliably find) and the start of that section which is a variable number of lines above the end mark. The start of a section is a line by itself with ... but this same line is also used to mark off other sections that I don't need. So, what I need to do is: 1) find the line offset to the next end-of-section marker 2) find the line offset from #1 BACKWARDS to the first line that starts with ... Is there such a function? I can always roll my own and just read lines backwards from #1 above until I find the start mark but why reinvent the wheel if such a function is already in revTalk. len ___ use-revolution mailing list use-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: On-Rev and PostgreSQL
The file you'll need to look at (and possibly modify) is the pg_hba.conf file in the directory above where PostgreSQL stores the actual data tables. It is very well commented (you'll want to go near the bottom of the file to see the examples that come with the standard distribution). You are allowed to control access to individual databases by not only username/password but also by IP/domain name, whether it is on a secure connection etc. I'm not sure if the PostgreSQL admin program let's you do that or not. I've been using PostgreSQL since version 1.09 (about 12 years) and so have grown up modifying the files with a text editor. On a similar point though, how would you even get the revdb.dll into the revLet so that it could access ANY database? Since revLets are supposed to be platform neutral, how would it know which dll/bundle/so to load in the browser? Has anyone managed to access ANY database from a revLet? If so, could you provide a short script showing how? I'd really like to use SQL Yoga in a revLet but I haven't figured out this (very basic) little detail. len Trevor DeVore wrote: On Nov 15, 2009, at 8:38 PM, Rick Harrison wrote: Since the people at Revolution say that PostgreSQL should work fine on their On-Rev server I think that perhaps they should be held accountable for their advertising of said capabilities. I imagine PostgreSQL works fine if you connect from localhost. Does the database work if you connect with an .irev page running on the server? Usually a database won't allow a user to connect from a remote server without you explicitly telling the database to allow them to do so. So the question still remains: Has anyone out there been able read and write to a PostgreSQL database on an On-Rev server using a revlet? I haven't tried, but if you are having trouble then I would check whether or not you authorized the user you are connecting with to connect from outside hosts. By default the database user is usually restricted to connecting from localhost only (at least with MySQL). ___ use-revolution mailing list use-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: On-Rev and PostgreSQL
I agree with you except there are cases where it IS necessary and doesn't require SSL. I have a customer that has an in house network and WAN (it covers about 60 locations around the US but all connections are by VPN back to the corporate office). I don't have the luxury of having an irev server on their web server for my revlet to talk to (in their case it's an MS SQL database accessed using ODBC). I need to have the revlet communicate with the DB directly and as I mentioned in my last email, I haven't figured out how to include the necessary .dll to do that from a revlet. len Pierre Sahores wrote: It's not realy safe to set up a postgreSQL nor MySQL on-rev backend as a remote bindable rdbms as long as direct communication with those db from the outside world without using an SSL, SHTTP or SSL tunnel will be unsecure. If we need to bind those backends without opening security holes in our processes (login/password transfert over the web, even as MD5 hashes can be dangerous), the best to do is to have the revlet sending its requests to an irev script witch will query the rdbms in localhost mode and send back the result to the revlet. As long as i did'nt set any revlet-irev communication process for yet, i can't realy be realy helpfull about this part of the recommandation but if anyone need some irev-MySQL way to go, i can send some samples. ___ use-revolution mailing list use-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: revEnterprise dp-5 / revMedia beta / revWeb beta
I can confirm that cascading menus in a revLet DON'T work right. Comboboxes are a little flaky too but that is intermittent. I use cascading menus pretty much the way Richard discribed them. I have a Reports button and under that I have different groups of reports which each have their own their own line on this menu. I can't take the mouse off of the original Reports button (top level of menus) without it going away. On the same menu bar, selecting menus that only have a single level work fine. It's the cascade that causes the problem and since the very first line of my Reports menu is a cascading menu, I can't select anything below it either. len morgan Richard Miller wrote: David, There is an extra tab in my example, but it doesn't effect anything. The problem remains as described. Did you try it in your browser and have it work properly? Richard dfepst...@comcast.net wrote: Richard Miller wrote: ... 1. Create a popup button. It will come with three lines of data in it. ... 3. Go back and enter this into the message box: put return tab tab choice x after line 1 of btn 1 4. In the development environment, choice x should now appear as a sub-choice of the first menu item, and you should be able to select it. ... Looks like there's an extra tab in your step 3. David Epstein ___ use-revolution mailing list use-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: Standalones with dp 4.0
In short, standalones NEVER expire. What you are paying for with a license is updates to the development system. If you're happy with what you have in DP-4, it will never have to change and you won't have to pay another penny. You just won't see any of the wonderful new stuff runRev is working on. len morgan ron barber wrote: Greetings, Do standalones built with a dp version of Rev expire? I know this was discussed in the past but I couldn't find it in the archives. Perhaps I used the wrong terms... If my license is current and I build a standalone using the current 4.0 dp-4 then the standalone will continue to run just as though it were built with a release version, right? (the limitations are that the features/bugs may be changed/present?). Thanks 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: Support for SQL Server in SQL Yoga
Thanks for this Trevor!!! I'll give it a workout and report back! len morgan Trevor DeVore wrote: Just a note for those who have been asking about SQL Server support in SQL Yoga. I just uploaded 1.0.0 build 5 BETA. With this version SQL Server accessed through RevDB using ODBC is passing unit tests. You can find links to downloads and the docs (works in progress, finished before release) here: http://www.bluemangolearning.com/revolution/software/libraries/sql-yoga/ An example of which properties to set on a SQL Yoga Connection object for SQL Server can be seen here: http://revolution.screenstepslive.com/spaces/revolution/manuals/sqlyoga/lessons/5861-Incorporating-SQL-Yoga-Into-Your-Application-For-the-First-Time ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
GLX Application Framework revLets
Would the GLX AF work as the basis of a revLet? Is there a compelling reason NOT to do this? Just curious len morgan ___ use-revolution mailing list use-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: GLX Application Framework revLets
I imagine if I had the time to invest in learning the framework, I probably wouldn't have asked the question. :-) len Trevor DeVore wrote: On Sep 17, 2009, at 9:14 PM, Len Morgan wrote: Would the GLX AF work as the basis of a revLet? Is there a compelling reason NOT to do this? Just curious Currently no. Could it? Possibly. I imagine it could be added as an packaging option and then the Application Package could do whatever was necessary to make a revLet, just as it does when building a standalone or updater. I think someone with a real need for this would have to investigate though. I currently don't need this and I'm guessing it will be a bit of work to figure out a generalized way of converting a desktop app to a revlet. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Where can I get the latest plugin download?
It seems there have been a couple of updates to the web plugin since I last downloaded it. Does it automatically update if a new version has been released? If so, does it tell me it's downloading a new version? Is there any way to tell if I have the latest if it doesn't download updates on it's own? It seems that the alpha program (where you can get the plugin) is geared to people that are new to Revolution (i.e., Media downloads), and I already have an Enterprise license so I really don't want to download Media if I don't have to. len morgan ___ use-revolution mailing list use-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 prevents opening stack
Trevor, Since the datagrid library is distributed with runRev, how can we be sure we have the latest version since runRev is being updated so slowly? Is there a way to know if we have the latest version and where to get an update if not? len morgan Having a data grid with data in it shouldn't prevent a stack from opening (at least not that I am aware of). There was an issue with the data grid library that would cause problems if you tried to populate a data grid on a card that wasn't open. By chance do you have code that is doing this? If so then I can get you a newer version of the library that fixes 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
Custom Widget Technique Question
I'm working on a new project and I'd like some advice on how to create custom controls to use on a graphical process display. This will display a water pipeline system with all it's tanks, pipe, valves, flow/pressure meters etc. One of the items I have to display is a water tank and I need to display how much water is in it as both a number and a graphical representation of the water level. I've got the gist of the drawing managed but I'm going to have to have several of these and I don't want to hand create them every time so I'm looking to make a water tank custom control. I need to put it somewhere, send it a current level which would update the numeric display and set the water level. I'd also like to size them so I could have big ones and small ones. That's a long introduction to my actual question. I know I can make a group of the various parts and script the updating and possibly sizing using behavior scripts but once I've created it, where to I put it? Do I create a stack with this group on it and then clone it where I need it? Do I copy and paste (via script)? I can't add it to the Rev graphic object pallet like the datagrid is now. This is not the only custom control I'm going to need so I'm looking for a generic way to handle this kind of thing. In the end, the program will not only have a display of our pipeline but I'd also like to have a separate design program to create the system diagrams in case any other pipelines want to use the program. len morgan ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Custom Widget Technique Question
Thank you for this Richard. This is the kind of information I was looking for. Perhaps I can provide a library of process control custom controls as a library like some people supply custom icon libraries. I'll keep you posted on what I come up with. len Richard Gaskin wrote: Using getProp and setProp you can adjust any number of things within the group from a single property setting. And if you use v3.5's new selectGroupedControls property for groups, you can keep your layout work clean since the pointer tool will treat the group as a single object, regardless of the setting of the global property of the same name. Use copy grpDescriptor to destinationStackDescriptor to add copies of groups to your layout. Keep us posted on how this goes. I love simulations, and would love to see what you come up with. -- Richard Gaskin Fourth World Revolution training and consulting: http://www.fourthworld.com Webzine for Rev developers: http://www.revjournal.com ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: What makes a line a line in a chunk expression?
Jim, This works on my machine but as Sarah pointed out to me, it's actually pointless since they should NEVER be different (i.e., it should never pick something that is not on the list of options so why check? What I really wanted to do was see if a CARD with that name existed (something like if pChoice is among the cards of this stack... which doesn't work because apparently, the cards of this stack is not a valid command. len Jim Ault wrote: I would suggest you do some testing to find the real cause(s) of the situation. There is a disconnect somewhere. -- try this handler in a new stack with a single new option menu button named taskBar on menuPick theItem -- in a pulldown menu get the text of button taskBar --the dashes will indicate extra spaces get it cr -- the short name of button taskBar -- get it cr -- the label of button taskBar -- get it cr -- theItem -- put theItem is among the lines of IT into success put it cr cr success into msg end menuPick This success shows true. Jim Ault Las Vegas On Sep 6, 2009, at 10:31 PM, Len Morgan wrote: I wish it was that simple but if that DOES turn out to be the problem, there's something not quite right with Rev itself. From an earlier post, I am comparing the pChoice that is passed by the menuPick handler with the text of button taskBar which is the button that sent me the pChoice in the first place so they should both be getting their data from the same object and should therefore be the same. That is of course, unless the menuPick parameter is not a true line but I would think I'd get a chunk types don't match message or something like that. This seems like a very simple thing but it's giving me fits! len morgan J. Landman Gay wrote: Len Morgan wrote: If I type the lines: put Movement History into myChoice put the text of button taskBar into tLines put (myChoice is among the lines of tLines) into the message box, the result I get is false When you use is among, the entire line must match to get a hit. If the line you are trying to match has any extra characters (maybe Movement History for Dummies) then the result is false. The two strings must be identical. If you are trying to match only the beginnings of lines, try something like this: if offset(cr myChoice, cr tLines) 0 then... ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution Jim Ault jimaultw...@yahoo.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
What makes a line a line in a chunk expression?
I'm trying to go to a card based on the choice made in an option menu and it's not working right. Here's the gist of what I'm doing: on menuPick pChoice put the text of button taskBar into tChoices if pChoice is among the lines of tChoices then go to card pChoice end if end menuPick For some reason, this doesn't work. Is pChoice not a line? Since some of the cards have multi-word names, I can't use word. Am I missing something? len morgan ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: What makes a line a line in a chunk expression?
If I type the lines: put Movement History into myChoice put the text of button taskBar into tLines put (myChoice is among the lines of tLines) into the message box, the result I get is false len morgan Devin Asay wrote: On Sep 6, 2009, at 10:14 PM, Len Morgan wrote: I'm trying to go to a card based on the choice made in an option menu and it's not working right. Here's the gist of what I'm doing: on menuPick pChoice put the text of button taskBar into tChoices if pChoice is among the lines of tChoices then go to card pChoice end if end menuPick For some reason, this doesn't work. Is pChoice not a line? Since some of the cards have multi-word names, I can't use word. Am I missing something? Len, I can't see any reason why this shouldn't work. pChoice doesn't have to have a line break in it to be considered a line; the text just has to match a full line of the contents of the button. What happens when you try the individual commands in the message box? Devin Devin Asay Humanities Technology and Research Support Center Brigham Young University ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: What makes a line a line in a chunk expression?
I wish it was that simple but if that DOES turn out to be the problem, there's something not quite right with Rev itself. From an earlier post, I am comparing the pChoice that is passed by the menuPick handler with the text of button taskBar which is the button that sent me the pChoice in the first place so they should both be getting their data from the same object and should therefore be the same. That is of course, unless the menuPick parameter is not a true line but I would think I'd get a chunk types don't match message or something like that. This seems like a very simple thing but it's giving me fits! len morgan J. Landman Gay wrote: Len Morgan wrote: If I type the lines: put Movement History into myChoice put the text of button taskBar into tLines put (myChoice is among the lines of tLines) into the message box, the result I get is false When you use is among, the entire line must match to get a hit. If the line you are trying to match has any extra characters (maybe Movement History for Dummies) then the result is false. The two strings must be identical. If you are trying to match only the beginnings of lines, try something like this: if offset(cr myChoice, cr tLines) 0 then... ___ use-revolution mailing list use-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: Launch another app from my standalone
Adrian, I don't think the problem was that the function was defined after the mouseUp handler, it's that it was defined IN the mouseUp handler. You cannot define a function (or command) within the onend of another handler. len Adrian Williams wrote: Phil, Thanks for spotting that a FUNCTION needs to be stated before mouseUp. I knew that of course but overlooked it. Something that happens with irregular use of Rev. Thanks too to everyone who responded to resolve my problems. In the process I learned a lot. At least one thing I learned; I must learn more about Rev! Adrian On 3 Sep 2009, at 09:09, Phil Jimmieson wrote: Hi Adrian, if the script in your email is exactly what you are using, then you need to move the function declaration outside of the mouseup handler. I don't think that these things can be nested. - - - FUNCTION getPathToFile pFile put the filename of this stack into the theFile set the itemdelimiter to slash put pFile into the last item of theFile return theFile end getPathToFile on mouseUp start using stack My App put MyPrettyFont.ttf into myList removeFonts myList put the result into rslt if rslt is not empty then answer information rslt end if --To use: put getPathFile(My App.exe) into tFile launch tFile stop using stack My App --(Ooops. Corrected literal 'May' here in my last message, this is not the problem) end mouseUp - - - On 3 Sep 2009, at 07:42, Adrian Williams wrote: Phil, Mouse up calls stack script to remove installed font and return result. That already works. When adding the FUNCTION code, the FUNCTION line keeps throwing up the error. I've followed all the advice everyone has given - I'm stumped. - - - on mouseUp start using stack My App put MyPrettyFont.ttf into myList removeFonts myList put the result into rslt if rslt is not empty then answer information rslt end if FUNCTION getPathToFile pFile put the filename of this stack into the theFile set the itemdelimiter to slash put pFile into the last item of theFile return theFile end getPathToFile --To use: put getPathFile(My App.exe) into tFile launch tFile stop using stack My App --(Ooops. Corrected literal 'May' here in my last message, this is not the problem) end mouseUp - - - Does that help? Adrian On 2 Sep 2009, at 18:26, Phil Davis wrote: So... maybe we should start at the beginning. The object in which the error occurred is apparently named OK. What does the code of that object look like? Phil Davis Adrian Williams wrote: Phil, Already tried just 'end' - it gets the same error! Adrian On 2 Sep 2009, at 17:13, Phil Jimmieson wrote: Hi Adrian, at the end of the function definition, you only put end and the name of the function - you don't include the parameter list. On 2 Sep 2009, at 17:10, Adrian Williams wrote: Len or anyone else have an answer to this, 'end FUNCTION' gives the error: Handler: error in command ObjectOK LineFUNCTION getPathToFile pFile HintFUNCTION On 30 Aug 2009, at 17:24, Len Morgan wrote: Im hoping Trevor won't mind me sharing this little snippet of code: FUNCTION getPathToFile pFile put the filename of this stack into the theFile set the itemdelimiter to slash put pFile into the last item of theFile return theFile end FUNCTION getPathToFile --To use: put getPathFile(My App.exe) into tFile launch tFile That should do it. len morgan Ideas? Thanks, Adrian -- Phil Davis PDS Labs Professional Software Development http://pdslabs.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 ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution -- Phil Jimmieson p...@liverpool.ac.uk (UK) 0151 795 4236 (Mobile) 07976 983164 Computer Science Dept., Liverpool University, Ashton Building, Ashton Street Liverpool L69 3BX http://www.csc.liv.ac.uk/~phil/ I used to sit on a special medical board... ...but now I use this ointment. ___ use-revolution mailing list use-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
What is the current version of Rev?
I downloaded the latest version of revEnterprise which is supposed to be dp4. However the about Rev page shows Build 900 dp-3. Is this the latest version and just mismarked on the about page or did Check For Updates get the wrong file? Len Morgan ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Simulcast Envy...and a small request for Kevin
For those of us who couldn't make the conference, couldn't adjust our schedules to watch the simulcast, and can't wait for the DVDs (which as I recall seemed to take forever last year), is there any chance that Kevin's keynote speech outlining what's new and what's coming in Rev might be put up on youTube or something? I don't think you're giving away the store with this one speech and it might prove very useful as a marketing tool for those that are just now getting Revolution as a result of the advertising about the 4.0 release. They might like to see where the product is headed before diving in. Just a thought... Len Morgan ___ use-revolution mailing list use-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: Simulcast Envy...and a small request for Kevin
I'd even pony up for a PPV of the keynote. len ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Rev Documentation [WAS: Launch another app from my standalone]
Adrian Williams wrote: IMHO in the doc for 'launch', right underneath 'Examples', an additional 'Example in use' would be helpful. Jim's snippet with its comments puts one of the example statements into some context... put the defaultFolder into tOrigDefaultFolder set the defaultFolder to C:\theDirTheExeIsIn -- Put actual dir the exe is in here launch MyProgram.exe -- Put the actual name of the exe here set the defaultFolder to tOrigDefaultFolder -- Puts the defaultFolder back where it was The problem with the above explanation that the defaultFolder lines have absolutely nothing to do with the launch command. You could have just as easily wanted to launch an app that is relative to a URL which would take another set of chunk explanations that again are totally different and totally unrelated to the launch command. To write such all inclusive documentation for every command would be a daunting task and so verbose that it goes too far the other direction (i.e., so much to read that no one would read any of it). It's a fine line that the documentation writers have to walk. In the future, be sure to look at all the See Also entries in the dictionary and read the WHOLE command description. The See Alsos can often point you in the right direction but also, at least in my case, lead me to learn things I hadn't even thought about before so I end up learning a lot more than if I'd had Scott's example laid out in front of me, took it verbatim, and left. You are suffering from the same problem I know I had and I'm sure a lot of others had: The lack of a good tutorial book on Revolution to get you over the hump when you're new to the language. It's my impression that a large percentage of the current Rev users came from a HyperCard (or one of it's derivatives) background and so they've already been over that hump. The simple terse Rev dictionary format is just fine for them. I remember when I started (from a C/Tcl/Assembly background of MANY years) I couldn't even figure out where to start. The whole concept of passing messages and calling handlers it totally different that the in-line code you'd write in C or Tcl. Once I made that mental leap, things just started falling into place. I still had questions that the documentation didn't answer by that's where this mailing list came in. There was always somebody that could quickly fill in the whole in my knowledge. I believe you can still get Dan Shaefer's (spelling?) book Software at the Speed of Thought which was written around Rev 2.1 I think but it was very helpful in getting me over a lot of the rough spots that the dictionary and user's manual didn't cover (and shouldn't have). There are also a couple of HyperCard/Talk books by Danny Goodman that several people here have recommended. I bought them but haven't really read them so I can't vouch for how helpful they'd be to you. You do have a chance to help out humanity though (well, at least the part of humanity that is struggling to learn Revolution): the user comments at the bottom of the dictionary. They are there for just the same kind of problem you were having, in other words, not quite enough meat around the bone to make it clear. If you feel that something might need more (or better) explaination, add a user comment to enlighten the rest of us. If we all contribute a little here and little there, we should end up with a first class reference that everyone will benefit from. len ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Rev Documentation [WAS: Launch another app from my standalone]
Adrian Williams wrote: Dans' book, great though it is as a primer, is not as accessible as many 'QuickStart' guidebooks available these days. I wouldn't expect too much from a Quick Start Guide to Piloting the Space Shuttle. Complicated topics are hard condense down into a Quick Start. As I think Jim mentioned, authors have to write to an audience. I don't think it's possible to write a book that can be useful to a rank beginner AND a programming professional. They are different audiences with different needs and have to be spoken to in different ways. What would be cool would be some sort of online documentation resource that had an I Get It scrollbar that would show or hide more or less detail depending on whether it's on the Beginner or Expert end. While were at it, we could have platform buttons so if you only really cared about Windows, you wouldn't see OS X and Linux examples (where they are different). There might be an indication that there ARE other things available there (or not) but you wouldn't have to look at it if you didn't want to. I'll probably start working on such a program since now that I think about it, it's a pretty cool idea. The hard part of course is creating and maintaining the content. I'll do the easy part of creating the program and then we can all pitch in and create content. len morgan ___ use-revolution mailing list use-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: Launch another app from my standalone
Im hoping Trevor won't mind me sharing this little snippet of code: FUNCTION getPathToFile pFile put the filename of this stack into the theFile set the itemdelimiter to slash put pFile into the last item of theFile return theFile END getPathToFile To use: put getPathFile(filename you want to launch) into tFile launch tFile That should do it. len morgan Adrian Williams wrote: Jim, When defaultFolder is set to a valid path C:\Program Files\MyApp.exe my code works. Is there a way to retrieve the location of the Folder in which the current application is running. Then set deafultFolder to that? Thanks for your perseverance with me on this topic. Adrian On 30 Aug 2009, at 11:09, Jim Bufalini wrote: Try: put the defaultFolder into tOrigDefaultFolder set the defaultFolder to C:\theDirTheExeIsIn -- Put actual dir the exe is in here launch MyProgram.exe -- Put the actual name of the exe here set the defaultFolder to tOrigDefaultFolder -- Puts the defaultFolder back where it was ___ use-revolution mailing list use-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: Launch another app from my standalone
Adrian, Yes, you can define the function anywhere you like as long as it's in the message path when you want to execute it. But you don't DEFINE the function in the openStack. That is a function (handler actually) all it's own but you can define it in the same script. Remember that it's going to be CALLED when you need it. Since the file name of this stack isn't going to change, the FUNCTION should be able to execute it at any time. len Adrian Williams wrote: Len, Thanks for this. Looks like just what I need! I guess the FUNCTION can go in on openStack and the 'put' part in a card or button script? Adrian On 30 Aug 2009, at 17:24, Len Morgan wrote: Im hoping Trevor won't mind me sharing this little snippet of code: FUNCTION getPathToFile pFile put the filename of this stack into the theFile set the itemdelimiter to slash put pFile into the last item of theFile return theFile END getPathToFile To use: put getPathFile(filename you want to launch) into tFile launch tFile That should do it. len morgan Adrian Williams wrote: Jim, When defaultFolder is set to a valid path C:\Program Files\MyApp.exe my code works. Is there a way to retrieve the location of the Folder in which the current application is running. Then set deafultFolder to that? Thanks for your perseverance with me on this topic. Adrian On 30 Aug 2009, at 11:09, Jim Bufalini wrote: Try: put the defaultFolder into tOrigDefaultFolder set the defaultFolder to C:\theDirTheExeIsIn -- Put actual dir the exe is in here launch MyProgram.exe -- Put the actual name of the exe here set the defaultFolder to tOrigDefaultFolder -- Puts the defaultFolder back where it was ___ use-revolution mailing list use-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: Launch another app from my standalone
Adrian, SOAPBOX state='mount' Before we go any further, if you're going to get MEANINGFUL help from this forum, you've got to be much more specific when you ask a question or show a code segment. For example: -- function getPathToFile pFile put the filename of this stack into theFile --removed unwanted 'the' from your original set the itemdelimiter to slash put pFile into the last item of theFile return theFile getPathToFile --end function is NOT a function definition! You've written it as if it was going to be executed as inline code. The fact that it might actually do it doesn't matter (in fact, this should throw an error because the getPathToFile is never DEFINED as a function. Why would you not write the above the way I did, i.e., FUNCTION getPathToFile pFile end FUNCTION ??? It uses fewer characters and is the syntacticly correct way to write rev code. The way you have written it, it appears you call getPathToFile with an argument of pFile, then execute 4 statements, then call getPathToFile AGAIN with no arguments. The '--function' and '--end function' are shown as comments. It's only because I wrote the original code (well, actually copied the code from something Trevor wrote) that I know you're trying to define a function. Many other people that might have far better answers than mine (Trevor's) might just skip your message because it makes no sense. /SOAPBOX Since there is a space in the filename, it interprets what you pass as TWO arguments when you've defined (hopefully) only a single argument. If you are going to hardcode the filename as you've shown below... --Use the function put getPathFile(My App.exe) into tFile launch tFile ... then you have to put the filename in quotes so that it will be interpreted as a single argument. You call to the function should be: put getPathToFile(My App.exe) into tFile or I believe if you wanted a more generic solution: put My Multiword App Name.exe into tFilename put getPathToFile(tFilename) would work. Sorry if it seemed like I was going off on you (I'm having a little difficulty with my 13 year old daughter doing what she is told and you're getting the heat for it :-( ) but I think you will find a lot more help here if you tell/show EXACTLY what you are doing that isn't working instead of trying to simplify things for us. It only makes the problem worse. You don't need to include ALL of your code, only the parts that aren't working or are relevant to that code. len ___ use-revolution mailing list use-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: Launch another app from my standalone
Thank you Scott for stating what I was trying to say far more diplomatically than I could given my mood at the time. Civility rocks! len Scott Morrow wrote: Hello Adrian, I've sort of re-written what Len suggested but without using a separate function or handler. You can just put the whole thing in where you need it. Eventually you may want to break out pieces of your code by using custom functions and commands but this should work. Scott Morrow Elementary Software (Now with 20% less chalk dust!) web http://elementarysoftware.com/ email sc...@elementarysoftware.com -- put the filename of this stack into tFilePath --tFilePath contains the full path to the mainstack put the itemDelimiter into tOldItemDelimiter -- remember what it was so we can set it back set the itemDelimiter to slash -- / this is the character that divides the path up for example-- C:/aFolder/anotherFolder/aFileOrProgram -- because / is now the itemDelimiter -- aFileOrProgram would be the last item ( item -1 ) in tFilePath -- on Windows, the path to the standalone, -- or in the rev IDE the path to the stack file, -- is the last item ( item -1 ) of tFilePath -- the path to the folder enclosing the stack file or MyStandalone.exe -- is the second to the last item of tFilePath second to the last is not rev code -- we want to put the name of the application you want to launch -- after the enclosing folder -- However -- on Mac OSX, if this code is being executed from a standalone application, -- then the path to the folder enclosing the standalone is different -- the fileName of this stack (tFilePath) will look something like: -- /Macintosh HD/Applications/MyStandalone.app/Contents/MacOS/MyStandalone -- which makes the enclosing folder item -5 of tFilePath -- so we will need to know which platform we are on -- in order to determine what part of the path to use if (the platform is MacOS) AND (the environment is not development) then -- Mac Standalone put item 1 to -5 of tFilePath / theAppName.app into tAppPath else -- Windows or rev IDE put theAppName.exe into item -1 of tAppPath -- example-- put Photoshop.exe into item -1 of tFilePath end if -- in your code, replace theAppName.exe or theAppName.app -- with the actual name of the program you want to open-- Keep it inside quotation marks launch tAppPath set the itemDelimiter to tOldItemDelimiter -- tidy up --- -- here it is one more time without all the comments -- watch line wraps in the email --- put the filename of this stack into tFilePath put the itemDelimiter into tOldItemDelimiter set the itemDelimiter to slash if (the platform is MacOS) AND (the environment is not development) then -- Mac Standalone put item 1 to -5 of tFilePath / theAppName.app into tAppPath else -- Windows or rev IDE put theAppName.exe into item -1 of tAppPath -- example-- put Photoshop.exe into item -1 of tFilePath end if launch tAppPath set the itemDelimiter to tOldItemDelimiter -- tidy up ___ use-revolution mailing list use-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: [OT] Re: [ANN] tRev's new 'decoder' now showing...video is up!
If it's all about text, could you not replace the DISPLAYED word Breakpoint to LenPoint ONLY IN THE TREV DISPLAY. Leave the real word as breakpoint when you save the file but when you show me the script, just do a global substitution. Everybody's happy. Just a thought... len morgan Jerry Daniels wrote: I don't really think the breakpoint terminology will hurt and it does help with cross-editor considerations, etc. Code is all about text, afterall. Best, Jerry Daniels Watch tRev - The Movie http://reveditor.com/trev-the-movie On Aug 25, 2009, at 8:15 PM, Brian Yennie wrote: Jerry, I was thinking more of an inline image than the Rev dot next to a line. It would occupy a line of its own. Doesn't make much of a difference to me, but seemed like an alternative to the concerns about terminology. For example: on mouseUp put 1 into someVar BREAKPOINT #1386243 doSomething end mouseUp would become: on mouseUp put 1 into someVar === #1386243 end mouseUp Where the = is an actual image. Basically, it was just a middle ground between changing the name of breakpoints and going back to red dots =). Brian, Have you ever noticed the dots in Rev's debugger? How, if your script has very many lines at all, the dots can't keep pace with scrolling, returns, etc.? I have. Not pretty, to say the least. So, no images floating around for me, thank you. Also, keeping a separate array of breakpoints and keeping them in sync with the actual code is not easy in a world where tRev is not the only script editor. I used to have lots of these sorts of proprietary approaches. It always came back to bite me in the behind when people traded code with others or used more than one editor. So, a couple years ago, i decided to use text to indicate a breakpoint. Easy to see, easy to delete, follows the code wherever it goes, never gets out of sync. It's all good. Now that we've added record id's as comments following the word breakpoint, we can attach loads of data to a breakpoint. I'm warming up to the idea, too! I think everyone needs to buy the product now!! Best, Jerry Daniels Watch tRev - The Movie http://reveditor.com/trev-the-movie ___ use-revolution mailing list use-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
Text number conversion
I'm talking to a microprocessor device using sockets and it returns a string like the following: 0,0x7BCC The first item is a status code and the number after the comma is the hex value expressed as ASCII characters. It will always be 4 digits. I can't seem to convert this into a number (using baseConvert). Is there some conversion command that I can't find? I need a number because I'm after just one or two bits in that number and I can't use bitAnd unless I've got a number to work with. len morgan ___ use-revolution mailing list use-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: Importing gMail?
I would look no further than the revMedia demo site and download the code that (I think) Bill Marriot did for conducting an on line poll. At least it's a good starting point. len morgan James Hurley wrote: It looks like you're trying to do a survey. Perhaps there's a better way than simple email responses. If you have on-rev you could make a form that collects response and allows only one vote per IP. It could keep the tally in a simple text file. Not idiot proof but fine for a small group. You should be able to do the same thing using the plugin. And yes, you could make a thing that gathers emails, but it would have to allow 1 vote per email, and write some kind of form to work inside the email. A lot more trouble, IMHO than making a simple web page. - Stephen Barncard San Francisco http://barncard.com End of use-revolution Digest, Vol 71, Issue 25 ** Stephen, You are probably right about using doing this on the web. I'm not concerned about duplicate voting. This really a query about how people in the neighborhood are dealing with the fire insurance problem. I live in the Sierra Nevada foothills and as you know, California's rural areas burn down every summer and insurance is getting to be a problem. The responses will be open ended narratives, so the reply windows need to scroll. I'm afraid my Web skill may not be up to the task. I need to work on this, particularly how to get the responses returned to me. Thanks for your advice. Jim Hurley ___ use-revolution mailing list use-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
A Slightly More Complex revLet Question
I'm trying to convert one of Tcl/TK programs to work on a web server instead of the desktop. Because of the Sarbanes/Oxley Act, this will save them a lot of money. My question is: I can convert the screens/tabs/menus fairly easily to a revLet. In fact, this is going rather smoothly. The problem is that the data to fill the fields comes from a SQL server. I assume that I'm going to need some sort of .cgi/.irev program to send a query to and get the results back from. Will this require a connect/disconnect every time I need to get data? Can I create a generic cgi/irev program to receive a query and return tab delimited records? Better still, can I connect from my revLet and keep the connection open and talk to the server directly from the revLet? As I said in my subject, this is a much more complex use of the revLet than I've seen talked about here. Any help and/or advice would be appreciated. Len Morgan KTTK, Inc. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: A Slightly More Complex revLet Question
The particular customer would have the web server farm and SQL Server (Microsoft's) in the same server room so security shouldn't be an issue unless the revlet can somehow be broken into on the client end. Most of the end users have trouble spelling G.E.D. so this is a minimal risk but it is there. Perhaps I AM making it more complicated (in my head) than it really is. I'll have to use ODBC because we don't have either other DB Driver that can speak to a SQL Server. My immediate issue is they would like to see some sort of demonstration of what's possible (after all, the app I'm trying to replace was written over a 10 year period!) not the finished product. Therefore, I'd like to upload the sample program to my on-Rev account and have them access the data on my desktop computer at home (which has a SQL Server and some old data on it). I don't offhand know what port SQL Server uses but I have no problems with them accessing the data directly for a limited time and I don't think they will have a problem with this revLet accessing THEIR SQL Server if they decide to green-light the project. I'll do some playing around with it. Len Morgan KTTK, Inc. Mark Schonewille wrote: Hi Len, Yes, if the server allows it, you can do all you describe. It is indeed recommendable to use a cgi or irev to connect to MySql. I use PHP for this. Many hosts, including yours sincerely, don't allow a direct a connection to a database from a MySQL client. Why would you put effort into keeping a connection alive? I don't think that keeping a connection alive will increase transaction speed significantly, unless you can connect to a database directly, without cgi/irev/php. You can write a cgi or php script, for instance, which interprets a query from your client and executes it. I would consider this rather insecure, because a hacker who finds out how to send queries gets full control over your database. You can get a url or use the post command to connect to a server and send your query from your revlet the same way you can from a desktop standalone. Why is this complex? -- Best regards, Mark Schonewille Economy-x-Talk Consulting and Software Engineering http://economy-x-talk.com Submit your software products to http://www.quickestpublisher.com and get found! On 9 aug 2009, at 18:43, Len Morgan wrote: I'm trying to convert one of Tcl/TK programs to work on a web server instead of the desktop. Because of the Sarbanes/Oxley Act, this will save them a lot of money. My question is: I can convert the screens/tabs/menus fairly easily to a revLet. In fact, this is going rather smoothly. The problem is that the data to fill the fields comes from a SQL server. I assume that I'm going to need some sort of .cgi/.irev program to send a query to and get the results back from. Will this require a connect/disconnect every time I need to get data? Can I create a generic cgi/irev program to receive a query and return tab delimited records? Better still, can I connect from my revLet and keep the connection open and talk to the server directly from the revLet? As I said in my subject, this is a much more complex use of the revLet than I've seen talked about here. Any help and/or advice would be appreciated. Len Morgan KTTK, Inc. ___ use-revolution mailing list use-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
Option Menu Coloring
What (if any) is the property to change the background color of the button with the arrow on an option menu. I set the backgroundcolor but that sets not only the background color of the text but also the background of the arrow button. len morgan ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Array Question
Can you use a variable name as the index of an array? It doesn't appear so or I'm doing something wrong. Here's what I'm trying: put 1 into tasks[Search] put 2 into tasks[Reports] then in a menuPick handler: on menuPick pChoice goto cd tasks[pChoice] end menuPick I need to do this because I have more cards than I have menu choices and they are intermixed with the real ones and I don't want the user to go directly to these hidden cards. Am I going to have to resort to a do command? I tried that quickly but it just gave me an error. len morgan ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution