RE: Fehler in Makroausführung

2021-03-12 Diskussionsfäden Jörg Schmidt
Hallo, 

> -Original Message-
> From: Wolfgang Jäth [mailto:jawo.ml.hams...@arcor.de] 
> Sent: Friday, March 12, 2021 10:20 AM
> To: users-de@openoffice.apache.org
> Subject: Re: Fehler in Makroausführung
> 
> Am 11.03.2021 um 12:09 schrieb technik_...@jrsch.de:
> > Sub Main
> > print "1:" &  test()
> > print "2:" & test(4)
> > end sub
> > 
> > function test(optional zl as integer)
> 
> AFAIK müssen optionale Parameter (im- oder explizit) grundsätzlich als
> "variant" deklariert werden.

dann möchte ich doch noch etwas sagen:

ich würde innerhalb der Function den Parameterwert an eine separate Variable zu 
übergeben und dann innerhalb der Function mit dieser Variable zu arbeiten.

z.B. also:

function test(optional zl As integer)
if ismissing(zl) then 
x = 0
Else
x = zl
End If
do
x = x + 1
leer=leer+1
loop until leer >9
test=x
end function

> Was genau andernfalls passiert, bzw. dass das /überhaupt/ so ist, ist
> leider nirgends richtig (oder überhaupt) erläutert. Sorry.

In der Tat, nur ist die Notwendigkeit bzw. Bevorzugung als Variant zu 
deklarieren hier eigentlich ebenfalls nicht explizit gegeben, z.B. im Gegensatz 
zu com.sun.star.sheet.FunctionAccess (dort ist variant zwingend weil die 
Einzelparameter verschiedenen Typs sein können).



Gruß
Jörg







-
To unsubscribe, e-mail: users-de-unsubscr...@openoffice.apache.org
For additional commands, e-mail: users-de-h...@openoffice.apache.org



Re: Fehler in Makroausführung

2021-03-12 Diskussionsfäden technik_...@jrsch.de



Am 12.03.2021 um 10:19 schrieb Wolfgang Jäth:

Am 11.03.2021 um 12:09 schrieb technik_...@jrsch.de:

Sub Main
print "1:" &  test()
print "2:" & test(4)
end sub

function test(optional zl as integer)

AFAIK müssen optionale Parameter (im- oder explizit) grundsätzlich als
"variant" deklariert werden.

oder überhaupt nicht. Das funktioniert anscheinend auch.

Was genau andernfalls passiert, bzw. dass das /überhaupt/ so ist, ist
leider nirgends richtig (oder überhaupt) erläutert. Sorry.
Unter bestimmten Umständen werden die anscheinend zu einer Art Konstante 
und verändern sich nicht mehr.


Wolfgang


-
To unsubscribe, e-mail: users-de-unsubscr...@openoffice.apache.org
For additional commands, e-mail: users-de-h...@openoffice.apache.org



Re: Fehler in Makroausführung

2021-03-12 Diskussionsfäden Wolfgang Jäth
Am 11.03.2021 um 12:09 schrieb technik_...@jrsch.de:
> Sub Main
> print "1:" &  test()
> print "2:" & test(4)
> end sub
> 
> function test(optional zl as integer)

AFAIK müssen optionale Parameter (im- oder explizit) grundsätzlich als
"variant" deklariert werden.

Was genau andernfalls passiert, bzw. dass das /überhaupt/ so ist, ist
leider nirgends richtig (oder überhaupt) erläutert. Sorry.

Wolfgang
-- 


-
To unsubscribe, e-mail: users-de-unsubscr...@openoffice.apache.org
For additional commands, e-mail: users-de-h...@openoffice.apache.org



RE: Fehler in Makroausführung

2021-03-12 Diskussionsfäden Jörg Schmidt
Hallo, 

> -Original Message-
> From: technik_...@jrsch.de [mailto:technik_...@jrsch.de] 
> Sent: Friday, March 12, 2021 7:27 AM
> To: users-de@openoffice.apache.org
> Subject: Re: Fehler in Makroausführung

> Ich verwende das Makro schon seit einigen Jahren in verschiedenen 
> Dokumenten. Erst jetzt tritt dieser Fehler auf.

Mich erreichte inzwischen per PM der Hinweis das bereits eine Fehlermeldung zu 
dem Problem existiert:
https://bz.apache.org/ooo/show_bug.cgi?id=23763

da diese Bugmeldung von 2003 bzw. 2015 datiert, muss das Problem eigentlich 
schon lange existieren.



Gruß
Jörg


-
To unsubscribe, e-mail: users-de-unsubscr...@openoffice.apache.org
For additional commands, e-mail: users-de-h...@openoffice.apache.org



Re: Fehler in Makroausführung

2021-03-11 Diskussionsfäden technik_...@jrsch.de



Am 11.03.2021 um 13:28 schrieb Jörg Schmidt:

Hallo,


-Original Message-
From: technik_...@jrsch.de [mailto:technik_...@jrsch.de]
Sent: Thursday, March 11, 2021 12:10 PM
To: users-de@openoffice.apache.org
Subject: Fehler in Makroausführung

Hallo,

ich habe ein eigenartiges Verhalten beobachtet:

Sub Main
print "1:" &  test()
print "2:" & test(4)
end sub

function test(optional zl as integer)
if ismissing(zl) then zl = 0
do
a= zl+1
zl = zl + 1
zl=a
leer=leer+1
loop until leer >9
test=zl
end function

Bei Aufruf von test() wird der Zähler zl nur bei 1 gezählt und dann
nicht mehr weiter heraufgezählt.

Strenggenommen gibt es in der Programmhilfe keinen Hinweis darauf das ein 
optionales Argument typisiert sein darf. Lasse ich die Typisierung weg läuft es 
richtig.


Ich verwende das Makro schon seit einigen Jahren in verschiedenen 
Dokumenten. Erst jetzt tritt dieser Fehler auf.


Ich habe ganz oft optional mit Typ belegt. Es funktioniert auch beim 
ersten Mal, Aber dann scheint es eine Konstante zu werden.


Ich nehm die Typisierung raus.

Horst



(a)
ja, auch ich halte das für eigenartig

(b)
bei LO tritt dieses Verhalten nicht auf



Gruß
Jörg



-
To unsubscribe, e-mail: users-de-unsubscr...@openoffice.apache.org
For additional commands, e-mail: users-de-h...@openoffice.apache.org



-
To unsubscribe, e-mail: users-de-unsubscr...@openoffice.apache.org
For additional commands, e-mail: users-de-h...@openoffice.apache.org



RE: Fehler in Makroausführung

2021-03-11 Diskussionsfäden Jörg Schmidt
Hallo, 

> -Original Message-
> From: technik_...@jrsch.de [mailto:technik_...@jrsch.de] 
> Sent: Thursday, March 11, 2021 12:10 PM
> To: users-de@openoffice.apache.org
> Subject: Fehler in Makroausführung
> 
> Hallo,
> 
> ich habe ein eigenartiges Verhalten beobachtet:
> 
> Sub Main
> print "1:" &  test()
> print "2:" & test(4)
> end sub
> 
> function test(optional zl as integer)
>if ismissing(zl) then zl = 0
> do
>a= zl+1
>zl = zl + 1
>zl=a
>leer=leer+1
> loop until leer >9
> test=zl
> end function
> 
> Bei Aufruf von test() wird der Zähler zl nur bei 1 gezählt und dann 
> nicht mehr weiter heraufgezählt.

Strenggenommen gibt es in der Programmhilfe keinen Hinweis darauf das ein 
optionales Argument typisiert sein darf. Lasse ich die Typisierung weg läuft es 
richtig.

(a)
ja, auch ich halte das für eigenartig

(b)
bei LO tritt dieses Verhalten nicht auf



Gruß
Jörg



-
To unsubscribe, e-mail: users-de-unsubscr...@openoffice.apache.org
For additional commands, e-mail: users-de-h...@openoffice.apache.org



Re: Fehler in Makroausführung

2021-03-11 Diskussionsfäden technik_...@jrsch.de

Am 11.03.2021 um 12:09 schrieb technik_...@jrsch.de:

Hallo,

ich habe ein eigenartiges Verhalten beobachtet:

Sub Main
print "1:" &  test()
print "2:" & test(4)
end sub

function test(optional zl as integer)
  if ismissing(zl) then zl = 0
do
      a= zl+1
      zl = zl + 1
      zl=a
      leer=leer+1
loop until leer >9
test=zl
end function

Bei Aufruf von test() wird der Zähler zl nur bei 1 gezählt und dann 
nicht mehr weiter heraufgezählt.


(Die Prozedur stammt aus einem Hilfsmakro, dass in verschiedenen 
Programmen läuft und hier auf das wesentliche gekürzt wurde. Die 
Variable a ist für  Testzwecke eingebaut worden.)


Ich hatte den Computer mit Win7 und OO 4.1.19 vorher im Ruhemodus. 
Aber das hat auch früher nicht gestört.

Noch ein Nachtrag: Auch nach Neustart bleibt der Fehler.


Horst




-
To unsubscribe, e-mail: users-de-unsubscr...@openoffice.apache.org
For additional commands, e-mail: users-de-h...@openoffice.apache.org



-
To unsubscribe, e-mail: users-de-unsubscr...@openoffice.apache.org
For additional commands, e-mail: users-de-h...@openoffice.apache.org



Fehler in Makroausführung

2021-03-11 Diskussionsfäden technik_...@jrsch.de

Hallo,

ich habe ein eigenartiges Verhalten beobachtet:

Sub Main
print "1:" &  test()
print "2:" & test(4)
end sub

function test(optional zl as integer)
  if ismissing(zl) then zl = 0
do
      a= zl+1
      zl = zl + 1
      zl=a
      leer=leer+1
loop until leer >9
test=zl
end function

Bei Aufruf von test() wird der Zähler zl nur bei 1 gezählt und dann 
nicht mehr weiter heraufgezählt.


(Die Prozedur stammt aus einem Hilfsmakro, dass in verschiedenen 
Programmen läuft und hier auf das wesentliche gekürzt wurde. Die 
Variable a ist für  Testzwecke eingebaut worden.)


Ich hatte den Computer mit Win7 und OO 4.1.19 vorher im Ruhemodus. Aber 
das hat auch früher nicht gestört.


Horst




-
To unsubscribe, e-mail: users-de-unsubscr...@openoffice.apache.org
For additional commands, e-mail: users-de-h...@openoffice.apache.org