This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
vba:classes:log4vba [02.05.2017 11:34:50] yaslaw [singleton()] |
vba:classes:log4vba [21.10.2019 12:10:41] (current) yaslaw |
||
---|---|---|---|
Line 1: | Line 1: | ||
<const> | <const> | ||
- | version=1.4.0 | + | version=1.5.6 |
- | vdate= 11.03.2017 | + | vdate= 21.10.2019 |
fname=log4vba.cls | fname=log4vba.cls | ||
ns=%NAMESPACE% | ns=%NAMESPACE% | ||
Line 16: | Line 16: | ||
{{%%fname%%|Download %%fname%% (V-%%version%%)}}</WRAP> | {{%%fname%%|Download %%fname%% (V-%%version%%)}}</WRAP> | ||
- | Mit dem Errohandling und Debug-Inrmationen in VBA ist es immer wieder mühsam, jedesmal alles auszuprogrammieren. Darum habe ich für mich diese Klasse geschrieben. Sie ist einfach zu implementieren und ermöglicht ein einheitliches Error-Handling über ein gesammtes Projekt. | + | Mit dem Errohandling und Debug-Informationen in VBA ist es immer wieder mühsam, jedesmal alles auszuprogrammieren. Darum habe ich für mich diese Klasse geschrieben. Sie ist einfach zu implementieren und ermöglicht ein einheitliches Error-Handling über ein gesammtes Projekt. |
===== Definitionen ===== | ===== Definitionen ===== | ||
Line 41: | Line 41: | ||
==== Creatoren ==== | ==== Creatoren ==== | ||
- | Es gibt verschiedene Möglichkeiten ein DateTime zu initialisieren | + | Es gibt verschiedene Möglichkeiten ein Log4vba zu initialisieren |
^ Methode ^ Rückgabetyp ^ Beschreibung ^ | ^ Methode ^ Rückgabetyp ^ Beschreibung ^ | ||
- | | [[#singleton]] | %%Log4vba%% | Erstellt und behält eine Instanz | | ||
| [[#instance]] | %%Log4vba%% | Erstellt eine neue Instance | | | [[#instance]] | %%Log4vba%% | Erstellt eine neue Instance | | ||
| [[#startMethode]] | %%Log4vba%% | Erstellt ein Clone einer Instance und setzt die Methode fest | | | [[#startMethode]] | %%Log4vba%% | Erstellt ein Clone einer Instance und setzt die Methode fest | | ||
Line 101: | Line 100: | ||
==== singleton() ==== | ==== singleton() ==== | ||
- | singleton ist ab Version 1.5.0 keine eigene Funktion mher. Ich habe festgestellt, dass VBA singleton unterstützt, wenn die Einstellung Attribute VB_PredeclaredId = True gesetzt ist. Und das ist bei dieser Klasse der Fall. | + | singleton ist ab Version 1.5.0 keine eigene Funktion mehr. Ich habe festgestellt, dass VBA singleton unterstützt, wenn die Einstellung Attribute VB_PredeclaredId = True gesetzt ist. Und das ist bei dieser Klasse der Fall. |
Um auf die singelton zuzugreiffen, müssen die Klammern weggelassen werden. | Um auf die singelton zuzugreiffen, müssen die Klammern weggelassen werden. | ||
Line 170: | Line 169: | ||
==== construct() ==== | ==== construct() ==== | ||
Iniitialisier ein bestehendes Objekt neu. | Iniitialisier ein bestehendes Objekt neu. | ||
- | <code>object.construct([debugMode]) | + | <code>object.construct([debugMode])</code> |
<code vb>'/** | <code vb>'/** | ||
' * Setzt Standardwerte für eine bestehende Instanz | ' * Setzt Standardwerte für eine bestehende Instanz | ||
Line 193: | Line 192: | ||
False | False | ||
- | 'und jetzt mit No drücken (Also nicht in den Debug-Mode wechseln | + | 'und jetzt mit No drücken. Ergo nicht in den Debug-Mode wechseln |
? Log4vba().error("Ich bin ein Fehler", vbObjectError) | ? Log4vba().error("Ich bin ein Fehler", vbObjectError) | ||
True</code> | True</code> | ||
Line 229: | Line 228: | ||
=== Beispiel === | === Beispiel === | ||
Ein Beipiel in Direktfenster | Ein Beipiel in Direktfenster | ||
- | <code vb>Log4vba().debugMode = true | + | <code vb>Log4vba.debugMode = true |
- | Log4vba().debugValue "Mein Array", array("Stefan", "Erb", "Winterthur") | + | Log4vba.debugValue "Mein Array", array("Stefan", "Erb", "Winterthur") |
25.11.2016 10:41:07 DEBUG Mein Array: ['Stefan','Erb','Winterthur']</code> | 25.11.2016 10:41:07 DEBUG Mein Array: ['Stefan','Erb','Winterthur']</code> | ||
Die Ausgabe mit [[#lib_printr_exists]] aktiviert und eprPrintR für ltDebug. | Die Ausgabe mit [[#lib_printr_exists]] aktiviert und eprPrintR für ltDebug. | ||
- | <code vb>Log4vba().debugMode = true | + | <code vb>Log4vba.debugMode = true |
- | Log4vba().typeSettings(ltDebug) = eprConsole+eprPrintR 'Ist als Standard bereits gesetzt. Ist hier nur zur Veranschaulichung | + | Log4vba.typeSettings(ltDebug) = eprConsole+eprPrintR 'Ist als Standard bereits gesetzt. Ist hier nur zur Veranschaulichung |
- | Log4vba().debugValue "Mein Array", array("Stefan", "Erb", "Winterthur") | + | Log4vba.debugValue "Mein Array", array("Stefan", "Erb", "Winterthur") |
25.11.2016 12:44:09 DEBUG Mein Array | 25.11.2016 12:44:09 DEBUG Mein Array | ||
<Variant()> ( | <Variant()> ( | ||
Line 246: | Line 245: | ||
==== info() ==== | ==== info() ==== | ||
Schreibt eine Information. Der Erste Paramter kann ein Text oder ein ErrObject sein | Schreibt eine Information. Der Erste Paramter kann ein Text oder ein ErrObject sein | ||
- | <code>flag = Log4vba()info(Err) | + | <code>flag = Log4vba.info(Err) |
- | flag = Log4vba()info(Message [,ErrorBumber [,Source [,Array(Parameters) [,Settings]]]])</code> | + | flag = Log4vba.info(Message [,ErrorBumber [,Source [,Array(Parameters) [,Settings]]]])</code> |
<code vb>'/** | <code vb>'/** | ||
' * @param ErrObject/String | ' * @param ErrObject/String | ||
Line 283: | Line 282: | ||
Exit Sub | Exit Sub | ||
Err_Handler: | Err_Handler: | ||
- | Log4vba().info "Manelle Meldung", "testLog4vba2()" | + | Log4vba().info "Manuelle Meldung", "testLog4vba2()" |
- | Debug.Assert Log4vba().info(Err, , "testLog4vba2()", Array(iId, iArray)) | + | Debug.Assert Log4vba.info(Err, , "testLog4vba2()", Array(iId, iArray)) |
End Sub</code> | End Sub</code> | ||
<code>testLog4vba2 123, array("Stefan", "Erb", "Winterthur") | <code>testLog4vba2 123, array("Stefan", "Erb", "Winterthur") | ||
Line 498: | Line 497: | ||
' */ | ' */ | ||
Public Function writeToConsole(ByVal iLogType As eLogType, ByVal iText As String) | Public Function writeToConsole(ByVal iLogType As eLogType, ByVal iText As String) | ||
- | If Not CurrentProject.AllForms("FRM_SYS_CONSOLE").IsLoaded Then DoCmd.OpenForm C_CONSOLE | + | If Not CurrentProject.AllForms("FRM_SYS_CONSOLE").IsLoaded Then DoCmd.OpenForm "FRM_SYS_CONSOLE" |
Form_FRM_SYS_CONSOLE.log iText | Form_FRM_SYS_CONSOLE.log iText | ||
End Function</code> | End Function</code> |