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