ActiveX
Steuerlelemente
|
 |
Fehlerbehebungen
Seit 4.05 SP1 |
| Steuerelement |
Fehlerbehebung |
| Alle mit Optiongroup
Eigenschaft |
- Die Einstellung EditControl = True verursachte
Probleme wenn die Steuerelemente der Optiongroup
mit unterschiedlichen Variablen verknüpft
waren.
|
|
VWSVarIn

|
- Bei Zuweisung eines ungültigen Items zur
Laufzeit wechselte die Anzeige teilweise
nicht direkt zu, ITEM_ERROR.
- Fehler beim Setzen der Limit Eigenschaften
beseitigt. Wurden die Grenzen zur Laufzeit
über VWItemLimitMax / VWItemLimitMin bzw.
über UseItemConfig gesetzt, gab es Probleme,
wenn zu diesem Zeitpunkt die Eigenschaft
LimitCheck noch auf false stand.
|
| VWSSwitch |
- Bei Betätigung über Tastatur (Return-/Space/Key-Taste)
kam kein Click-Ereignis.
|
| VWSSlider |
- Nach Bedienung mit der Maus zeigte der
Slider teilweise nicht den aktuellen Wert
an.
|
| VWSAlarmList |
- Unter Windows XP wurde der Header der
Liste nicht gezeichnet, wenn die Anwendung
außerhalb der Entwicklungsumgebung gestartet
wurde.
|
| VWSComboBox |
- Bei Veränderung der Höhe der ComboBox zur
Laufzeit, wurde die Höhe der Listeneinträge
nicht angepasst.
|
| VW4Trend |
- Bei Anzeige ohne X-Skala (Zeit) wurde
durch einen internen Berechnungsfehler
die Trendkurve auf dem Kopf und ohne Gitterlinien
dargestellt.
|
| VW4TouchControl
|
- Das Control erzeugt jetzt anstatt des
Touch-Keyboards die Tastendrücke, da bei
hoher Rechnerauslastung manchmal Tasten
verloren gingen.
|
| VWSFrame |
- VWSTab: Eigenschaft "TabEnableds()" jetzt
unabhängig von der Autorisierung les-
und beschreibbar.
- VWSTab: Setzen der Visible-Eigenschaft
über VWSTab.Controls.Visible funktionierte
nicht bei VisiWin-Controls mit AuthorizationMode=vwInvisible.
- VWSTab: Benutzerverwaltung für einzelne
Tabs ausgewählt. Beim Laden des Formulars
werden die Tabs nicht inaktiv dargestellt,
sind aber inaktiv.
- VWSTab: Laufzeitfehler beim Reduzieren
der Tab-Anzahl (438: Objekt unterstützt
diese Methode oder Eigenschaft nicht).
- Speicherfresser beseitigt: Diverse Objekte
werden nicht freigegeben.
|
| VWSVarInKT |
- Steuerelement funktionierte nicht mit
der neuen Benutzerverwaltung. Eigenschaften
"Authorization" (Klassen), "AuthorizationMode",
"EnabledControl", "VisibleControl" dafür
neu eingebaut.
- Steuerelement schaltete nicht in den Rezeptmodus
(Eigenschaft RecipeMember=True).
|
| VWSTextBox |
- Eigenschaft "Alignment" bei MultiLine=True
nicht beachtet.
|
| VWSDialogs |
- Wird VWSDialogs sowohl in der EXE als auch
in einem OCX verwendet, so werden die
globalen Eigenschaften (ButtonMinHeight,
FontClass...) ein zweites Mal initialisiert
und überschreiben somit die evtl. Einstellungen
aus der EXE.
- Auf dem Formular "Benutzer hinzufügen"
werden die Benutzerklassen nicht angezeigt.
- Auf dem Formular "Benutzerübersicht" werden
bei ebenenorientierter Benutzerverwaltung
zu viele Benutzer angezeigt (höher priorisierte
Benutzer werden jetzt ausgeblendet).
|
| |
|
Editoren
|
 |
Neue
Funktionen
|
| Editor |
Funktionen |
|
Alle Systeme

|
- .NET-Kompatibilität/ Multiinstanzierungsfähigkeit
(Laden einer Projektgruppe mit mehreren
VisiWin-Projekten).
- Globales Kopieren und Einfügen ermöglicht
den Transfer von Definitionen ...
...aus einer VWS-Projektdatei in eine
Andere
...aus externen Listen in eine Projektdatei.
Eine Beschreibung zu den globalen Kopier-/Einfügeoperationen
befindet sich im Handbuch "Projektmanagement
(Projektexplorer)".
- Die Sperrung der Eingaberechte in der Toolbox
wurde überholt .
Betrifft: Alle Editordateien,
Projektmanagement.chm
|
| Alarmsystem |
- Neue Eingabemöglichkeiten bei freien Parametern:
Kommentar, Standardsprache, Verwendungszahl.
- Entsprechende Anpassungen in der Onlinehilfe.
Betrifft: VWAlarmEditor.dll,
Alarmsystem.chm, Alarmsystem.pdf, DSAlarmsystem.pdf |
| Benutzerverwaltung |
- Über die Angabe von "gesperrten Passwörtern"
ist es zur Laufzeit jetzt möglich, Passwörter
zu verbieten.
- Die Texte der Einzelberechtigungen können
jetzt direkt in den Dialogen "Benutzerklasse"
und "Berechtigungsklasse" bearbeitet werden.
- In der Konfiguration werden neue Sicherheitsoptionen
für die Wahl von Passwörtern angeboten.
Weiterführende Informationen finden sich
im Kapitel "Konfiguration der Benutzerverwaltung"
(Handbuch Benutzerverwaltung).
Betrifft: VWUserAdminEditor.dll,
UserAdmin.chm, VWUserAdminK.dll
|
| Rezeptsystem |
- Rezeptdefinition: neuer Parameter "geänderte
Variablenkernwerte direkt speichern".
|
| Archivsystem |
- Trenddefinition:
Parameter Filter, die Interpretation der
Werte aus der Projektdatenbank hat sich
geändert (Filter = 0 -> kein Filter).
Bei der Übernahme von Projekten aus den
Vorgängerversionen ist diese Einstellung
im Editor zu überprüfen.
Betrifft: VWArchivEditor.dll,
Archivsystem.chm
|
| Protokollsystem |
- Zur Projektierung von Protokollereignissen
und -kategorien gibt es jetzt einen neuen
Editor.
Betrifft: VWLogEditor.dll, Protocolsystem.chm,
VWLogServerK.dll
|
Editoren
|
 |
Fehlerbehebungen
|
| Editor |
Fehlerbehebung |
| |
|
VisiWinEngine
|
 |
Neuerungen
|
 |
- die Diagnosedatei des VWEManagers kann
nun statt im Ringpuffer auch tageweise
oder stundenweise aufzeichnen (Debugzwecke).
- die Benutzerverwaltung beherrscht weitere
Forderungen der FDA (Passwort-Aging, Liste
verbotener Passwörter, ...).
- alle zur Laufzeit erzeugten Daten können
so verschlüsselt werden, dass auf sie
nur noch lesend zugegriffen werden kann
(FDA-Anforderung).
- bei Rezepten wird der "RecipeSet" und "RecipeGet"-Befehl
jetzt als blockweises Lesen - bzw. Schreiben
durchgeführt. Die Ereignisse "OnSetRecipeDone"
und "OnGetRecipeDone" kommen erst, wenn
die Daten in der SPS angekommen bzw. ausgelesen
wurden.
- im Trendsystem kann man bei allen Funktionen,
bei denen ein Dateiname angegeben wird,
auch komplette Dateiangaben mit Pfad und
Endung machen (vorangestelltes ‚@', z.B.:
"@c:\Projekt\Rezeptdatei.XXX").
- neuer Protokollserver: Variablenänderungen,
Rezeptbefehle, Benutzerverwaltung und
Systemfunktionen können aufgezeichnet
und wieder abgerufen werden (Audit-Trail,
FDA).
- alle Dialoge und Fehlermeldungen des Laufzeitsystems
sind jetzt in der Projektdatei vorhanden
und können geändert bzw. durch andere
Sprachen ergänzt werden.
- alle dynamisch zur Laufzeit geänderten
Pfadangaben (Alarm-, Trend- und Protokollsystem)
werden gespeichert und sind beim nächsten
Hochfahren wieder gültig.
- Variablenverfolgung für Debugzwecke: bei
einzelnen Variablen kann jede Wertänderung
mit Quellangabe in der Diagnosedatei mitgeschrieben
werden, um ein aussergewöhnliches Verhalten
der Variablen nachzuvollziehen.
- die Option "Einzelzugriff auf Feldelemente"
in den erweiterten Eigenschaften eines
OPC-Server-Kanals wirkt jetzt auch auf
Strukturen.
- UTC-Zeitstempel im Audit-Trail (Protokollserver)
und in den historischen Alarmdateien (FDA-Anforderung).
|
| |
|
| |
|
VisiWinEngine
|
 |
| Fehlerbehebungen
|
| |
- bei Verwendung von Strings (VT_BSTR) in
Strukturen zusammen mit einem VW32-Treiber
konnte es passieren, dass ein nachfolgender
String einen vorhergehenden beeinflusst,
wenn dieser in der vollen Länge beschrieben
wurde.
- wenn "VWSVarServices.AddRunningForm" mehr
als einmal aufgerufen wird, bevor "VWSVarServices.RemoveRunningForm"
aufgerufen wird, läuft der VWEManager
in eine Endlosschleife
- Wenn "automatisch laden" bei einem Rezeptobjekt
angewählt war und der Dateiname und die
Lade-Variablen gleichzeitig gesetzt wurde,
wurde nichts ausgeführt.
- beim Starten mit OPC-Server konnte das
synchrone Einlesen manchmal unnötig lange
dauern (Timeout falsch abgefragt).
- leere Rezeptwerte (VT_EMPTY) werden nicht
im Rezept gespeichert (z.B.: wenn eine
Rezeptdefinition erweitert wurde, dann
eine alten Rezeptdatei geladen und danach
wieder gespeichert wurde).
- Beim Setzen der Rezeptvariablen aus VB
und anschließendem Abspeichern wurde der
Datentyp der Variablen fälschlicherweise
auf die Automation-Typ-verträglichen (aus
VB) geändert.
- bei Datentyp VT_BIT in einer Struktur,
die mehrfach hintereinander in einer anderen
Struktur eingebettet ist, zeigten alle
VT_BIT Variablen auf die gleiche Stelle
und beachteten den angegebenen Datenoffset
nicht.
- Rezepte: beim Laden von Rezepten im XML-Format
wurde im "LoadRecipeDone"-Event kein Fehler
ausgegeben, wenn die Datei nicht vorhanden
war; der Location-Parameter wird jetzt
mit der Einstellung aus der Projektdatei
gefüllt, wenn kein besonderer Pfad angegeben
wurde
|
| |
|
| |
|
VWComponents
|
 |
Neuerungen
|
 |
- Texte für englische Version in Resource.
Texte für Event Anzeige etc. in Projektdatenbank,
also mit der Projektsprache umschaltbar
und frei zu übersetzen.
- Neue Eigenschaften im Objekt VWSTrendProperties:
UnitName, UnitOffset, UnitDecPoint und
UnitSlope geben die entsprechenden Werte
für die Einheit des Trends zurück.
- Objekte zur Bedienung des Logging-Servers
Objekte eingebaut.
VWSLogging, VWSLoggingConfig, VWSHistoricalLogging,
VWSHistoricalLoggingNotes
- Neue Rückgabewerte für verbotene Passwortliste
u.ä. bei VWSUserAdmin2 und neue Methode
VerifyUser.
- Methode IsExistingItem in Objekt VWSItemService
hinzugefügt. Mit der Funktion kann geprüft
werden, ob ein Item mit dem übergebenen
Namen in der Prozessdatenbank definiert
ist oder nicht.
- Neue Eigenschaft: VWSBlinkService und
VWSAuthorization2 haben jetzt das Online
Property, um zweifelsfrei feststellen
zu können, ob die Applikation im Run-
oder Designmodus ist.
- Neuer optionaler Parameter in VWSUserLogon2.LogOn.
Es wird ein maschineller Code übergeben,
der z.B. von einem Kartenleser kommen
kann. Das Passwort ist jetzt ein Variant,
in den man "null" übergeben kann, wenn
nur mit dem Code eingeloggt werden soll.
- VWSUserAdmin2 hat jetzt in AddUser, ChangeUser,
SetSuperUser und SetUserAdmin einen optionalen
Parameter für den maschinelle Code z.B.
für Magnetkartenleser.
- Neues Objekt: VWSExtAlarmInfo zum Zugriff
auf erweiterte Alarm-Informationen (Zahlen,
Texte, Bilder, Dateien)
|
| |
|
| |
|
VWComponents
|
 |
Fehlerbehebungen
Bemerkung:Seit Version 4.05
SP1 |
 |
- Benachrichtigung der ActiveX Controls
überarbeitet. Es konnte vorkommen, dass
bedingt durch die Benachrichtigungsreihenfolge
aus dem Change Event für einen neuen Wert
auf eine Value Eigenschaft eines Controls
mit einem alten Wert zugegriffen wurde.
Bei der Benachrichtigung wird jetzt erst
der neue Wert an alle Controls verteilt.
Danach schießen alle das Change Ereignis
ab.
- Die Begrenzung von Textvariablen auf 100
Zeichen (bedingt durch alte Prozeßdatenbank)
ist aufgehoben.
- Bei internen Strukturen wurde im Design-Mode
der Datentyp nicht richtig erkannt. Die
Controls zeigten immer Item Error an.
- Wenn beim Ende der Applikation noch mit
VWSVarServices.ReleaseRunningForm Formulare
abgemeldet werden sollen, kann es sein,
dass die Liste schon leer war und dann
das System abgestürzt ist
- Uhrzeit bei VW4Trend und VWSTime und so
weiter wird zwischen 00:00 und 00:59 als
12:00 Uhr angezeigt, weil an einer Stelle
die Unterscheidung zwischen 12h und 24h
Betrieb fehlt. Der Fehler lag in der Formatierroutine
von VWSTimeFormat.
- Die Methode RecordTrendSamples in dem Objekt
VWSManualTrendSamples hat immer die Anzahl
der Werte aufgezeichnet, die der Grösse
der übergebenen Felder entsprach und nicht
die Anzahl aus dem Übergabeparameter.
- Die Funktion zum Herunterfahren des Rechners
prüft jetzt, ob am Ende der Rechner ausgeschaltet
werden kann (Voraussetzung: ATX Board
und Netzteil). Wurde das in einem Win2K
Rechner ohne entsprechendes Netzteil versucht,
hat der Rechner immer neu gebootet.
- Die Methode GetRecipeValues im Objekt VWSRecipeControl
hat keine Konvertierung in VB-kompatible
Datentypen vorgenommen. Das heißt, in
dem zurückgeliefertem Variant konnte eine
vorzeichenlose Integervariable enthalten
sein, mit der VB nichts anfangen kann.
- Die Funktion "DataFileInfo" in "VWSTrendData"
kann jetzt mit VARIANT's und DATE's als
Parameter arbeiten.
- Wenn mehr als ein Control die gleiche Stringvariable
in einem Rezept editiert, wurde beim Laden
der entsprechenden Seite der Rezeptwert
nur im ersten Control korrekt angezeigt.
- Bei VWSwitch oder ähnlichen Elementen mit
Editiermodus, konnte es sein, dass wenn
alle editieren und auf den gleichen Wortwert
zugreifen (mit unterschiedlichen Bits),
die Controls gegenseitig ihre Änderungen
überschreiben, weil jedes den ganzen Wortwert
und nicht nur ein Bit schreibt.
- Die Methode GetQuality hat bei Quality
= 0 immer Quality = 192 zurückgegeben.
- Die Item Objekte sind zum Teil nicht korrekt
mit unbekannten Variablen umgegangen.
Sie wurden zum Teil als Pseudo Variablen
behandelt. Jedenfalls hat das dazu geführt,
dass z.B. im VWsVarin nicht immer ITEM
ERROR ausgegeben wurde, wenn eine Variable
nicht bekannt ist.
- Die Aufzählung im VWSAlarm Objekt ging
nicht richtig. Klassen- und Gruppenobjekte
wurden nicht zurückgeliefert.
- Wenn im Objekt von VWSRightsClassesAdmin
eine Rechteklasse gelöscht wurde und hinterher
mit EnumRightsClasses die Rechteklassen
aufgezählt werden, ist das zurückgelieferte
Feld von Namen und Rechten nicht vollständig
ausgefüllt.
- Wenn im Objekt von VWSRightsClassesAdmin
eine Rechteklasse gelöscht wurde und hinterher
mit EnumRightsClasses die Rechteklassen
aufgezählt werden, ist das zurückgelieferte
Feld von Namen und Rechten nicht vollständig
ausgefüllt.
- Wenn in VWSRecipeControl noch nie die Location
zum Speichern gesetzt wurde, gab die Eigenschaft
immer einen Leerstring zurück.
- Online Hilfe überarbeitet.
- Wenn bei einem Control, das Rezeptdaten
anzeigen soll, beim Laden der Form dynamisch
die VWItem Eigenschaft geändert wird,
hat das Laden eines Rezeptes oder Benachrichtigung
mit neuen Werten zum Absturz geführt.
- Ein Aufruf von VWSRecipeControl.GetRecipeValues
mit einem Feld von ItemIDs aus EnumRecipeItems
führt zum Absturz.
- Die Logdatei des Clients heißt jetzt nicht
mehr Projektname_Common.log, sondern Projektname_Client.log,
da der VWEManager sein eigenes Logbuch
führt und hier nur Einträge aus dem Client
drinstehen.
- Der Aufruf in den Datenbank Kernel zur
Ermittlung der Variableninfos holt jetzt
nicht mehr den Wert ab und ist dadurch
schneller geworden. Problematisch war
das z.B. wenn beim Start der Applikation
Rezeptwerte mit GetRecipeValues geholt
werden. In einer Applikation hat das sehr
lange gedauert, weil auf synchrone Leseergebnisse
gewartet wurde.
- Die Listen für Datum und Uhrzeit und Sprachumschaltung
sind jetzt dynamisch, haben also keine
feste Größe mehr. Eine Applikation hat
als erste die Sprachumschaltliste zum
Überlaufen gebracht, so dass einige Controls
nicht umgeschaltet wurden.
- VWSRecipeControl.GetRecipeValues hat auch
bei erfolgreicher Ausführung immer false
zurückgegeben.
- Das VWSAppEntry Objekt hat bei mehrfacher
Verwendung das Projekt heruntergefahren,
wenn eine Instanz abgebaut wurde. Bei
mehrfacher Verwendung ist nur das Auslesen
der Projekteigenschaften zulässig. Ansonsten
wird ein Laufzeitfehler erzeugt.
- Wenn eine Benutzerklasse zur Laufzeit
angelegt und dann User hinzugefügt wurden,
konnte beim anschließenden Auslesen der
Benutzerklasse der Name der Gruppe nicht
ausgelesen werden.
|
| |
|
| |
|
Programme
|
 |
Neuerungen
|
|
VWSTextImExport

|
- Neues Programm (ersetzt ImportLanguage
und ExportLanguage):
Beim Exportieren von Texten wird statt
der ID die Indextextgruppe und der Indextextname
gespeichert.
|
| VW4SetupWizard |
- In Schritt 4 können Verzeichnisse mit
Wildcards für Dateinamen hinzugefügt werden.
|
| |
|
Programme
|
 |
Fehlerbehebung
|
|
VW4SetupWizard

|
- Setup trägt nicht die VisiWinStudio-Version
in die Registry ein.
- Die Abfrage des Laufzeitsetups, ob der
Rechner ein Entwicklungsrechner ist, wurde
korrigiert: Jetzt wird "VisiWinStudio.exe"
gesucht.
- Wenn die "VWRuntime*Setup.exe" nicht in
der 1. und 2. Zeile stehen, werden sie
nicht aufgerufen.
|
| |
|
| |
|
Treiber
|
 |
Neuerungen
|
|
VWDummy

|
- Diagnosefunktion für alle Kommunikationsobjekte.
- Komplett neue TraceFunktion mit 11 TraceEbenen
- Warnung wenn Treiber bei laufender Applikation
beendet werden soll.
Diese neuen Features gelten auch für alle Treiber,
bei denen in der Versionsinformationen unter
dem Eintrag Beschreibung einen Wert größer
gleich 4.0.0.0 steht.
|
Beispielprojekte
|
 |
Neuerungen
|
|
VW4TouchKeyboard
VWSTouchKeyboard

|
- Applikation für die Bildschirmtastaturen
in Verbindung mit dem Steuerelement "VWSVarIn"
verbessert: In dem Steuerelement muss
jetzt keine Änderung (früher: Eigenschaft
RestoreOnLostFocus=False setzen) mehr
vorgenommen werden, damit es mit der Bildschirmtastatur
zusammenarbeitet.
|
| VWSLoggingDemo |
- Neues Beispielprojekt für Protokollierung
von Ereignissen mit dem LogServer.
|
| VWSUserDemo1 |
- Neues Beispielprojekt für die ebenenorientierte
Benutzerverwaltung.
|
| VWSUserDemo2 |
- Neues Beispielprojekt für die klassen-(rechte-)orientierte
Benutzerverwaltung.
|
|
|