test-direct-visum.pyโข2.32 kB
import sys
sys.path.append(r"H:\Program Files\PTV Vision\PTV Visum 2025\Exe")
try:
print("=== TEST DIRETTO PYTHON VISUM ===")
print("Tentativo connessione a Visum attivo...")
import win32com.client
# Test GetActiveObject (dovrebbe funzionare se Visum รจ giร aperto)
try:
visum = win32com.client.GetActiveObject("Visum.Visum")
print("โ
CONNESSO a istanza Visum attiva!")
# Test accesso dati rete
nodes = visum.Net.Nodes.Count
links = visum.Net.Links.Count
zones = visum.Net.Zones.Count
print(f"๐ STATISTICHE RETE:")
print(f" Nodi: {nodes:,}")
print(f" Link: {links:,}")
print(f" Zone: {zones:,}")
if nodes > 0:
print("๐ฏ SUCCESSO! Rete attiva con dati")
# Test accesso dettagli link
if links > 0:
print("๐ Test accesso primo link...")
try:
# Prova diversi metodi di accesso
first_link = visum.Net.Links.ItemByKey(1, 1) # From-To node
print("โ
ItemByKey funziona")
except:
try:
link_collection = visum.Net.Links
print(f"โ
Collezione Links accessibile: {link_collection}")
except Exception as e:
print(f"โ Errore accesso link: {e}")
else:
print("โ ๏ธ Rete vuota - progetto non caricato in COM")
except Exception as active_error:
print(f"โ GetActiveObject fallito: {active_error}")
# Fallback: DispatchEx
try:
print("๐ Tentativo DispatchEx...")
visum = win32com.client.DispatchEx("Visum.Visum")
print("โ
DispatchEx riuscito (nuova istanza)")
nodes = visum.Net.Nodes.Count
links = visum.Net.Links.Count
print(f" Nodi: {nodes}, Link: {links}")
except Exception as dispatch_error:
print(f"โ Anche DispatchEx fallito: {dispatch_error}")
except Exception as e:
print(f"โ ERRORE GENERALE: {e}")
import traceback
traceback.print_exc()
print("\n=== TEST COMPLETATO ===")