Was ist neu in Visual FoxPro 7.0

von Rainer Becker

Auf der Visual FoxPro Entwicklerkonferenz, ausgerichtet von Advisor Publications vom 24.9. - 28.9.2000 in Miami, Florida, wurden am ersten Abend in der Keynote unter dem Titel "Whats New in Visual FoxPro" viele Angaben zur nächsten Version von Visual FoxPro und auch zur geplanten Weiterentwicklung aus Sicht von Microsoft gemacht. Nachfolgend möchte ich den Nicht-Teilnehmern eine Zusammenfassung der Vorführungen von Microsoft geben (und den Teilnehmern eine Gedächtnisstütze). Vorgestellt wurden diverse Erweiterungen der Programmiersprache und der Entwicklungsumgebung um effektiver und effizienter arbeiten zu können. Verbessert wurde die Unterstützung für COM und Windows DNA als auch die Möglichkeit zum Entwickeln und Debuggen von Middle-Tier-Komponenten als auch von sogenannten WebServices.

Datenbank-Ereignisse

Schon nach wenigen allgemeinen Slides und einleitenden Worten von Robert Green wurde zu einer Vorführung von Calvin Hsia gewechselt. Er stellte als erstes die neuen "Database Events" vor. Innerhalb eines Datenbankcontainers können ab sofort generell Ereignismethoden gefüllt werden, die für sämtliche Tabellen des DBCs automatisch ausgeführt werden. Mit Hilfe dieser Ereignisse kann man sich in das Öffnen oder Schließen einer Tabelle, den Satzwechsel usw. mit eigenem Code einhängen, wobei der Rückgabewert ausgewertet wird. D.h. wenn man zum Beispiel nicht möchte, daß jemand den MODIFY STRUCTURE-Dialog aufruft, kann man in diesem Falle ein .F. zurückgeben. Oder wenn jemand im BROWSE-Modus direkt Daten ändert, kann man eine Sicherheitsabfrage beim Schließen einbauen oder ggf. TABLEREVERT aufrufen, um seine Änderungen wieder zu verwerfen. Allerdings ist es dabei bisher noch so, daß man selbst unterscheiden muß (ggf. mit einem CASE-Statement), um welche Tabelle es bei dem Aufruf gerade geht. Das verlangsamt natürlich das System und macht das Verschieben von Tabellen zwischen verschiedenen Containern etwas anstrengend, da man leicht vergessen kann, den entsprechenden Abschnitt der vorhandenen CASE-Statements mit zu verschieben. Ein weiteres meines Erachtens ungelöstes Problem ist die nach wie vor fehlende Möglichkeit, ein CreateObject in einer StoredProcedure auszuführen, wenn der Zugriff auf die Tabellen über ODBC erfolgen sollte, was natürlich auch für die neuen Ereignisse im Datenbankcontainer gilt, da diese ebenfalls als StoredProcedure abgelegt werden. Unabhängig davon erlauben die neuen DBC-Ereignisse aber ganz neue Reaktionsmöglichkeiten.

Intellisense

Wesentlich umfangreicher wurde der nächste Vorführungsblock von Calvin Hsia zum Thema Verbesserungen in der Entwicklungsumgebung und Einführung von Intellisense. Dabei geht es um die einfachere und intiutivere Bedienung von Methoden, Eigenschaften und Masken im Allgemeinen als auch der einfacheren Befehlseingabe im Befehlsfenster.

Als neue Bereichs- oder Abschnittsmarkierungsmethode im Code (außer Breakpoints) gibt es nunmehr Bookmarks als auch Links. Bookmarks können nach Wahl im Code gesetzt werden. Mit der F2-Taste wechselt man dann zwischen verschiedenen Bookmarks. Links können ebenfalls im Code gesetzt werden. Mit einem in VFP7 geschriebenen Tools namens "Tasklist" können diese Positionen im Code dann wieder gezielt angesprungen werden.

Viel wichtiger aber ist das neue Intellisense, welches mit Hilfe einer eigenen umfangreichen Steuertabelle namens FOXCODE.DBF zu eingegebenen Befehlen wahlweise Tooltips einblendet (z.B. mit Anzeige sämtlicher Parameter für einen Methodenaufruf) oder Codeabschnitte einkopiert (z.B. für DO-CASE-Statements oder DEFINE CLASS-Abschnitte). Intellisense erlaubt dabei tatsächlich das Navigieren in Objekten und deren Methoden / Eigenschaften. Wenn man also z.B. _VFP eingibt, bekommt man nach Eingabe des Punktes sämtliche Eigenschaften und Methoden dieses Objektes zur Auswahl angeboten. Wählt man eine Methode erhält man zu dieser sämtliche Aufrufparameter angezeigt. Beim Eingeben der Parameter wird in dem Tooltip der jeweilig gerade eingegebene Parameter fett unterlegt, so daß man leicht erkennen kann, wieviele Parameter noch fehlen. Dies gilt übrigens nicht nur für VFP-interne Objekte und Befehle sondern auch für COM-Objekte wie Excel oder WinWord. In diesem Fall werden die Informationen aus der Registry eingelesen und zur Verfügung gestellt. Zusätzlich werden von Intellisense auch Arrays und diverse Konstanten unterstützt - wiederum auch für COM-Objekte und nicht nur für z.B. den MESSAGEBOX-Befehl von VFP.

Die Navigationsmöglichkeit über Intellisense ist besonders interessant bei komplexen zusammengesetzten Masken, in denen man etwas direkt ansteuern möchte / muß. Nicht daß das Verwenden von sehr langen Objektpfaden sonderlich wartungsfreundlich wäre - Konstanten seien hier gelegentlich empfohlen. Apropos Bearbeitung von Masken: Die Maskenbearbeitung von komplexen zusammengesetzten Containern war seit Visual FoxPro 3.0 etwas anstregend. In der nächsten Version muß man sich jetzt aber nicht mehr über vielfache Kombinationen von "Rechtsklick-Auswählen von Bearbeiten" oder langwieriges Navigieren im Eigenschaftsfenster bis auf die gewünschte Containerebene hinabarbeiten. Stattdessen gelangt man mit Control-Click direkt in den Bearbeitungsmodus für das unter dem Mauszeiger befindliche Objekt und mit der Kombination Control-Shift-Click geht gleich direkt in den entsprechenden Code.

Auch im Eigenschaftsfenster wurde etwas verbessert - statt bei Methoden nur eine Default-Anzeige zu sehen, wird nunmehr die Klasse angezeigt, in welcher auf der nächsthöheren Vererbungsstufe der Code angelegt wurde. Dies erspart das Suchen bei komplexen Vererbungsstrukturen (bzw. die Verwendung von entsprechenden Tools).

Das Intellisense-Feature wurde in verschiedenen Detailbereichen noch weiter verfeinert. Zum Beispiel kann man auch Felder von Tabellen ansprechen und erhält zusätzlich einen Tooltip mit dem Kommentar aus dem Datenbankcontainer zu dem Feld. Alle Befehle von Visual FoxPro wurden ebenfalls hinterlegt mit sämtlichen möglichen Parametern. Gleiches gilt für sämtliche SYS-Befehle sowie sämtliche Konstanten wie zum Beispiel für den Messagebox-Befehl. Zusätzlich erscheinen bei bestimmten Parametern zusätzliche Dialoge wie z.B. bei einem Farbparameter ein entsprechender GetColor-Dialog. Desweiteren können Templates hinterlegt werden für alle typischen Befehle. Beispielsweise wurde unter dem Kürzel "DC " der Befehl DEFINE CLASS mit allen Standardabschnitten hinterlegt.

Allgemeine Tools

Als kleinerer Gags wurden Hyperlinks in Kommentaren oder im Code aktiv geschaltet, so daß durch anklicken direkt die entsprechende URL durch einen Internet Explorer angesprungen wird (Dieses Feature macht mich schon in WinWord immer nervös ). Desweiteren wurden verschiedene Tools des neuen Betriebssystems Windows 2000 in Visual FoxPro mit eingebunden. Dabei handelt es sich um die Tools "Screen Magnifier", "Screen Reader" und "Screen Inspector". Der "Screen Magnifier" vergrößert einfach nur einen Bildschirmbereich und stand eigentlich auch schon unter Windows 98 und Windows NT zur Verfügung. Er ist zumindest praktisch für Vorführungen von Software, bei der man nicht mal schnell den Font vergrößern kann. Der "Screen Reader" ist eine Sprachausgabe-Anwendung, die beliebige Textbereiche auf dem Bildschirm vorliest. Ein reichlich englischer Slang wird dabei vermutet, das Vorhandensein von Lautsprechern vorausgesetzt. Der "Screen Inspector" wiederum zeigt Objekteigenschaften an - siehe dazu auch den Artikel über den Microsoft Style Guide. Alle Anbindungen von Tools basieren auf der Microsoft-Technologie "Active Accessibility", so auch das nachfolgende Test-Tool.

Automatisches Testen

Ein Tool namens "Test Harness" wurde von der Firma "ACCPAC International" entwickelt und im Rahmen der Keynote präsentiert. Die Firma scheint der Nachfolger des bekannten Anbieters von Warenwirtschaftssystemen (samt Quellcode in Visual FoxPro) namens "SBT" zu sein. Das Testtool wird kostenlos mit Visual FoxPro 7.0 ausgeliefert. Es basiert auf der sogenannten "MS Active Accessibility Technology" und kann zum Testen von beliebigen VFP-Anwendungen verwendet werden. Das Testtool basiert dabei allerdings auf der Aufnahme und dem Wiederabspielen von Test-Skripts im Rahmen der Benutzeroberfläche. Die Skripts können gespeichert und dann beliebig oft abgerufen werden. Dafür gibt es eine kleine Maske für die Verwaltung, Aufnahme und Abspielen von solchen Skripts. Dabei besteht bei Aufnahme und Abspielen solcher Skripts Zugriff auf alle Objekte in VFP inclusive Menüs, Toolbars und ActiveX-Controls. Unklar ist dabei derzeit noch die Höhe des Wartungsaufwands, wenn die Anwendung geändert wird, da nicht erkennbar war, ob Skripte geändert werden können oder komplett neu aufgenommen werden müssen. COM-Server kann man mit diesem Testwerkzeug allerdings nur dann testen, wenn eine Oberfläche dazu existiert, die angesteuert werden kann. Möglicherweise reicht dafür die Ansteuerung über das Befehlsfenster aus.

COM-Server-Verbesserungen

Dies leitet direkt in das nächste Thema "COM-Server Enhancements" über, welches von Randy Brown präsentiert wurde. Im Bereich COM-Server wurde zuallerst die Schnittstelle von VFP erweitert. Es wurden Schnittstellen für verschiedene Events geschaffen. VFP enthält nun auch ein ADO-Interface und kann darüber angesprochen werden. Der VFP-Entwickler kann sich in diese Ereignisse mit Methodencode einhängen.

Eine weitere Verbesserung betrifft die erstellten Typelibraries (.TLB), die für jede erstellte .DLL notwendig sind. Nunmehr gibt es nämlich typgebundene Eigenschaften und Parameter. Das heißt, der Feldtyp einer Eigenschaft wird automatisch übernommen und eingetragen und für Parameter und Rückgabewerte kann man dies selbst mit einer erweiterten Syntax definieren. Zum Beispiel kann man eine Methode, Prozedur oder Funktion jetzt wie folgt definieren:

    function myeval ;
    (tcCmd as string) ;
    as variant ;
    helpstring "myhelpstring"

Diese Funktion bekommt also einen Parameter vom Typ "Character" übergeben und liefert einen vom Typ her variablen Wert wieder zurück. Außerdem steht in der Typelibrary noch ein Kommentar als "HelpString" für andere Entwickler. Das neue VFP-Intellisense zeigt diese Kommentare übrigens gleich mit an. Außerdem können weitere Attribute zu Eigenschaften definiert werden wie z.B. "ReadOnly" oder "WriteOnly".

Damit allerdings die Typelibrary nicht immer dermaßen umfangreich wird wie bisher, wurden die FoxPro-Basisklasse "Session", die sowieso keine Benutzeroberfläche hat und eigentlich nur eine eigene private Datasession zur Verfügung stellt ohne den Overhead einer Form-Klasse, überarbeitet. Für diese Klasse werden in der Typelibrary die normale Eigenschaften von Visual FoxPro nunmehr unterdrückt und nur die selbstdefinierten Eigenschaften und Methoden werden nach außen sichtbar. Man muß also nicht mehr sämtliche unerwünschten Methoden/Eigenschaften auf "protected" setzen (mit Nebeneffekten). Diverse Default-Werte wurden für diese Klasse außerdem endlich auf "OFF" geschaltet, so zum Beispiel "exclusive", "talk", "safety".

Für die Ereignisverwaltung und -behandlung gibt es eine neue Funktion mit dem Namen "EventHandler()". Bisher ging nur die Anbindung an COM-Objekte mit Late Binding oder mit solchen die über ein IDispatch-Interface verfügten. Nunmehr ist auch "Early binding" möglich, so daß die Anbindungsmöglichkeiten von VFP unter COM ziemlich vollständig sind. Das heißt das Binding an Events kann nunmehr auch zur Laufzeit stattfinden. Die Schnittstelle dazu kann mit der Funktion "GetInterface()" ebenfalls zur Laufzeit ermittelt werden.

Web-Services

Unter dem Stichwort "Web Services" werden die bisherigen und die neuen COM-Server-Funktionalitäten von Robert Green aus einem anderen interessanten Blickwinkel dargestellt. Webserver sind bisher nämlich geschlossene Welten, die eigentlich nicht miteinander reden können. Wenn man lokal andere Komponenten ansprechen möchte, kann man dies über COM tun bzw. im Netzwerk über DCOM. Interessant wäre jetzt natürlich ein Protokoll, welches DCOM in das Internet erweitert. Dieses Protokoll wird von Robert Green vorgestellt. Wenn eine Komponente auf dem Internet ist und als sogenannter "WebService" angeboten wird, kann man sie über XML ansprechen. Ein "Webservice" ist also ein Objekt, dessen Methoden über das Internet angesprochen werden können. Diese Möglichkeit wird auch unter der Abkürzung "SOAP" geführt. Das Erstellen von solchen WebServices ist auch direkt aus Visual FoxPro möglich. Dabei gibt es Unterstützung für XML, HTTP und HTML. Ein sogenanntes SOAP-Toolkit für Visual Studio 6 erleichtert die Erstellung und gibt weitere Informationen. Die Unterstützung von WebServices sowie XML im Allgemeinen in VFP sieht laut Randy Brown derzeit wie folgt aus: Eine beliebige VFP-COM-Klasse kann derzeit über ein in VFP geschriebenem Tool als Webservice publiziert werden. Dazu muß nur die DLL angewählt werden. Dann werden von dem Tool drei Dokumente erstellt:

  • Das erste Dokument ist das "Service Description Document", welches alle wichtigen Angaben zu dem Webservice enthält. Im Prinzip handelt es sich dabei um eine XML-Umsetzung der bisherigen Typelibrary, wobei die im vorigen Abschnitt beschriebenen Erweiterungen der Typelibrary natürlich auch hier mit umgesetzt werden.
  • Desweiteren wird eine ASP-Datei erstellt, welche der "Listener" ist, der den Aufruf auf die Webadresse umleitet auf die entsprechende Komponente und diese ausführt.
  • Außerdem wird ein Testscript zum Ausführen erstellt

Desweiteren wird ein Eintrag in die Intellisense-Datei FOXCODE.DBF vorgenommen, so daß beim Aufrufversuch entsprechende Tooltips zur Verfügung stehen. Zukünftig wird das Erstellen und Verwenden von WebServices aber stärker automatisiert werden. In der Endversion von VFP 7.0 wird "WebService" wahrscheinlich direkt als Erstellungsoption zur Verfügung stehen so wie bisher EXE oder DLL. Sämtliche in VFP programmierte Geschäftslogik kann so über das Internet bereitgestellt werden.

Datenzugriff via Internet

Wie nun auch die Datenhaltung über das Internet verfügbar gemacht werden kann, wird von Gene Goldhammer vorgestellt. Er war der Microsoft-Keynote-Redner der deutschen Entwicklerkonferenz in 1999. Hier stellt er eine Internetanbindung an SQL-Server 2000 vor. Dabei wird die Abfrage an den SQL-Server über http als XML-Dokument verschickt. Das Ergebnis wird als XML-String wird zurückgeschickt und mit der neuen VFP-Funktion "XML2Cursor()" in einen lokalen View umgewandelt. Umgekehrt funktioniert es genauso, in dem ein sogenanntes UpdateGram erstellt wird. Im Prinzip wird beim Laden der Daten über das Internet und beim Zurückspeichern des geänderten Datensatzes auf beiden Seiten (Webserver und Browser-Client) eine Umwandlung vorgenommen von Datenhaltung nach XML bzw. umgekehrt. Das XML-Format ist ein reines Textformat, welches HTML sehr ähnlich ist und natürlich einiges an Overhead produziert aufgrund der Vielzahl der benötigten Open- und Close-Tags.

Im neuen SQL-Server sind entsprechende Funktionen direkt implementiert, aber statt einem SQL-Server-2000 kann natürlich auch Visual FoxPro verwendet werden. Wahlweise kann der Einsatz dabei über das Internet oder aber auch direkt erfolgen. Beim Direktzugriff kann man Visual FoxPro als COM-Server generieren und mit der neuen Cursor2XML-Funktion die Daten dann an die erste Instanz von VFP mit der eigentlichen Anwendung wieder zurückliefern. Dies ist sehr praktisch für das lokale Austesten einer späteren Internet-Datenbankzugriffs-Version der eigenen Anwendung.

Das Server-Beispiel wurde im Rahmen der Keynote sowie einer eigenen späteren Session von Randy Brown noch wesentlich erweitert. Dabei wurden Datenänderungen als verteilte Transaktionen als COM+-Service implementiert mit einer asynchronen Messageverarbeitung mit einer Datenhaltung sowohl unter SQL-Server als auch unter VFP. Dabei wird der Datenänderungsauftrag als MSN-Queue in einen MS Messageserver eingestellt und als Transaktion im MS Transaktionsserver verarbeitet. Ein sogenanntes UPDATEGRAM wird dabei an SQL-Server geschickt als neuer Befehl im XML-Format. Die Darstellung dieses Szenarios ist allerdings zu umfangreich als das es sinnvoll im Rahmen dieser Einführung in die Neuheiten in Visual FoxPro 7.0 vollständig und verständlich dargestellt werden könnte.

XMLX

Als Auflockerung präsentiert als nächstes Ken Levy eine ganz andere Art der Internetnutzung unter der Überschrift XMLX (das letzte "X" steht für "Extended", also erweitert, wie bei allen Tools von Ken). In Visual FoxPro 7.0 gibt es die neue Funtion "Exescript()", die einen übergebenen String bzw. ein übergebenes Memofeld als Code abarbeitet. Dies ist quasi eine um die Mehrzeilenfähigkeit erweiterte Evaluate- und Makro-Funktion in einem. Ein einzeiliger Aufruf wäre z.B.:

    ? EXESCRIPT("dir")
    ? EXESCRIPT("? Date()")

 

Dies wäre dann einmal der Einsatz als Makro für die Befehlsausführung von "DIR" und einmal der Einsatz als Evaluate für die Ausführung einer Funktion. Viel interessanter ist aber der mehrzeilige Aufruf wie folgt:

    ? EXESCRIPT("for i = 1 to 10" + chr(13);
    + " ? i " + chr(13);
    + "endfor" )

Das heißt, man kann dieser Funktion einen beliebigen mehrzeiligen VFP-Code zur Ausführung übergeben. Dieser Code könnte in Memofeldern gespeichert werden. Dadurch kann man seine eigenen Anwendungen sehr leicht durch andere konfigurierbar machen, in dem an entsprechenden Stellen dieser Befehl aufgerufen wird. Die Variante von Ken Levy war jetzt, daß FoxPro Code in XML-Seiten gespeichert wird und von dort über das Internet auch wieder geladen und ausgeführt. Seine Beispielanwendung erzeugt einen Container im Katalogmanager und legt dort Programme und weitere Einträge an. Damit können Entwickler sehr einfach Code über das Internet austauschen und ablaufen lassen, ggf. auch direkt auf dem Server.

Microsoft.NET

Unter dem Titel ".NET" bereitet Microsoft die nächste Softwaregeneration vor. Die erste Generation startete in 1992 mit Client / Server. In 1996 folgten dann der Internet Explorer und der Internet Information Server und die Öffnung zum Internet. Die Integration wurde ab 1998 versucht mit Windows DNA ("Digital Nervous Architecture"). Alle diese Versuche gingen noch nicht weit genug. Deshalb implementiert Microsoft jetzt die sogenannte .NET-Plattform unter dem Arbeitstitel "Rich and Reach", d.h. umfangreich im Funktionsangebot ("Rich") aber dennoch leicht erreichbar ("Reach"). Über die Teilschritte Visual Studio 6.0, COM+ (statt dem bisherigen COM), DNA-Server und dem neuen Windows 2000 möchte man zu der neuen Entwicklungsumgebung Visual Studio.NET gelangen. Dieses wiederum basiert auf dem sogenannten .NET-Framework als auch auf .NET-Enterprise-Servers und irgendwann wird das ganze auf eine Betriebssystemversion Windows.NET hinauslaufen. Der Framework-Inhalt besteht bisher aus folgenden geplanten Inhalten:

  • WebServices (Internetdienste, siehe oben)
  • User Interface (Benutzeroberfläche)
  • Data (Dienste für die Datenbankanbindung)
  • XML (Extensible Markup Language für den Datenaustausch)
  • Baseclasses (Basisklassen für die Softwareentwicklung unter OOP)
  • Common Language Runtime (einheitlicher Ablaufumgebung für VB, VC und Java)

Dieses Framework wird von Visual Studio.NET verwendet, welches selbst wiederum folgende wesentliche Eigenschaften haben soll:

  • Internetanwendungsentwicklung mit Drag & Drop
  • Unterstützung des .NET-Frameworks
  • Unterstützung für verschiedenen Programmiersprachen
  • Offene, erweiterbare Entwicklungsumgebung
  • Adressierung von unternehmensweiter Softwareentwicklung und -einsatz

Beispielhaft wird dazu eine kleine Anwendung in der bisher verfügbaren Version von Visual Studio.NET zusammengestellt. Erstellt wird dabei ein Kalender mit Hilfe eines Fertigcontrols eines Herstellers. Diese Anwendung wird nunmehr als Webservice publiziert. Mit Hilfe des Server-Explorers von Visual Studio.NET kann die Anwendung ausgeführt und getestet werden. Die nächste Version von Visual FoxPro verwendet leider nicht die "Common Language Runtime", sondern nach wie vor seine eigene Runtime-Umgebung, was die Integration in die neue Visual Studio-Version nur eingeschränkt möglich macht. Visual FoxPro ist aber dennoch ein Teil von .NET, denn

  • VFP-Komponenten können direkt oder als Webservices verwendet werden
  • VB- und C#-Komponenten können von VFP aufgerufen werden
  • VFP kann das .NET-Framework verwenden incl. ADO+

Es kann in Visual Studio.NET auch ein VFP-Projekt angelegt und Code dafür eingegeben werden. Dieser DLL-Code kann auch debuggt werden (was innerhalb von VFP bisher sehr schwierig war). Ebenso kann auf solche Komponenten eine Referenz in Visual Studio.NET angelegt und diese dann von anderen Elementen angesteuert werden. Beispielhaft wird in der Keynote eine Maske mit einem Button für Visual Basic und einem für Visual FoxPro erstellt. Der Code ist in beiden Fällen nahezu identisch und es wird jeweils eine entsprechende Komponente aufgerufen. Allerdings steht nicht die gewohnte Entwicklungsumgebung von Visual FoxPro dafür zur Verfügung, sondern zumindest bisher nur ein Editor.

Auf den nächsten DevDays wird ein Schwerpunktthema ".NET Enterprise Server" sein. Im Rahmen dessen sollen auch weitere Ergebnisse in Bezug auf Visual Studio.NET und das .NET Framework vorgestellt werden. Empfohlen wird von Microsoft auf jeden Fall der Download des .NET-Framework-SDK (Software Development Kit), da dies wichtige Materialien und Programme enthält. Die Visual Studio.NET Beta 1 wird vermutlich noch vor dem Jahresende erscheinen. Abonnenten von "MSDN Universal" bekommen es kostenlos zugeschickt, alle anderen müßten es sich downloaden, was nur bei Vorhandensein eines ISDN-dsl-Anschlußes oder eines direkten Internetzugangs Sinn macht. Soviel erstmal als Einführung zur neuen .NET-Strategie von Microsoft, die sich auch direkt auf die neueste Version von Visual FoxPro auswirken wird.

Weitere Informationen zu dem Thema .NET gibt es anonsten unter folgenden Webadressen:

  • microsoft.com/net,
  • msdn.microsoft.com/vstudio
  • msdn.microsoft.com/msdnmag
  • msdn.microsoft.com/net

Insbesondere auf Keynotes von Bill Gates und Steve Ballmer zu diesem Thema wurde hingewiesen.

Fokus von Microsoft

Der Fokus des MS-Entwicklerteams für die neue Version von Visual FoxPro liegt auf den folgenden Punkten:

  • Ein noch besseres Visual FoxPro für die Entwickler von heute
  • Ein Weg für die Integration von Applikationen von VFP-Entwicklern innerhalb des Visual Studio.NET
  • Visual FoxPro als einen Teil von .NET zu integrieren

Abschließend ruft Microsoft "Call to Action" und fordert alle Entwickler auf, sich die "Visual FoxPro DevCon Tech Preview"-Version anzuschauen und weitere Vorschläge für die Weiterentwicklung des Produktes einzureichen. Dieser Aufruf "Send us Feedback" gilt natürlich nicht nur für die DevCon-Teilnehmer in den USA, die eine Preview-Version erhalten haben, sondern genauso auch für die Teilnehmer der Entwicklerkonferenz in Frankfurt und alle andere Visual-FoxPro-Anwender.