waarde variabele gaat verloren

Status
Niet open voor verdere reacties.

Sjoef

Gebruiker
Lid geworden
12 mei 2009
Berichten
270
Hallo, ik heb een Dot die een andere Dot opstart. Er moet dan een variabele meegegeven worden. Nu heb ik 2 omgevingen. Een Prod en een Acc. In Acc werkt de boel perfect. In prod verlies ik steeds een variabele waarde. Dat gebeurt (volgens mij) op het moment dat de Dot Document.New uitvoert. Kan het zijn dat het een rechten probleem is? Hoewel netwerkbeheer zegt dat ik zowel op Prod als Acc dezelfde rechten heb. Iemand enig idee hoe ik er achter kan komen waar het mis gaat?

JoZ
 
En je weet 100% zeker dat de documentversies identiek zijn?
 
ja...100% Alleen een verwijzing naar juiste map in de prod of de acc.
 
En hoe geef je de variabele door? Je snapt hopelijk dat we zonder voorbeeldje of code maar bitter weinig zinnigs kunnen zeggen.
 
ik geef de variabele door als public string in een module. Heb zelfs een global string geprobeerd. Ik blijf het gek vinden dat het in acc wel goed gaat en in prod niet. Vandaar mijn vraag of het een rechten probleem kan zijn. Maar wat ik graag zou willen weten hoe ik kan zien wanneer de variabele zijn waarde verliest.

JoZ
 
in vb kun je pointers meegeven waarop de running code gaat hangen en wacht tot je de waarde kan controleren.
 
in vb kun je pointers meegeven waarop de running code gaat hangen en wacht tot je de waarde kan controleren.

dat heb ik gedaan (waarschijnlijk verkeerd) want daar blijf ik de waarde gewoon zien. Misschien een kleine uitleg?
 
het is al weer even geleden dat ik hier actief mee bezig was, dus vergeef me als het niet helemaal perfect klopt.
Wat ik me herriner is dat elke dot een eigen document maakt. Elk document heeft zijn eigen memory pool.
Je kunt dus iets global maken maar dan maak je het beschiknaar voor meer routines in dezelfde pool.
Als je een Document.New doet dan krijg je een nieuwe pool.
Ik vemoed dat je met je pointers naar de oude plek kijkt.

Je moet vanuit de nieuwe pool een link leggen naar het document wat al open staat en de waardes over verhuizen of ze vanuit het oude document in de nieuwe pool injecteren.(laatste vereist wel wat try-catch routines om te zorgen dat het allemaal netjes gaat).

gezien het gevaar van automatische macros en het makkelijk verspreiden van virussen in documenten zitten dit soort dingen tegenwoordig een stuk beter dicht. (niet meer dan logisch).

Kom je er nu nog niet uit dan moet ik er echt even voor gaan zitten.

Succes,
M.
 
dank voor je reactie.ik ga puzzelen. kom ik er niet uit laat ik het weten.
 
laat je vorderingen even weten hier dan kijk ik mee. Gooi anders ook wat source hier neer (stukjes, please niet alles) :-) mss zie ik er een fout in.
Als ik na lang zoeken het echt zat ben dan maak ik vaak even een nieuwe test versie. Zonder alle extra routines. Gewoon 2 dots met 1 variable. gewoon om te kijken of het dan wel werkt.
Als dat werkt dan alle oude **** overladen in de werkende situatie. Stap voor stap en elke keer tussendoor checken of het nog werkt. Moet werken.
M.
 
nogmaals dank voor je reactie en je hulp. Het netwerk ligt nu plat voor onderhoud en en ik dus pas maandag verder. Maar ik laat zeker wat van me horen.....

JoZ
 
Je kunt probleemloos een Public variabele vullen vanuit document 1 en de waarde ervan plakken in document 2; dat heeft weinig met 'nieuwe pool injecteren' te maken. Klinkt ook eerder als een techniek die door Lance Armstrong gebruikt wordt dan door een tekstverwerker :)
Kun je met een simpele macro testen:

Code:
Option Explicit
Public sTest As String

Code:
Sub test()
Dim aRange As Range
    Set aRange = Selection.Paragraphs(1).Range
    sTest = aRange.Text
    Documents.Add DocumentType:=wdNewBlankDocument
    Selection.TypeText sTest
End Sub
 
Michel, heb jou code gebruikt om te testen. Ik verloor inderdaad de variabele bij het openen van een nieuw document. Probleem is boven water. Ik open met de de ene .dot een andere. Die moet dan wel als verwijzing in het (zeg maar) 2e .dot zitten. En die verwees na de kopieer slag nog naar de acc omgeving. pfffff.....soms is het lang zoeken naar een simpele fout/oplossing. Een ieder bedankt voor het mee denken.

JoZ
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan