Frage

Um die Moderatoren zu vermeiden, die keine allgemeinen Fragen mögen, ist dies ein Visio-VBA, aber ich wollte das nicht in den Titel einschließen, da es ein bisschen Nische ist, und ich denke, die Antwort könnte generisch sein :-)

Mein Code enthält die folgenden Variablen:

generasacodicetagpre.

Für diejenigen, die mit Visio unbHIR mit Visio, erstellen, erstellen Sie ein Anwendungsobjekt, öffnen Sie das Dokument und legen Sie dann einen Verweis auf eine Seite in das Dokument ein, in dem Sie tatsächlich etwas Zeichnung machen können.

Alle Vars sind global, aber eigentlich wird GDOCFile nur in meiner Initialisierungsroutine verwendet. Also meine Frage ist, brauche ich Gdocfile als global, oder kann ich es einfach lokal machen? Ich nehme an, ich machte mir Sorgen, dass, wenn es lokal wäre, wenn es außerhalb des Geltungsbereichs ging, das Dokumentobjekt aufräumen könnte, aber ich brauche immer noch die Seite des Dokuments?

macht das sinnvoll?

War es hilfreich?

Lösung

Machen Sie keine variable oder ein Objekt global, es sei denn, Sie müssen absolut absolut, was fast nie ist.Geben Sie Objektverweise als Parameter an diejenigenverfahren an, die sie benötigen - und nur an diese.Alles, was Sie von dem Objekt benötigen, bevor es "aus Geltungsbereich ausgeführt wird, sollten, wie Sie sagen, an den Anrufvorgang als Funktionsrückgabewert (oder diskraniererer somit weniger vorzugsweise weniger Subbyf-Parameterwert) weitergegeben werden.

Wenn Sie sagen, dass ein Objekt außerhalb des Geltungsbereichs ist, ist es eigentlich die -Engefolgung an das Objekt, das außerhalb des Geltungsbereichs ist.Das Objekt existiert immer noch unverändert im Speicher.

Im Allgemeinen ist Global schlecht und führt zu einem schwer zu pflegenden Code, aber Ausnahmen könnten Dinge wie universelle Konstanten sein, z.

generasacodicetagpre.

Es ist in Ordnung, das als global zu haben.

Andere Tipps

In Ihrem Fall wird die Dokumentenlebensdauer von der Visio-Anwendung gesteuert, der Dokument wird nicht aufgeräumt, egal wie viele Variablen, die Sie erstellen, oder in denen sie (global oder lokal) sind.Mittel, alle Referenzzählung (SCOPING) -Regeln werden einfach von Visio für Dokumente ignoriert - der Dokument wird nicht zerstört, auch wenn es nicht mehr Verweise auf ihn aus Ihrem Code gibt.

Sie können das Visio mitteilen, um das Dokument mithilfe von Dokument zu schließen. Zerspeisen.Nach diesem Anruf wird jeder Versuch, die Methoden oder Eigenschaften des Dokuments (oder Page) mithilfe eines der Dokument / Seitenvariablen des Dokuments / der Seite in diesem Dokument in diesem Dokument zu verwenden, in diesem Dokument zu verwenden.

Ein Dokument kann vom Benutzer geschlossen werden.In diesem Fall werden alle Variablen, die sich auf sie beziehen (oder Objekte darin, wie Seiten oder Formen), ungültig.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top