User Tools

Site Tools


vba:tutorials:cachedobjectforfunction

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
vba:tutorials:cachedobjectforfunction [29.04.2015 10:44:14]
yaslaw
vba:tutorials:cachedobjectforfunction [12.09.2019 08:17:36] (current)
yaslaw [Komplexeres Beispiel mit Kapselung]
Line 1: Line 1:
 ====== [VBA] Cached Object in einer Function ====== ====== [VBA] Cached Object in einer Function ======
-**Objekte Cachen, so dass sie nicht jedesmal neu erstellt werden müssen. Sinnvoll bei FSO, RegExp etc.**+//Objekte Cachen, so dass sie nicht jedesmal neu erstellt werden müssen. Sinnvoll bei FSO, %%RegExp%% etc.//
  
 Ein Klassiker: Wir haben eine selbstgeschriebene Funktion (user definied function) die ein %%RegExp%%-Objekt enthält. %%RegExp%%-Objekte können sehr schnell Texte parsen. Am schnellsten sind sie aber, wenn nicht jedesmal der Pattern und die Settings neu initialisiert werden müssen. Bei einzelnen Aufrufen ist das nicht relevant. Wenn man die Funktion hingegen in einem Query (Abgfrage) verwendet, hat man schnell den Fall dass das %%RegExp%%-Objekt 1000 mail initialisiert und 1000 mal entfernt wird. Ein Klassiker: Wir haben eine selbstgeschriebene Funktion (user definied function) die ein %%RegExp%%-Objekt enthält. %%RegExp%%-Objekte können sehr schnell Texte parsen. Am schnellsten sind sie aber, wenn nicht jedesmal der Pattern und die Settings neu initialisiert werden müssen. Bei einzelnen Aufrufen ist das nicht relevant. Wenn man die Funktion hingegen in einem Query (Abgfrage) verwendet, hat man schnell den Fall dass das %%RegExp%%-Objekt 1000 mail initialisiert und 1000 mal entfernt wird.
Line 95: Line 95:
  
 ===== Komplexeres Beispiel mit Kapselung ===== ===== Komplexeres Beispiel mit Kapselung =====
-Ein Beispiel aus der [[vba:​access:​xlsxexporter]]. Dort brauche in ein Objekt Excel, ein Workbook und ein Worksheet.+Ein Beispiel aus der [[vba:​access:​classes:​xlsxeporter|]]. Dort brauche in ein Objekt Excel, ein Workbook und ein Worksheet.
 Je nach Aufruf der Methoden der Klasse müsste ich an mehreren Stellen prüfen, ob das Excel-Objekt bereits initialisiert ist oder nicht. Und wenn nicht, dass muss ich es erstellen. Mit den Property und Static kümmert sich das Program selber drum Je nach Aufruf der Methoden der Klasse müsste ich an mehreren Stellen prüfen, ob das Excel-Objekt bereits initialisiert ist oder nicht. Und wenn nicht, dass muss ich es erstellen. Mit den Property und Static kümmert sich das Program selber drum
 <code vb>'/​** <code vb>'/​**
vba/tutorials/cachedobjectforfunction.1430297054.txt.gz · Last modified: 29.04.2015 10:44:14 by yaslaw