Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.basic.visual.misc > #839
| From | "Stuart McCall" <smccall@myunrealbox.com> |
|---|---|
| Newsgroups | comp.lang.basic.visual.misc |
| References | (7 earlier) <jicag2$87f$1@dont-email.me> <5odjk75idm6fgl98vbmabap2djd38nvum5@4ax.com> <jicjab$6ta$1@dont-email.me> <6sD2r.204924$WX2.187127@newsfe28.ams2> <jig2oc$mui$1@dont-email.me> |
| Subject | Re: What is a class? |
| Message-ID | <_TQ2r.205696$WX2.13665@newsfe28.ams2> (permalink) |
| Date | 2012-02-27 19:24 +0000 |
"Bob Butler" <bob_butler@cox.invalid> wrote in message news:jig2oc$mui$1@dont-email.me... > > "Stuart McCall" <smccall@myunrealbox.com> wrote in message > news:6sD2r.204924$WX2.187127@newsfe28.ams2... >> For instantiation in local scope, I tend to use the construct: >> >> With New ClassName >> .Property1 = <whatever> >> .Method1 >> 'etc >> Variable = .Result >> End With >> >> No need for Dim, with or without As New. >> >> (just thought I'd throw this into the mix to see what the group make of >> it) > > I use it in some limited cases. The only caution I have is that you have > to be careful of issues that can leave you with orphaned objects. > > In Class1: > Private Sub Class_Initialize() > MsgBox "init class" > End Sub > > Private Sub Class_Terminate() > MsgBox "term class" > End Sub > > Public Sub DoSomething() > Dim x As Long > x = 1 / 0 > End Sub > > In Module1: > Sub Main() > On Error GoTo eh > With New Class1 > .DoSomething > End With > eh: > MsgBox "at error handler" > End Sub > > The error handler jumps over the 'End With' without releasing the object. > It has local scope so it goes away when the procedure ends but depending > on your logic that might not happen right away. The same thing can happen > in other ways: > > Sub Main() > Dim x As Long > For x = 1 To 10 > With New Class1 > Exit For > End With > Next > MsgBox "post loop" > End Sub > > If code like the above is inside another loop you could end up with > multiple orphans and if the logic doesn't allow the procedure to end they > will live until it does. As long as you are sure that nothing will > prevent the code from hitting the 'End With' statement it can be a useful > consruct. On the other hand it doesn't really save anything over > declaring an object variable and setting it explicitly since that's what > happens implicitly anyway. I agree with all of the above. As I mentioned elsewhere, I only use it when I'm reasonably sure no errors will occur. The main attraction for me is readability. Thanks for your comments.
Back to comp.lang.basic.visual.misc | Previous | Next — Previous in thread | Next in thread | Find similar
What is a class? Peter Nolan <peter.nolan40@gmail.com> - 2012-02-24 04:02 -0800
Re: What is a class? "Auric__" <not.my.real@email.address> - 2012-02-24 14:06 +0000
Re: What is a class? Peter Nolan <peter.nolan40@gmail.com> - 2012-02-25 03:07 -0800
Re: What is a class? Helmut_Meukel <Helmut_Meukel@bn-hof.invalid> - 2012-02-25 14:19 +0100
Re: What is a class? "Auric__" <not.my.real@email.address> - 2012-02-25 21:26 +0000
Re: What is a class? Jim Mack <no-uce-ube@mdxi.com> - 2012-02-25 18:58 -0500
Re: What is a class? GS <gs@somewhere.net> - 2012-02-25 19:39 -0500
Re: What is a class? "Auric__" <not.my.real@email.address> - 2012-02-26 03:09 +0000
Re: What is a class? Jim Mack <no-uce-ube@mdxi.com> - 2012-02-25 22:35 -0500
Re: What is a class? GS <gs@somewhere.net> - 2012-02-25 22:55 -0500
Re: What is a class? "Farnsworth" <nospam@nospam.com> - 2012-02-25 23:27 -0500
Re: What is a class? GS <gs@somewhere.net> - 2012-02-26 01:30 -0500
Re: What is a class? "Auric__" <not.my.real@email.address> - 2012-02-26 04:41 +0000
Re: What is a class? ralph <nt_consulting64@yahoo.net> - 2012-02-25 23:05 -0600
Re: What is a class? "Henning" <computer_hero@coldmail.com> - 2012-02-26 11:24 +0100
Re: What is a class? ralph <nt_consulting64@yahoo.net> - 2012-02-25 23:03 -0600
Re: What is a class? GS <gs@somewhere.net> - 2012-02-26 01:26 -0500
Re: What is a class? "Stuart McCall" <smccall@myunrealbox.com> - 2012-02-27 04:15 +0000
Re: What is a class? ralph <nt_consulting64@yahoo.net> - 2012-02-27 00:48 -0600
Re: What is a class? "Mayayana" <mayayana@invalid.nospam> - 2012-02-27 08:57 -0500
Re: What is a class? "Stuart McCall" <smccall@myunrealbox.com> - 2012-02-27 19:19 +0000
Re: What is a class? "Stuart McCall" <smccall@myunrealbox.com> - 2012-02-27 19:12 +0000
Re: What is a class? "Bob Butler" <bob_butler@cox.invalid> - 2012-02-27 06:06 -0800
Re: What is a class? "Stuart McCall" <smccall@myunrealbox.com> - 2012-02-27 19:24 +0000
Re: What is a class? GS <gs@somewhere.net> - 2012-02-27 11:01 -0500
Re: What is a class? ralph <nt_consulting64@yahoo.net> - 2012-02-27 11:07 -0600
Re: What is a class? GS <gs@somewhere.net> - 2012-02-27 13:10 -0500
Re: What is a class? Schmidt <sss@online.de> - 2012-02-27 19:09 +0100
Re: What is a class? GS <gs@somewhere.net> - 2012-02-27 13:29 -0500
Re: What is a class? GS <gs@somewhere.net> - 2012-02-27 14:43 -0500
Re: What is a class? Schmidt <sss@online.de> - 2012-02-27 22:14 +0100
Re: What is a class? GS <gs@somewhere.net> - 2012-02-27 16:45 -0500
Re: What is a class? GS <gs@somewhere.net> - 2012-02-27 18:23 -0500
Re: What is a class? GS <gs@somewhere.net> - 2012-02-27 23:26 -0500
Re: What is a class? Schmidt <sss@online.de> - 2012-02-28 13:54 +0100
Re: What is a class? GS <gs@somewhere.net> - 2012-02-28 08:37 -0500
Re: What is a class? ralph <nt_consulting64@yahoo.net> - 2012-02-28 09:19 -0600
Re: What is a class? GS <gs@somewhere.net> - 2012-02-28 10:42 -0500
Re: What is a class? Schmidt <sss@online.de> - 2012-02-29 06:47 +0100
Re: What is a class? GS <gs@somewhere.net> - 2012-02-29 09:39 -0500
Re: What is a class? GS <gs@somewhere.net> - 2012-02-29 13:33 -0500
Re: What is a class? GS <gs@somewhere.net> - 2012-02-29 14:43 -0500
Re: What is a class? Schmidt <sss@online.de> - 2012-02-29 21:39 +0100
Re: What is a class? GS <gs@somewhere.net> - 2012-02-29 16:15 -0500
Re: What is a class? Schmidt <sss@online.de> - 2012-02-29 23:20 +0100
Re: What is a class? GS <gs@somewhere.net> - 2012-02-28 00:16 -0500
Re: What is a class? Jim Mack <no-uce-ube@mdxi.com> - 2012-02-27 13:26 -0500
Re: What is a class? "Stuart McCall" <smccall@myunrealbox.com> - 2012-02-27 19:33 +0000
Re: What is a class? Jim Mack <no-uce-ube@mdxi.com> - 2012-02-27 15:50 -0500
Re: What is a class? Helmut_Meukel <Helmut_Meukel@bn-hof.invalid> - 2012-02-26 11:02 +0100
Re: What is a class? GS <gs@somewhere.net> - 2012-02-26 14:23 -0500
Re: What is a class? GS <gs@somewhere.net> - 2012-02-26 17:09 -0500
Re: What is a class? ralph <nt_consulting64@yahoo.net> - 2012-02-25 22:21 -0600
Re: What is a class? "Auric__" <not.my.real@email.address> - 2012-02-26 04:51 +0000
Re: What is a class? ralph <nt_consulting64@yahoo.net> - 2012-02-25 23:10 -0600
Re: What is a class? Peter Nolan <peter.nolan40@gmail.com> - 2012-02-26 04:11 -0800
Re: What is a class? Helmut_Meukel <Helmut_Meukel@bn-hof.invalid> - 2012-02-26 16:37 +0100
Re: What is a class? "Auric__" <not.my.real@email.address> - 2012-02-26 18:36 +0000
Re: What is a class? ralph <nt_consulting64@yahoo.net> - 2012-02-26 14:11 -0600
Re: What is a class? Peter Nolan <peter.nolan40@gmail.com> - 2012-02-27 03:11 -0800
Re: What is a class? "Auric__" <not.my.real@email.address> - 2012-02-27 16:33 +0000
Re: What is a class? Jim Mack <no-uce-ube@mdxi.com> - 2012-02-27 13:33 -0500
Re: What is a class? Peter Nolan <peter.nolan40@gmail.com> - 2012-02-28 04:07 -0800
Re: What is a class? Peter Nolan <peter.nolan40@gmail.com> - 2012-02-25 03:33 -0800
Re: What is a class? Peter Nolan <peter.nolan40@gmail.com> - 2012-02-25 04:19 -0800
Re: What is a class? "Ivar" <ivar.ekstromer000@ntlworld.com> - 2012-02-24 15:15 +0000
Re: What is a class? GS <gs@somewhere.net> - 2012-02-24 14:52 -0500
Re: What is a class? "Ivar" <ivar.ekstromer000@ntlworld.com> - 2012-02-24 23:10 +0000
Re: What is a class? GS <gs@somewhere.net> - 2012-02-24 19:46 -0500
Re: What is a class Way off Topic "Ivar" <ivar.ekstromer000@ntlworld.com> - 2012-02-25 02:20 +0000
Re: What is a class Way off Topic GS <gs@somewhere.net> - 2012-02-25 16:57 -0500
Re: What is a class? Helmut_Meukel <Helmut_Meukel@bn-hof.invalid> - 2012-02-25 11:36 +0100
Re: What is a class? Peter Nolan <peter.nolan40@gmail.com> - 2012-02-25 03:35 -0800
Re: What is a class? Jim Mack <no-uce-ube@mdxi.com> - 2012-02-24 15:23 -0500
Re: What is a class? "Auric__" <not.my.real@email.address> - 2012-02-25 01:33 +0000
Re: What is a class? Peter Nolan <peter.nolan40@gmail.com> - 2012-02-25 03:09 -0800
Re: What is a class? "Mayayana" <mayayana@invalid.nospam> - 2012-02-24 20:05 -0500
csiph-web