Ich bin neu in VB6 (und Visual Basic in jeder Form) Entwicklung und ich bin auf ein Problem gestoßen. Es kann lexikalische Fehler unten geben, weil ich den Code formatierte, um ein wenig lesbarer innerhalb des Pfostens hier zu sein, aber der Kern der Frage bleibt. Hier ist der CodeWarum ändert sich meine VB6-Variante je nachdem, wann sie zugewiesen wurde?
Mein Problem ist, dass die von den MsgBox Aufrufen angezeigt (die zweite Gruppe von ihnen, diejenigen, die auf die Variablen ScrWord und ResWord verweisen) unterscheiden sich je nachdem, wenn ich den Variablen ScrWord und ResWord zuweisen. Wenn ich den Variablen scrWord und resWord an der ersten Stelle, die im oben gezeigten Code unkommentiert ist, zuweisen, werden die Nachrichtenboxen am unteren Rand des Codes entweder Zeichenfolgen ausgeben, an denen ich nicht interessiert bin (z. B. die erste Nachricht) eine Ausgabe, die aussieht wie "srcws: resColNum: #" oder was scheinbar Mülldaten sind. Beachten Sie, dass dies bedeutet, dass der Variable scrWord eine statische Zeichenfolge zugewiesen wurde, die ich im vorherigen Meldungsfeld verwendet habe. Das ist NIE das beabsichtigte Verhalten und ich habe keine Ahnung, wie es passiert.
Wenn die Zuweisung dagegen unmittelbar vor den Meldungsfeldern erfolgt, in denen die Variablenzuweisung im obigen Code kommentiert wird, geben die Variablen einen anderen Wert aus, der etwas mehr dem entspricht, was erwartet wird, aber nicht genau (normalerweise sind die beiden Variablen genau gleich oder eins ist numerisch, wenn beide unterschiedliche Alphastrings sein sollen).
Ich bin von diesem Problem verwirrt und ich glaube, es hat etwas mit den GetData-Aufrufe zu tun, die einen Variant-Datentyp zurückgeben.
Danke, Evan
Neuer Code unten geschrieben wird. Funktioniert immer noch nicht.
In diesem neuen Code wird sowohl "srcWord" als auch "resWord" "Hallo, Welt" angezeigt.
Ich kann immer noch keinen Sinn dieses Verhaltens machen.
Haben Sie versucht, diesen Code mit dem Debugger auszuführen. Der VB6 Debugger ist ziemlich anständig. Dies sollte Ihnen die Quelle des unerwarteten Verhaltens viel besser zeigen, als wenn Sie MsgBox-Aufrufe besprenkeln. – Tomalak
Ich schreibe eine DLL, um eine Host-Anwendung zu erweitern. Ich sehe den VB6 Debugger ist gut, aber ich bin mir unsicher, wie zu debuggen, wenn ich die Host-Anwendung ausführen muss (sonst haben meine Aufrufe von "GetData" kein Ziel) –
Was sind die sourceWS und resultWS Objekte? Excel Arbeitsblätter? –