Visual FoxPro  

Neue Klassen, Befehle und Funktionen

 Zum Portal | In übergeordneten Ordner wechseln

Visual FoxPro bietet neue Klassen, Befehle, Funktionen und Systemvariablen mit den folgenden Features:

  • Strukturierte Fehlerbehandlung mittels TRY...CATCH...FINALLY, THROW und Exception-Klasse
  • Collection-Klasse
  • XMLAdapter, XMLTable, XMLField-Klassen und andere XML-Erweiterungen
  • Binden von Ereignissen bei nativen Visual FoxPro Objekten
  • Definieren und Erstellen von Klassenableitungen bei Mitgliedsklassen
  • Verzögerung in der Datenanbindung von Steuerelementen auf Formularen mittels BindControls-Eigenschaft
  • Remote-Datenverbindung mittels CursorAdapter-Klasse
  • Automatische Größenanpassung und Sperrung von Spalten in Datenraster und Datenfenster
  • Hervorhebung von Zeilen und aktiven Feldern im Datenraster
  • Positionierung von Bildern relativ zur Beschriftung
  • Ausrichtung der Registerkarten auf PageFrame-Steuerelementen
  • Hyperlinks für TextBox und EditBox
  • Windows XP Design in allen Steuerelementen
  • GDI+ Unterstützung (Animierte .gif Dateien, RotateFlip-Eigenschaft)
  • Zeichensatz auf Objekten steuern die Fonts unterstützen
  • Unterstützung für das Andocken von Fenstern und Symbolleisten
  • CheckBoxes in den Spalten des Datenrasters zentrieren
  • Anzeige von Bildern im TextBox-Bereich der ComboBox-Steuerlemente
  • Verwendung von Datenrastern als ListBox
  • Empty-Klasse
  • Ereignis für das Bewegen von Elementen in einer ListBox
  • Hinzufügen und Entfernen von Eigenschaften und Werten bei Objekten während der Laufzeit
  • Suche nach ausführbaren Dateien (.exe) in Dateipfaden
  • Entfernen von Leerwerten, wenn diese nicht Unterstützt werden
  • Aneinanderreihung von Mausrad-Ereignissen im Ereignisstapel
  • SQL Data Engine Kompatibilität zu Visual FoxPro 8.0 oder früheren Versionen
  • Standardausgabe auf einem Formular erlauben
  • Angabe einer Ebene der Tabellenvalidierung
  • Neue XML-Webdienst Foundation Classes

Strukturierte Fehlerbehandlung mittels TRY...CATCH...FINALLY, THROW und Exception-Klasse

Sie können jetzt eine strukturierte Fehler- und Ausnahmebehandlung mittels der TRY...CATCH...FINALLY-Funktionalität implementieren. Sie enthält die neue Ausnahmeklasse Exception, die THROW-Klausel und die SYS(2410) - Error Handler-Funktion.

Sie können eine Exception-Klasse definieren und ableiten, die dazu verwendet wird Fehler und Ausnahmen zu behandeln. Visual FoxPro erstellt Ausnahmeobjekte automatisch um Informationen über den Fehler abzulegen, der imTRY-Block einer TRY...CATCH...FINALLY Fehlerbehandlungsstruktur aufgetreten ist.

Für weitere Informationen, siehe Strukturierte Fehlerbehandlung, TRY...CATCH...FINALLY-Befehl, Exception-Klasse und SYS(2410) - Fehlerbehandlung.

Collection-Klasse

Sie können Collections verwenden um eine Satz zusammengehöriger Elemente zu erstellen. Collections bieten eine Möglichkeit mit den enthaltenen Objekten zu arbeiten und verwenden Standardwege für einfachen und wiederholten Zugriff. Für weitere Informationen, siehe Collection-Klasse.

XMLAdapter, XMLTable, XMLField-Klassen und andere XML-Erweiterungen

Visual FoxPro enthält die neuen Klassen  XMLAdapter, XMLTable und XMLField um die Kompatibilität mit XML-DiffGram und ADO.NET DataSet-Formaten zu erhöhen und um hierarchisch formatiertes XML für folgendes zu unterstützen:

  • XML-Dateien die ein Schema verwenden, entweder intern oder extern, als internes associated with them und as implemented in ADO.NET DataSets
  • Microsoft XML Data Reduced Schema (XDR) wie von Microsoft SQL-XML verwendet
  • ADO Recordset-Schemata, die erzeugt werden, wenn ein ADO Recordset als XML in eine Datei oder einen Stream gespeichert wird

XMLAdapter ist eine "zwei Wege"-Klasse. Sie können XML und das enthaltene Schema importieren oder Sie können XML aus Tabellen erstellen und generieren.

Anmerkung   Die XMLAdapter-Klasse benötigt mindestens Microsoft XML Core Services (MSXML) 4.0 Service Pack 1 (SP1).

Visual FoxPro aktualisiert die STRCONV( )-Funktion um die Codierung und Decodierung von HexBinär zu unterstützen.

Für weitere Informationen, siehe XML-Funktionalität unter Verwendung von XML-Adaptern, Datentypzuordnung von Visual FoxPro und XML-Schema, XMLAdapter-Klasse, XMLTable-Klasse, XMLField-Klasse und STRCONV( )-Funktion.

Binden von Ereignissen bei nativen Visual FoxPro Objekten

Visual FoxPro erweitert die Ereignisbandlung für native Visual FoxPro-Objekte durch die neuen Funktionen BINDEVENT(), UNBINDEVENTS(), RAISEEVENT() und AEVENTS(). Für weitere Informationen, siehe Event Binding für Visual FoxPro Objekte.

Definieren und Erstellen von Klassenableitungen bei Mitgliedsklassen

Sie können jetzt Definitionen und Klassenableitungen für Mitgliedsklassen (Member) vornehmen. Zu diese Mitgliedklassen und Ihren Container gehören die folgenden.

  • Page und PageFrame
  • CommandButton und CommandGroup
  • OptionButton und OptionGroup
  • Column und Grid
  • Header und Column

Mit der Verwendung der Mitglieds-Klassen können Sie ein einheitliches Verhalten für alle Mitglieder einer bestimmten Klasse definieren. So können sie z.B. ein bestimmtes Verhalten im Activate-Ereignis der Page-Klasse definieren, die in einer PageFrame-Klasse bzw. -Objekt verwendet werden soll. Alle enthaltenen Seiten (Page-Objekte) der PageFrame erben so den selben Code und das selbe Verhalten.

Die Klassen PageFrame, CommandGroup, OptionGroup und Grid haben zwei neue Eigenschaften, MemberClassLibrary und MemberClass, die Sie dazu verwenden können, die Standardklasse für Mitgliedsobjekte zu bestimmen. Wenn diese Eigenschaften gesetzt werden, werden neue Mitgliedsobjekte von der angegebenen Mitglieds-Klasse abgeleitet. Spaltenobjekte (Column) haben zwei neue Eigenschaften, die Sie verwenden können um eine benutzerdefinierte Header-Klasse für den Spaltenkopf zu spezifizieren.

Sie können Page-Klassen im Klassendesigner bearbeiten und abgeleitete Klassen erstellen. Jedoch enthält der Klassendesigner weder Column- nochHeader-Klasse.

Für weitere Informationen, siehe Member-Klassen.

Verzögerung in der Datenanbindung von Steuerelementen auf Formularen mittels BindControls-Eigenschaft

Sie können jetzt durch setzen der BindControls-Eigenschaft eines Formulars angeben, wann die Datenbindung bei Datengebundenen Steuerelementen stattfindet. Für weitere Informationen, siehe BindControls-Eigenschaft.

Remote-Datenverbindung mittels CursorAdapter-Klasse

Visual FoxPro verbessert die Remote-Datenverbindung durch die neue CursorAdapter-Klasse und hinzufügen der neuen Eigenschaften DataSource und DataSourceType zur Datenumgebung bzw. der DataEnvironment-Klasse. Für weitere Informationen über die CursorAdapter-Klasse, siehe Erweiterung der Features im Bereich des Datenzugriffs.

Automatische Größenanpassung und Sperrung von Spalten in Datenraster und Datenfenster

Sie können die Spalten an die Daten im Datenraster (Grid) und Datenfenster (Browse) durch AllowAutoColumnFit-Eigenschaft und Verwendung der AutoFit-Methode automatisch anpassen. Für weitere Informationen, siehe AllowAutoColumnFit-Eigenschaft, AutoFit-Methode, und Spalten automatisch an Daten anpassen.

Sie können Spalten durch Verwendung des BROWSE-Befehls mit der LOCK-Klausel oder durch setzen der Eigenschaften LockColumns und LockColumnsLeft im Datenraster festsetzen. Für weitere Informationen, siehe BROWSE-Befehl, LockColumns-Eigenschaft, LockColumnsLeft-Eigenschaft und Sperren von Spalten.

Hervorhebung von Zeilen und aktiven Feldern im Datenraster

Sie können die Farben für die Anzeige der ausgewählten Zeile und Einträge der TextBox-Steuerelemente in einem Datenraster durch setzen der Eigenschaften HighlightForeColor, HighlightBackColor, SelectedItemBackColor, SelectedItemForecolor und HighlightStyle steuern.

Positionierung von Bildern relativ zur Beschriftung

Sie können Bilder relativ zur ihrer Beschriftung durch Setzen der PicturePosition-Eigenschaft in den Steuerelementen CommandButton, OptionButton und CheckBox positionieren.

Für weitere Informationen, siehe PicturePosition-Eigenschaft.

Ausrichtung der Registerkarten auf PageFrame-Steuerelementen

Sie können steuern wo die Registerkarten eines PageFrame-Steuerelements angezeigt werden, indem Sie die TabOrientation-Eigenschaft setzen. Für weitere Informationen, siehe TabOrientation-Eigenschaft.

Hyperlinks für TextBox und EditBox

Sie können durch setzen der EnableHyperlinks-Eigenschaft steuern, ob Hyperlinks in TextBox und EditBox angezeigt und aktiviert sind. Für weitere Informationen, siehe EnableHyperlinks-Eigenschaft.

Windows XP Design in allen Steuerelementen

Sie können jetzt Windows XP Design für Ihre Anwendungen verwenden die auf einem Betriebsystem ab Windows XP laufen. Das Windows XP Design ist eine neue Technologie das eine Anzahl von visuellen Attributen für eine Benutzeroberfläche steuert. Dazu zählen die Anzeige von Steuerelementen, Rahmenfarben und -Stil, Auswahl- und Hover-Effekte. Für weitere Informationen, siehe Themes-Eigenschaft, Style-Eigenschaft und SYS(2700) - Aktivieren des Windows XP Designs.

GDI+ Unterstützung (Animierte .gif Dateien, RotateFlip-Eigenschaft)

Visual FoxPro ersetzt den eigenen Support für Graphics Interchange Format (.gif) und Joint Photographic Electronic Group (.jpeg) durch das Graphics Device Interface+ (GDI+), die nächste Generation der Grafischen Schnittstelle für Microsoft Windows XP und zukünftigen Versionen des Windows Betriebsystems.

Mit GDI+ können Sie jetzt Bilder durch setzen der RotateFlip-Eigenschaft des Image-Steuerelement rotieren, abschneiden und umdrehen.

Für weitere Informationen, siehe Grafikunterstützung in Visual FoxPro, RotateFlip-Eigenschaft, Picture-Eigenscahft und Dialogfeld "Grafik öffnen".

Zeichensatz auf Objekten steuern die Fonts unterstützen

Sie können mit Hilfe der neuen FontCharSet-Eigenschaft die Zeichensätze auf jedem Objekt steuern, das Fonts unterstützt. Für weitere Informationen, siehe FontCharSet-Eigenschaft.

Unterstützung für das Andocken von Fenstern und Symbolleisten

Sie können Fenster und Symbolleisten in Visual FoxPro programmgesteuert mittels des DOCK WINDOW-Befehls andocken. Die neue ADOCKSTATE()-Funktion gibt den Status eines gedockten Fensters oder einer gedockten Symbolleiste zurück. Für weitere Informationen, siehe Andocken von Fenstern, DOCK WINDOW-Befehl und ADOCKSTATE( )-Funktion.

CheckBoxes in den Spalten des Datenrasters zentrieren

Sie können Kontrollkästchen (CheckBoxes) zentriert in der Spalte eines Datenrasters ausrichten. Sie nehmen diese Einstellung mittels der Centered-Eigenschaft der CheckBox wie im folgenden Beispiel gezeigt vor:

CheckBox.Centered [= lExpr]

Für weitere Informationen, siehe Centered-Eigenschaft.

Anzeige von Bildern im TextBox-Bereich der ComboBox-Steuerlemente

In vorhergehenden Versionen von Visual FoxPro wurden Bilder, die einen Eintrag in der Liste eines Kombinationsfeldes (ComboBox) zugeordnet waren, nicht im TextBox-Bereich, beim Bearbeiten des Eintrages, angezeigt. Sie können optional ein Bild im TextBox-Bereich der ComboBox anzeigen lassen und über die Eigenschaft PictureSelectionDisplay bestimmen, wie das Bild angezeigt wird

Für weitere Informationen, siehe PictureSelectionDisplay-Eigenschaft.

Verwendung von Datenrastern als ListBox

Sie können eine Listenfeld (ListBox) mit Hilfe von Datenrastern Darstellen (Grids) darstellen, indem Sie durch setzen der AllowCellSelection-Eigenschaft festlegen, ob ein Anwender individuelle Zellen oder immer nur die ganze Zeile auswählen kann. Das Verhalten, ob Sie die individuelle Zelle oder die ganzen Zeile auswählen können, ändert nichts an der Farbanzeige der ausgewählten Zeile oder Zelle. Das KeyPress-Ereignis gehört nun auch zum Datenraster.

Für weitere Informationen, siehe AllowCellSelection-Eigenschaft und KeyPress-Ereignis.

Empty-Klasse

Sie können die Empty-Klasse verwenden, wenn Sie mit Geschäftsobjekten arbeiten. Ein Empty-Objekt wird für optimale Performanz schnell instanziiert und wieder freigegeben. Ein Empty-Objekt wir typischer Weise in den folgenden Szenarios verwendet:

  • Beim Hinzufügen oder Entfernen von Eigenschaften bei einer laufenden Instanz der Klasse unter Verwendung der Funktionen  ADDPROPERTY( ) und REMOVEPROPERTY( ).
  • Wenn der SCATTER...NAME-Befehl mit der ADDITIVE Klausel verwendet wird um die Inhalte des aktuellen Datensatzes auszulesen.

Die Empty-Klasse besitzt keine Eigenschaften, Methoden oder Ereignisse, sie kann auch nicht abgeleitet werden. Sie können eigene Eigenschaften nur zur Laufzeit mittels der ADDPROPERTY( )-Funktion oder dem SCATTER...NAME-Befehl und der ADDITIVE-Klausel hinzufügen.

Die Empty-Klasse steht nur innerhalb einer Programm-Datei (.prg) zur Verfügung. Sie können keine Empty-Klasse in einer visuelle Klassenbibliothek (.vcx) definieren.

Für weitere Informationen, siehe Empty-Klasse.

Ereignis für das Bewegen von Elementen in einer ListBox

Sie können ein bestimmtes Verhalten, wie das Verschieben eines Elements mit dem neuen OnMoveItem-Ereignis abbrechen, wenn das Element mit den Verschiebesymbolen unter Verwendung der Maus, Tastenanschlägen oder programmgesteuert verschoben wird. OnMoveItem-Ereignis wird ausgelöst, nachdem ein Element ausgesucht und verschoben wurde, jedoch bevor es im Steuerelement angezeigt wird. Für weitere Informationen, siehe OnMoveItem-Ereignis.

Sie können Elemente programmgesteuert auf eine neue Position bewegen, indem sie die neue MoveItem-Methode anwenden. Für weitere Details, siehe MoveItem-Methode.

Hinzufügen und Entfernen von Eigenschaften und Werten bei Objekten während der Laufzeit

Sie können nun zur Laufzeit Eigenschaften und ihre Werte dynamisch jedem gültigen Visual FoxPro Objekt hinzufügen und von dort wieder entfernen. Das beinhalten Objekte die aus Visual FoxPro Klassen, COM-Klassen und solche die mit dem SCATTER...NAME-Befehl instanziiren wurden. Für weitere Informationen, siehe ADDPROPERTY( )-Funktion und REMOVEPROPERTY( )-Funktion.

Suche nach ausführbaren Dateien (.exe) in Dateipfaden

Anwender die in Visual FoxPro geschriebene Anwendungen laufen lassen, die auf Daten und Ressourcen im Netzwerk zugreifen, können manchmal Performanzminderungen feststellen, wenn die Anwendung im Netzwerk nach einer Funktion, Prozedur oder einer ausführbaren Datei usw. in einer anderen Anwendung sucht.

Sie können nun angeben das Visual FoxPro in einer Anwendung nach einer spezifischen Prozedur oder einer benutzerdefinierten Funktion (UDF) sucht bevor es in den mit SET DEFAULT und SET PATH angegebenen Ablagepfaden sucht. Indem Sie das machen, können Sie die Performanz einer Anwendung, die in einem LAN oder WAN läuft verbessern. Für weitere Informationen, siehe SYS(2450) - Suchpfadreihenfolge innerhalb Anwendung und DO-Befehl.

Entfernen von Leerwerten, wenn diese nicht Unterstützt werden

Sie können bei einem vergleich zweier Ausdrücke einen eventuellen leeren Wert, wie z.B. Falsch (.F.) oder 0, durch einen passenden Wert zu ersetzen. Sie können diese Funktionalität verwenden, um leere Werte von Berechnungen oder Operationen ersetzen, wenn Leerwerte nicht unterstützt oder relevant sind. Für weitere Informationen, siehe EVL( )-Funktion.

Aneinanderreihung von Mausrad-Ereignissen im Ereignisstapel

Mit schnelleren Rechnern ist die Aneinanderreihung von Mausradereignisse nicht mehr kritisch. Sie können jetzt mit Hilfe der neuen Funktion SYS(2060) - MausRad-Ereignisse festlegen, ob Sie die Aneinanderreihung von Mausradereignisse zulassen möchten.

SQL Data Engine Kompatibilität zu Visual FoxPro 8.0 oder früheren Versionen

Sie können angeben ob Visual FoxPro SQL SELECT-Befehle wie in früheren Versionen oder wie in der aktuellen Version Visual FoxPro 8.0 eingeführt bearbeitet. Dies ermöglicht Ihnen die Abwärtskompatibilität für Anwendungen, die das Verhalten der älteren SQL Data Engine benötigen, beibehalten. Für weitere Informationen, siehe SYS(3099) - SQL Data Engine Kompatibilitätsmodus und SET ENGINEBEHAVIOR-Befehl.

Die Standardausgabe auf einem Formular erlauben

Sie können die neue Eigenschaft AllowOutput in Formularen verwenden, um zu bestimmen, ob es sich bei der Standardausgabe um ein Formular als Zielfenster handelt. Für weitere Informationen, siehe AllowOutput-Eigenschaft.

Angabe einer Ebene der Tabellenvalidierung

Sie können den SET TABLEVALIDATE-Befehl verwenden, wenn Sie die Tabellenintigrität auf unterschiedlichen Ebenen überprüfen möchten. Für weitere Informationen, siehe SET TABLEVALIDATE-Befehl.

Neue XML-Webdienst Foundation Classes

Visual FoxPro ersetzt die Klassenbibliotheken der Foundation Classes _WebServices.vcx und _WebServices.vct durch _ws3Utils.vcx und _ws3Client.vcx. Diese neuen Klassenbibliotheken verwenden SOAP Toolkit 3.0. Für weitere Informationen, siehe XML-Webdienste (Foundation Class).

Siehe auch

Spracherweiterungen | Erweiterung der Interaktiven Entwicklungsumgebung (IDE) | Erweiterung der Features im Bereich des Datenzugriffs | Verschiedene Erweiterungen | Änderungen im Verhalten seit Visual FoxPro 7.0