Hi Tommylik,
kein Problem, das Thema interessiert mich gerade mehr als meine eigentliche Arbeit 
Meinst du mit Entwurfszeit die Zeit wann die Daten zur Verfügung stehen?
Ich meinte damit den zenon Editor, also ob bei Projekterstellung schon alle Grafiken vorhanden sind und dem Projekt hinzugefügt werden können - scheint aber nicht so zu sein.
Die Applikation wird mit eine Kamera überwacht
Da muss ich mal kurz einhaken: hat die Kamera keinen integrierten Webserver? Viele Kameras können ja über einen Browser angesprochen werden. Wenn ja, dann würde ich empfehlen direkt ein HTML Bild zu nutzen und die Grafik direkt aus der Kamera anzuzeigen (sprich bei niO Grenzwert -> Bildumschaltung auf HTML Bild mit Adresse der Kamera)
Es sei denn ich kann eine String Variable der String-Rema übergeben
Ne geht nicht, fällt also auch weg.
Aber ich verstehe den OnlineContainer nicht so richtig
Ähm, da gibt's schon viele Beiträge im Forum. Drum hier nur in Kürze:
Die OnlineVariable (= Onlinecontainer) wird benötigt, damit die hinzugefügten zenon Variablen 'advised' sind, das heisst das sie ständig vom Treiber gelesen werden. Ansonsten kann es sein, dass der Zugriff auf eine Variable einen Fehler verursacht. Einer OnlineVariable können belibig viele zenon Variablen hinzugefügt werden - darum spricht man oft vom Onlinecontainer.
Ist die OnlineVariable mit WithEvents definiert, dann wird bei jeder Wertänderung einer der hinzugefügten zenon Variablen das entsprechende _VariableChange Ereignis ausgelöst.
Code:
Private Sub Container_VariableChange(ByVal obVar As IVariable)
ist also NICHT die Onlinevariable an sich, sondern die Change - Ereignisprozedur der Onlinevariable 'Container' - obVar ist dabei die zenon Variable deren Wert sich gerade geändert hat
Bestimmt steht irgendwo ganz oben im ThisProject
Code:
Dim WithEvents Container As OnlineVariable
das ist die Definition der eigentlichen OnlineVariable.
Vermutlich wird diese OnlienVariable im Project_Active erzeugt und befüllt(kann aber auch woanders sein). Den Code dazu spar ich mir jetzt, wie gesagt findest du dazu einiges im Forum, ausserdem hast du es anscheinend eh schon in deinem Code drin. Kurz: erst mit Create erzeugen, dann mit Add zenon Variablen hinzufügen und zum Schluß mit Define den Container aktivieren.
Vermutlich geht das aber nur
solange das Bild das die Grafik beinhaltet noch nicht geöffnet ist.
-> ggf. zuerst Bild schließen
Könntest du deine Vermutung genauer beschreiben?
Eine Grafikdatei die gerade angezeigt wird ist glaub ich schreibgeschützt. Meine Idee ist ja, dass du im zenon Editor ein Bild definierst, das z.B. als Hintergrundgrafik eine dem Editor hinzugefügte DummyGrafik hat. Der Inhalt dieser Grafik ist egal, nur der Name ist wichtig. Nehmen wir an, die DummyGrafik heisst "Zange.bmp" und ist nur ein graues Rechteck oder was auch immer. Im VariableChange müsstes du dann die tatsächlich anzuzeigende Grafik kopieren und mit dem Namen "Zange.bmp" die DummyGrafik überschreiben/ersetzen. Wenn Du dann das Bild aufrufst siehst Du deine Grafik als Hintergrund. ABER: das Überschreiben wird nur funktionieren wenn diese Grafik nicht gerade benutzt/angezeigt wird.
Hoffe damit sind alle Klarheiten beseitigt