Frage zur Variablendefinition
Hallo Forum,
ich habe eine EXE-Datei in VB.NET geschrieben, die ca. 200 Prozeduren und Methoden umfasst. In den meisten davon wird auf ein Excel- und ein Word-Objekt zugegriffen, die ganz am Anfang des Tools als Variablen angelegt werden.
Welche Form der Variablendefinition ist am sinnvollsten:
- Definition von 2 globalen Variablen
- Definition von lokalen Variablen in jeder Prozedur und dann Verweis auf die aktuelle Instanz von Word bzw. Excel
- Definition von 2 lokalen Variablen in der Start-Prozedur und Übergabe der Variablen als Parameter an die einzelnen Prozeduren
Ich möchte, dass mein Tool möglichst Ressourcen-schonend und schnell arbeitet. Welche Variante wäre hierfür am sinnvollsten?
Vielen Dank im voraus,
M. Born
ich habe eine EXE-Datei in VB.NET geschrieben, die ca. 200 Prozeduren und Methoden umfasst. In den meisten davon wird auf ein Excel- und ein Word-Objekt zugegriffen, die ganz am Anfang des Tools als Variablen angelegt werden.
Welche Form der Variablendefinition ist am sinnvollsten:
- Definition von 2 globalen Variablen
- Definition von lokalen Variablen in jeder Prozedur und dann Verweis auf die aktuelle Instanz von Word bzw. Excel
- Definition von 2 lokalen Variablen in der Start-Prozedur und Übergabe der Variablen als Parameter an die einzelnen Prozeduren
Ich möchte, dass mein Tool möglichst Ressourcen-schonend und schnell arbeitet. Welche Variante wäre hierfür am sinnvollsten?
Vielen Dank im voraus,
M. Born
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 393929
Url: https://administrator.de/contentid/393929
Ausgedruckt am: 21.11.2024 um 22:11 Uhr
7 Kommentare
Neuester Kommentar
Hi,
rein auf die Ressourcen bezogen - nur zwei globale Variablen. Weil dann eben nur 2 Zeiger auf jeweils ein Objekt.
Wenn Du je Prozedure die Vaiablen jeweils als Parameter übergibts, dann kopierst Du nur die Zeiger auf die jeweiligen Objekte, aber die Objekte bleiben dieselben. Ob sich das aber merklich auf die Leistung auswirkt sei dahingestellt.
E.
rein auf die Ressourcen bezogen - nur zwei globale Variablen. Weil dann eben nur 2 Zeiger auf jeweils ein Objekt.
Wenn Du je Prozedure die Vaiablen jeweils als Parameter übergibts, dann kopierst Du nur die Zeiger auf die jeweiligen Objekte, aber die Objekte bleiben dieselben. Ob sich das aber merklich auf die Leistung auswirkt sei dahingestellt.
E.
Moin,
wenn du von "Variablen" sprichst, meinst du a) Datentype im "herkömmlichen" Sinne (int, byte, string, boolean) oder sprichst du b) von Objekten/Klassen (Excel Worksheet, Word Document usw)?
Falls b) ist der RAM und Zeitverbrauch "normal", wenn du jedesmal eine neues Objekt mit lokalem Scope anlegst.
Ohne deinen Code zu kennen: Evtl. kannst du das ganze als Klasse umbauen und dann Klassen-lokale Objekt oder Unterklassen verwenden. Das sollte dann Zeit als auch RAM einsprachen.
lg,
Slainte
wenn du von "Variablen" sprichst, meinst du a) Datentype im "herkömmlichen" Sinne (int, byte, string, boolean) oder sprichst du b) von Objekten/Klassen (Excel Worksheet, Word Document usw)?
Falls b) ist der RAM und Zeitverbrauch "normal", wenn du jedesmal eine neues Objekt mit lokalem Scope anlegst.
Ohne deinen Code zu kennen: Evtl. kannst du das ganze als Klasse umbauen und dann Klassen-lokale Objekt oder Unterklassen verwenden. Das sollte dann Zeit als auch RAM einsprachen.
lg,
Slainte
Was meinst Du mit "das ganze als Klasse umbauen und dann Klassen-lokale Objekt oder Unterklassen verwenden"?
Hier ist das ganz gut erklärt:
https://code.sp-datenbank.de/23-coding/visual-basic/tutorials/11-objekto ...