UDF: Müssen Objektvariable bei Nutzung einer UDF am Ende des Code entladen werden?

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Benutzeravatar
Faol
****
Beiträge: 155
Registriert: Di, 26.01.2016 21:18

UDF: Müssen Objektvariable bei Nutzung einer UDF am Ende des Code entladen werden?

Beitrag von Faol » So, 01.12.2019 17:33

Hallo,

vorweg: UDF's sind nicht so meine Welt.

Wie mein Titel schon verrät, stelle ich mir die Frage,
ob geladene Objektvariablen entladen werden müssen.
Speziell meine ich so etwas:

Code: Alles auswählen

Function myXX(a)
oDoc=ThisComponent
.
.
.
Set oDoc=Nothing
End Function
Warum?
Ich könnte mir vorstellen, dass die OV's speicherresistent sind und
beim herunterkopieren der der Funktion in einem Sheet, immer
wieder aufs Neue geladen werden.

Kann mir jemand dazu etwas sagen?
Oder wo gibt es Informationen darüber?

Vielen Dank
Gruß
Faol
⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒
Win.10 Prof. (x64) • AOO 4.1.6 • LibO 6.3.2.2 (x64)
⇐⇐⇐⇐⇐⇐⇐⇐⇐⇐⇐⇐⇐⇐⇐⇐⇐⇐⇐⇐⇐⇐⇐⇐⇐⇐⇐⇐⇐⇐⇐

Toxitom
********
Beiträge: 3639
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Re: UDF: Müssen Objektvariable bei Nutzung einer UDF am Ende des Code entladen werden?

Beitrag von Toxitom » So, 01.12.2019 18:35

Hey Faol,

ganz kurz: Nein :))

Falls Du deine Funktion korrekt programmiert hast brauchst Du Dir um Deine Objekte keine Sorgen zu machen. Das ERledigt der Interpreter automatisch.

UDFs sind ja auch "nur" normale Basic-Programme, und da gelten die gleichen Regeln.

Deine Variablen werden nur lokal definiert (also innerhalb der Sub bzw. function). Ist diese beendet - sind auch die Inhalte/Objekte "zerstört". Fertig.

Falls Du allerdings Deine Variablen global mit "global" definiert hättest (was Du aber nie machen solltest....), dann müsstest Du differenzierter an die Sache rangehen.

Zu Deinem Code-Bsp: alles perfekt. eine Zeile "Set <variablenname> = nothing (oder Null oder so) gibt es nicht und wird auch nicht gebraucht.

VG
Tom
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic

Benutzeravatar
Faol
****
Beiträge: 155
Registriert: Di, 26.01.2016 21:18

Re: UDF: Müssen Objektvariable bei Nutzung einer UDF am Ende des Code entladen werden?

Beitrag von Faol » So, 01.12.2019 19:15

Hallo Tom,

vielen Dank für Deine Hinweise.

Dann werde ich mal weiter testen, wobei jetzt schon feststeht,
das meine UDF in LibreOffice ein anderes Ergebnis liefert als OpenOffice.
Na, Ergebnis ist nicht das richtige Wort, aber mehr dazu in einem neuen Thema.
Gruß
Faol
⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒⇒
Win.10 Prof. (x64) • AOO 4.1.6 • LibO 6.3.2.2 (x64)
⇐⇐⇐⇐⇐⇐⇐⇐⇐⇐⇐⇐⇐⇐⇐⇐⇐⇐⇐⇐⇐⇐⇐⇐⇐⇐⇐⇐⇐⇐⇐

Antworten