Jim Lawrence
accessd at shaw.ca
Wed Jun 24 14:11:09 CDT 2009
Hi guys: In the old days, some 30 years back I did a lot of assembler coding and discovered a very neat technique for returning from a chunk of code back to anywhere in application. You would just push the address of where you wanted to return to, on the stack. That was great, as the stack pointer did not have to be set to return to the caller module. I would first set the return address to the error handler to trap any errors, in the called module and then if code completed successfully, the stack pointer was set then set to any position in the program you wanted to jump to, and then a return byte was processed. The assembler, I was using was designed to auto adjust all the changes in module position. Of course there was no internal documentation (no memory) other than a ref number to a code book. This little trick sure saved a lot of code and made the modules very flexible... The down side was if you ever lost the code printout and needed to make some changes, with all its documentation, you were screwed. I ended up being raked over the coals after someone lost my documentation manual. It took 3 people, 2 weeks to rebuild the code. At that point, I learned my lesson about the proper methods of using RETURNS and explicit GOTOs. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Wednesday, June 24, 2009 8:34 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Learning .Net -- PHP Instead? Hi Arthur and Charlotte, I used to use the same "one exit point" principle over the years (especially in my VBA programming) but I must note it's becoming obsolete nowadays: I do not use it almost at all anymore in my C#/VB.NET development. Have a look what is the reasoning behind this "new approach" to not bother about "one exit point" principle: http://ubuntuforums.org/showthread.php?t=631745 http://discuss.joelonsoftware.com/default.asp?joel.3.325456.34 Everything seems to be changing in programming these days but one who has been in programming for some time can rather clearly see we're "just" getting repeating/rethinking of "good old habits" but on higher current level of evolution spiral of computer science, programming methods and practices... Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Wednesday, June 24, 2009 6:43 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Learning .Net -- PHP Instead? Yup. Over the years I have learned to accept this wisdom: each procedure or function should have exactly one exit point. Define the result variable and set it within your case statement, then jump out and return the result variable. No headaches or scratched foreheads that way. A. On Wed, Jun 24, 2009 at 10:35 AM, Charlotte Foust < cfoust at infostatsystems.com> wrote: > Structured programming suggests you instead design the code so there is > no reason to use a GOTO. If you hit a condition in a particular branch, > the code naturally arrives at the exitpoint. Very clean concept, that. > > Charlotte Foust > > -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com __________ Information from ESET NOD32 Antivirus, version of virus signature database 4184 (20090624) __________ The message was checked by ESET NOD32 Antivirus. http://www.esetnod32.ru __________ Information from ESET NOD32 Antivirus, version of virus signature database 4184 (20090624) __________ The message was checked by ESET NOD32 Antivirus. http://www.esetnod32.ru -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com