Das Verhalten von Visual FoxPro weist Unterschiede zu dem der vorigen Versionen auf und hat möglicherweise Einfluss auf vorhandenen Code. Diese Änderungen sind in folgende Kategorien unterteilt:
Die Kritische Änderungen im Verhalten bezeichnet die Änderungen, die vorhandenen Code am wahrscheinlichsten beeinflussen, wenn dieser unter Visual FoxPro 8.0 ausgeführt wird. Es ist extrem wichtig, dass Sie den folgenden Abschnitt lesen.
Visual FoxPro enthält den neuen SET ENGINEBEHAVIOR-Befehl, mit dem Sie die Kompatibilität der SQL Data Engine steuern können. Die Einstellung hat Auswirkung auf die SQL SELECT-Befehl. Das aktuelle Standardverhalten kann auf das bisherige Verhalten unter Verwendung des SET ENGINEBEHAVIOR-Befehls zurückgesetzt werden und wird wie folgt beschrieben:
Die GROUP BY-Klausel muss jedes Feld der SELECT-Liste enthalten, dabei werden auch die Felder erwartet, die in Aggregatfunktionen wie z.B. COUNT( ) eingebettet sind. Auch muss die GROUP BY-Klausel jedes Feld der HAVING-Klausel, auch die, die in Aggregatfunktionen eingebettet sind.
Für weitere Informationen, siehe SELECT - SQL-Befehl und SET ENGINEBEHAVIOR-Befehl.
Visual FoxPro enthält ab sofort den neuen Feldtyp "Integer (AutoInc)". Zur Unterstützung der neuen autoinkrementellen Werte gibt die AFIELDS( )-Funktion nun 18 Spalten statt der bisherigen 16 zurück. Die Spalten 17 und 18 geben die Felder NextValue und Step an, bei denen es sich um Felder des Datentyps Integer handelt. Für weitere Informationen, siehe AFIELDS( )-Funktion.
Der Befehl enthält ab sofort die numerischen Felder FIELD_NEXT und FIELD_STEP, zur Unterstützung der neuen autoinkrementellen Feldwerte. Für weitere Informationen, siehe COPY STRUCTURE EXTENDED-Befehl.
Visual FoxPro enthält und aktiviert standardgemäß die Unterstützung des Windows XP Designs. Die neue Themes-Eigenschaft für visuelle Klassen hat unter Microsoft Windows XP Einfluss auf die vorhandene Benutzerschnittstelle. Sie können die Aktivierung abschalten, indem Sie die Themes-Eigenschaft auf den jeweiligen Steuerelement, Formular oder auf Ebene der der _SCREEN-Systemvariable entsprechend setzen. Sie können auch die Funktion SYS(2700) - Aktivieren des Windows XP Design verwenden.
Obwohl vorhandene Anwendung möglicherweise gut mit dem neuen Design umgehen können, bilden Elemente die mit @...GET oder @...SAY und ähnliche @...-Befehle eine Ausnahme, Sie sind nicht mit dem Windows XP Design kompatibel. Aus diesem Grund sollten Sie, wenn Sie Programme, die mit FoxPro 2.x erstellt wurden und auf Betriebsystemen ab Windows XP ausführen, die _SCREEN Themes-Eigenschaft auf Falsch (.F.) setzen, anderenfalls verschwindet das Steuerelement vom Formular.
Sie müssen unter Umständen eine kleine Äderungen an Formularen vornehmen, die PageFrame-Objekte enthalten. Die Themes-Eigenschaft bewirkt einen Effekt auf Page-Objekte, so dass ein Optionsfeld, Label oder ein ähnliches Steuerelement nicht korrekt angezeigt wird, wenn die -Eigenschaft des Steuerelements auf "Opaque" (Undurchsichtig) steht. Sie können diese Situation vermeiden, wenn Sie BackStyle auf "Transparent" stellen.
Wenn das Design aktiviert ist, sollten Sie vermeiden den CLEAR-Befehl für Formulare zu verwenden, da dies Einfluss auf das Zeichnen bei verschiedenen Steuerelementen hat.
Bei einem Datenraster-Steuerelement (Grid), hat Themes Einfluss auf die visuelle Anzeige der Spaltenköpfe. Wenn das Design für ein Datenraster aktiviert ist, werden die Einstellungen in den Eigenschaften BackColor und ForeColor des Spaltenkopfs nicht beachtet, da diese Eigenschaften vom jeweiligen Design abgeleitet werden. Jedoch werden die Eigenschaften BackColor und ForeColor eines Spaltenobjekts unhabhängig von den Einstellungen der Themes-Eigenschaft des Datenrasters angezeigt.
Für weitere Informationen, siehe Themes-Eigenschaft und SYS(2700) - Aktivieren von Windows XP Themen.
Die folgenden Änderungen haben Einfluss auf das Datenraster:
Active Documents werden nicht mehr von unterstützt. Die Klasse ActiveDoc ist in der Visual FoxPro Sprache zwar noch vorhanden und kann instanziiert werden. Die Funktionalität eine Visual FoxPro innerhalb des Internet Explorer zu hosten ist aus Gründen der geringen Sicherheit dieser Funktionalität nicht mehr verfügbar.
Wichtige Änderungen haben möglicherweise Einfluss auf bereits vorhandenen Code, wenn dieser unter Visual FoxPro 8.0 ausgeführt wird.
In älteren Visual FoxPro Versionen, konnten Sie eine neue Ansicht erstellen, die Syntaxfehler enthielt. Visual FoxPro führt nun eine Gültigkeitsprüfung durch, um sicherzustellen, das keine Syntaxprobleme bestehen.
Nehmen wir z.B. an, Sie fügen eine Speichervariable als Teil einer Ansichtsdefinition ein. In älteren Visual FoxPro Versionen, war es nicht nötig, das die Variable vorhanden war, wenn die Ansicht erstellt wurde. Visual FoxPro führt ab sofort eine Syntaxprüfung durch, die Speichervariable muss vorhanden sein.
Das Klicken auf den Visual FoxPro Desktop, führt dazu das das Deactivate-Ereignis auftritt und das aktive Benutzerformular deaktiviert. Diese Verbesserung bietet eine bessere Integration mit der neuen BINDEVENT( )-Funktion bei der Aktivierung und Deaktivierung von Formularen.
Visual FoxPro 7.0 Service Pack 1 enthielt den zusätzlichen Wert 8192 für den Parameter der XMLTOCURSOR( )-Funktion, womit Sie festlegen können, das die angegebene XML-Datei in eine bereits vorhandenen Tabelle oder Cursor importiert wird. Für weitere Informationen, siehe XMLTOCURSOR( )-Funktion.
XMLTOCURSOR( ) konvertiert einen dezimalen Datentyp in den numerischen Visual FoxPro Datentyp mit 20,19 (Breite, Exaktheit). In Visual FoxPro 7.0 wurde ein numerischer Datentyp mit 8,0 zugeordnet.
Vermeiden Sie beim Aktualisieren von Daten bei Tabellenpufferung und Aktualisieren der Tabelle oder Tabellen in Datenquellen aus mehreren Clients heraus, BatchUpdateCount auf einen Wert zu setzen, der größer ist als 1. In diesem Fall gibt TABLEUPDATE( ) immer ein logisches Wahr (.T.) zurück.
Entsprechend dem Verhalten der Open Database Connectivity (ODBC), ist Visual FoxPro nicht in der Lage Konflikte zu entdecken, wenn kein Fehler von einem Server generiert wird, der nicht aktualisiert wurde, wie z.B. wenn keine Zeile mit der WHERE-Klausel übereinstimmt. Das kann passieren wenn Sie WhereType auf DB_KEYANDUPDATABLE, DB_KEYANDMODIFIED oder DB_KEYANDTIMESTAMP setzen und ein anderer Anwender die in der WHERE-Klausel bezeichneten Werte ändert, so dass die Zeile nicht mit der Aktualisierungs-Anweisung gefunden wird.
Sie können für die Operationen INSERT, DELETE und UPDATE BatchUpdateCount auf einen Wert größer als 1 setzen, wenn FORCE Wahr (.T.) ist.
Sie können keine Offline-Ansicht innerhalb einer Transaktion öffnen oder schließen, wenn Sie USE SQLViewName im ADMIN/ONLINE Modus verwenden. Für weitere Informationen, siehe die Beschreibung der Schlüsselwörter ADMIN und ONLINE in USE-Befehl.
Visual FoxPro konvertiert eine Objektreferenz in die Zeichenkette "(Object)", wenn diese mit den folgenden Sprechelementen verwendet wird:
Dieses Verhalten findet bei allen einfachen Visual FoxPro und COM-Objekten Anwendung. Die Objektreferenz muss vorhanden sein. Für weitere Informationen, siehe TRANSFORM( )-Funktion, MESSAGEBOX( )-Funktion, DEBUGOUT-Befehl, WAIT-Befehl und ? | ??-Befehl.
Es ist möglich, das der Ansichtsdesigner Ihre Änderungen nicht erneut laden kann, nachdem Sie Änderungen im SQL-Ansichtfenster vorgenommen haben. Ein Dialogfeld mit der folgenden Meldung wird angezeigt:
"Der Ansichts-/Abfrage-Designer kann die Änderungen nicht neu laden. Möchten Sie den Inhalt im Designer neu erstellen?"
Wenn Sie "Ja" wählen, werden die Änderungen verworfen und Visual FoxPro kehrt in den Ansichtsdesigner zurück. Wenn Sie "Nein" wählen kehrt Visual FoxPro in Ihr SQL-Fenster zurück.
Um eine Anweisung zu speichern, die nicht geparst werden kann, wie z.B. der Aufruf einer gespeicherten Prozedur (stored procedure) wählen Sie "Nein" und klicken Sie auf die Schaltfläche "Speichern" in der Symbolleiste von Visual FoxPro. Sie können auch "Speichern" wählen, wenn Sie Ihre Befehle im SQL-Fenster eingegeben haben, Sie müssen dafür nicht, wie in älteren Versionen, in den auf den Ansichts-Designer klicken.
Die Verwendung der SET DATABASE-Befehls mit einer leeren Zeichenkette, erzeugt in vorangegangenen Versionen einen Fehler, der besagte dass keine Datenbank geöffnet wurde. Sie können ab sofort SET DATABASE TO ""
mit dem gleichen Resultat verwenden wie der Aufruf von SET DATABASE TO
ohne Parameter. Für weitere Informationen, siehe SET DATABASE-Befehl.
HOME(5) gibt nun das Visual Studio MSDN Verzeichnis anstelle des Visual Studio MSDN Beispielverzeichnisses zurück. Visual FoxPro installiert nun seine Beispiele nicht mehr mit der MSDN. Für weitere Informationen, siehe HOME( )-Funktion.
In älteren Versionen wurden mehrere Schriftarten einer einzelnen Familie angezeigt. Die Liste der Eigenschaften im Eigenschaftenfenster für die Eigenschaft FontName und die AFONT()-Funktion zeigen ab sofort nur noch die aktuelle Schriftartfamilie an. Für weitere Informationen, siehe FontName-Eigenschaft und AFONT( )-Funktion.
Visual FoxPro bietet ein verhalten für Tastenkombinationen ähnlich Excel und Access, wenn Sie sich in einem Datenraster bewegen oder den BROWSE-Befehl verwenden:
Für weitere Informationen, siehe Tastenkombinationen (Shortcuts).
Visual FoxPro unterstützt jetzt Context-Sensitives verhalten wenn Sie die Tastenkombination STRG+TAB drücken. Wenn Jedoch die AllowTabs-Eigenschaft des Formulars auf Falsch (.F.) eingestellt ist, steht STRG+TAB in einem Bearbeitungsfeld (EditBox) nicht mehr zur Verfügung. Stattdessen bewirkt STRG+TAB den Wechseln zum nächsten verfügbaren Fenster. Sie können die TAB-Taste drücken, um ein Bearbeitungsfeld zu verlassen, wenn AllowTabs Falsch (.F.) ist.
Für weitere Informationen, siehe Erweiterung der Interaktiven Entwicklungsumgebung (IDE).
Der Titel, der von der DISPLAYPATH( )-Funktion zurückgegeben wird, beginnt mit einem Großbuchstaben statt des bisherigen Rückgabewertes komplett in Kleinbuchstaben.
Der Aufruf der DODEFAULT( )-Funktion in einer Methode die in der übergeordneten klasse nicht existieren, führt nicht mehr zu einem Fehler. Jedoch wird das Verhalten mit den folgenden Ergebnissen ausgeführt:
Dieses Verhalten betrifft die folgenden Szenarios:
Für weitere Informationen, siehe DODEFAULT( )-Funktion.
Sie können den DOEVENTS-Befehl nicht mehr mit Klammern schreiben z.B. DOEVENTS( )
. Der DOEVENTS-Befehl unterstütz ab sofort auch das optionale Schlüsselwort DOEVENTS. Für weitere Informationen, siehe DOEVENTS-Befehl.
Visual FoxPro generiert Typenbibliotheken für COM-Server, bei denen der Datentypen "Zeichen" (Character) in den Typenbibliotheken statt als VARIANT als BSTR markiert wird. Zum Beispiel erscheint die folgende Prozedur einer COM-Typenbibliothek mit dem Rückgabewert BSTR:
PROCEDURE myProc( ) AS Character
Für weitere Informationen, siehe DEFINE CLASS-Befehl.
Die QUARTER( )-Funktion gibt ab sofort 0 zurück, wenn ein leererDatum- oder DatumZeit-Wert übergeben wird, so z.B. bei QUARTER({//})
. In Versionen vor Visual FoxPro 8.0 führte dies zum Aufruf eines Fehlers.
Sie können nun de Folgenden Fehler abfangen, die zuvor von der Fehlerbehandlungsroutine des System abgefangen wurde:
Die folgenden Änderungen sind verschiedene Änderungen, die Sie kennen sollten, die aber keinen Einfluss auf vorhandenen Code nehmen.
Wenn Sie eine neues Projekt erstellen das OLEPUBLIC-klassen beinhaltet, stellt Visual FoxPro die Standardoption in der Registerkarte Server des Dialogfeldes Projektinformation auf "Einfache Verwendung". Diese Einstellung ist passend für die Verwendung zur Erstellung von EXE-Servern.
Wenn Sie eine Visual FoxPro DLL (dynamic-link library) COM-Server erstellen, stellt Visual FoxPro die Standardoption auf "Mehrfache Verwendung".
Visual FoxPro hält jede Änderung an den Instanziirungs-Einstellungen bei.
Für weitere Informationen, siehe Registerkarte "Server", Dialogfeld "Projektinformation".
Visual FoxPro raises the maximum from 16,384 to 65,535 rows when exporting a data cursor to an Excel spreadsheet. The new limit includes one row reserved for the field header. Für weitere Informationen, siehe EXPORT-Befehl, COPY TO-Befehl und Der Prozess des Exportierens von Daten.
Der Status und die Position eines angedockten Fensters, wie dem Befehlsfenster oder den Ansichtsfenster, werden von der letzten Benutzersession beibehalten. Sie können Ihr eignes Layout-Schema mittels des DOCK WINDOW-Befehls schreiben. Löschen und Bearbeiten der Ressourcedatei FoxUser.dbf, die Ihre Einstellungen enthält, stellt die Standardeinstellungen wieder her. Für weitere Informationen, siehe Andocken von Fenstern und DOCK WINDOW-Befehl.
Es ist Möglich, das Sie eine schlechte sicht haben, auf schreibgeschützte Eigenschaften oder den Eintrag auf die visuelle Klassenbibliothek von der Methoden und Ereignisse abgeleitet wurden. Sie können sich nun Quickinfos für diese Werte anzeigen lassen, während Sie die Maus über die Eigenschaft, Ereignis oder Methode in der Eigenschaftenliste ziehen.
Für weitere Informationen, siehe "Anzeigen von Eigenschaften für ein Objekt" in Bearbeiten von Objekten.
Visual FoxPro unterstützt Zeilenumbruch und erhöht das Limit von 255 auf 4095 Zeichen in der Quickinfo-Anzeige. Für weitere Informationen ToolTipText-Eigenschaft.
Wenn Visual FoxPro auf den Betriebsystemen Windows 2000 und Windows XP ausgeführt wird, enthalten die Dialogfelder "Öffnen", "Speichern" und "Bild öffnen" die folgenden Änderungen:
Sie können mehrere Dateien im Dialogfeld Öffnen auswählen, nachdem Sie im Projekt-Manager auf die Schaltfläche "Hinzufügen" geklickt haben um einem Projekt Dateien hinzuzufügen.
Wenn Sie die AGETCLASS( )-Funktion aufrufen, enthält die Dateiliste im Dialogfeld "Öffnen" nun auch den Dateityp "Programm" (PRG). AGETCLASS( ) wird nicht mehr in den Visual FoxPro Laufzeitbibliotheken unterstützt, da die Routinen zum Parsen von Programmdateien (PRG) auf die Entwurfszeit beschränkt sind.
Für weitere Informationen, siehe Dialogfeld "Öffnen", Dialogfeld "Grafik öffnen", Projekt-Manager und AGETCLASS( )-Funktion.
Der maximale Entwurfsbereich eines neuen Formular im Formular Designer ist ab sofort nicht mehr Limitiert. Die Standardeinstellung für den maximale Entwurfsbereich ist in der Registerkarte des Dialogfeldes "Optionen" angegeben.
Die Verwendung von AGETCLASS( ) in der Visual FoxPro-Laufzeitbibliothek wird nicht mehr unterstützt, da Routinen zum Parsen von Programmdateien (.prg) zur Verwendung während der Entwurfszeit vorbehalten sind.
Der Standardwert der Maximalen Anzahl an Variablen die von Visual FoxPro verwalten werden können wurde von 1.024 auf 16.384 erhöht. Sie können diesen Wert mit MVCOUNT
in der Konfigurationsdatei angeben.
Sie können nun wieder das Visual FoxPro Puzzle durch folgenden Befehl aktivieren:
ACTIVATE WINDOW Puzzle
Die folgenden Elemente sind nicht mehr Bestandteil der aktuell Version Visual FoxPro :
Der Quellcode des Converter liegt nun im XSource.zip vor.
Die Funktionalität für CliReg32.exe wurde entfernt und wurde durch das Komponentendienst-Tool ersetzt, das zu den Betriebsystemen Windows 2000 und XP gehört. Sie können dieses Tool verwenden um eine COM+ Server-Anwendung für die Installation auf ein oder mehreren Server-Computern zu exportieren. Es enthält auch Unterstützung für DCOM-Konfiguration für den Zugriff auf Remote-Anwendungen. Um auf das Komponentendienst-Tool zuzugreifen klicken Sie im Start-Menü auf System, öffnen sie den Ordner Verwaltung und führen Sie ein Doppelklicken auf Komponentendienst aus. Für weitere Informationen über den Komponentendienst, siehe die Windows Onlinehilfe.
Was ist neu in Visual FoxPro 8.0 | Erweiterung der Interaktiven Entwicklungsumgebung (IDE) | Erweiterung der Features im Bereich des Datenzugriffs | Spracherweiterungen | Verschiedene Erweiterungen