Re: Global variables – OpenOffice .org Basic
Andrew Douglas Pitonyak <[email protected]> Sun, 14 Aug 2011 18:54:57 -0400
| Newsgroups | gmane.comp.openoffice.devel.api |
|---|---|
| Message-ID | <[email protected]> |
On 08/14/2011 01:45 AM, Johnny Rosenberg wrote: > 011/8/14 Andrew Douglas Pitonyak<[email protected]>: >> Let me start by saying that this works just fine using OOo for all cas= es >> without resorting to Global. >> >> Do you have Option Compatible set anywhere? >> > No, isn't that for compatibility with Visual Basic? I'm not sure why I > would like to be compatible with that=E2=80=A6 Dim translates to "Private", but Private is broken in OOo so it acts=20 like "Public". A decision was made to NOT fix this in case it broke=20 existing macros. The end result is that DIM acts correctly ONLY if=20 Option Compatible is used. > > Anyway, it worked (as far as I remember) without Global, but NOT from > the IDE by pressing F5 in some cases. > > > Kind regards > > Johnny Rosenberg > =E3=82=B8=E3=83=A7=E3=83=8B=E3=83=BC=E3=83=BB=E3=83=AD=E3=83=BC=E3=82=BC= =E3=83=B3=E3=83=90=E3=83=BC=E3=82=B0 > >> >> On 08/08/2011 11:42 AM, Johnny Rosenberg wrote: >>> I am testing some functions at the moment (I wrote them a few years >>> ago and now I'm trying to make them faster=E2=80=A6) but I am a bit s= tuck at >>> the moment. >>> >>> It looks something like this: >>> >>> Module1 >>> =C2=AF=C2=AF=C2=AF=C2=AF=C2=AF=C2=AF=C2=AF >>> ' Code starts here >>> Option Explicit >>> >>> Type Blahblah >>> This As Integer >>> That As Integer >>> End Type >>> >>> Dim OneThing As Blahblah >>> Dim MoreStuff As Integer >>> >>> Sub Main >>> Dim X As Integer >>> Some stuff >>> X=3DMyFunction(47) >>> More stuff >>> End Sub >>> ' End of code >>> >>> Module2 >>> =C2=AF=C2=AF=C2=AF=C2=AF=C2=AF=C2=AF=C2=AF >>> ' Code starts here >>> Function MyFunction(A As Integer) As Integer >>> Dim SomeValue As Integer >>> Some stuff >>> OneThing.This=3DA*SomeValue >>> More stuff >>> MyFunction=3DOneThing.This-A >>> End Function >>> ' End of code >>> >>> Now, when running this (with F5 or F8), it seems like it starts at >>> =E2=80=9DSub Main=E2=80=9D and everything above it is omitted, so I g= et an error >>> message in module2 when =E2=80=9DOneThing=E2=80=9D is mentioned. >>> Shouldn't the global things be available in all modules? They are if = I >>> run similar macros from a spreadsheet, for example, that is not from >>> the Basic IDE. >>> >>> Did I miss something here? Is there a way around it? >>> >>> >>> Kind regards >>> >>> Johnny Rosenberg >>> =E3=82=B8=E3=83=A7=E3=83=8B=E3=83=BC=E3=83=BB=E3=83=AD=E3=83=BC=E3=82= =BC=E3=83=B3=E3=83=90=E3=83=BC=E3=82=B0 >> -- >> Andrew Pitonyak >> My Macro Document: http://www.pitonyak.org/AndrewMacro.odt >> Info: http://www.pitonyak.org/oo.php >> >> -- >> ----------------------------------------------------------------- >> To unsubscribe send email to [email protected] >> For additional commands send email to [email protected] >> with Subject: help >> --=20 Andrew Pitonyak My Macro Document: http://www.pitonyak.org/AndrewMacro.odt Info: http://www.pitonyak.org/oo.php --=20 ----------------------------------------------------------------- To unsubscribe send email to [email protected] For additional commands send email to [email protected] with Subject: help