Visual FoxPro 9.0 / NT4 Patch

Rainer Becker

Version Beta 1 - Nur zu Testzwecken / for testing only !
Copyright (c) 2005 dFPUG c/o ISYS GmbH
ACHTUNG: Verwendung auf eigene Gefahr! Keine Garantie!

Problembeschreibung:

Die Laufzeitbibliotheken von Visual FoxPro 9.0 enthalten einen Funktionsaufruf, der von Windows NT 4.0 nicht unterstützt wird, weshalb es zu einer Fehlermeldung kommt und die Anwendung abbricht. Die hier beschriebene Patch-Datei ändert diesen Aufruf ab, so dass eine separat bereitgestellte DLL statt der Original-DLL von Windows verwendet wird und der Fehler nicht mehr auftritt.

Was passiert jetzt?

Folgende Arbeiten werden von der Patch-Anwendung durchgeführt:

1.      vfp90nt4.dll wird ins Windows Systemverzeichnis kopiert.

2.      Die Dateien vfp9r.dll und vfp9t.dll im VFP-Runtime Ordner unter "Gemeinsame Dateien" werden gepatcht.

3.      Die Datei vfp9.exe im FoxPro Anwendungsverzeichnis wird gepatcht.

4.      Wenn sich eine der Dateien vfp9.exe, vfp9r.dll oder vfp9t.dll im selben Verzeichnis wie dieses Programm befindet, wird sie ebenfalls gepatcht.

Sicherungskopie:

Wenn eine Datei gepatcht wird, erstellt dieses Programm eine Kopie der Originaldatei im selben Verzeichnis. Die Dateinamenserweiterung wird dabei auf 001, 002, etc. geändert.

Wie funktioniert es?

Die vfp90nt4.dll ist ein Wrapper, der alle erforderlichen Funktionsaufrufe an die kernel32.dll weitergibt. Lediglich der unter NT4 nicht vorhandene GetLongPathNameA() Aufruf wird mehr oder weniger simuliert. Die Funktion ist nach außen hin kompatibel zur Originalfunktion, beinhaltet aber keine Funktionalität, da diese den Aufruf von Shell-Funktionen erfordern würde. Das Laden der Shell oder einer anderen äquivalenten DLL kann zu Problemen führen, falls die vfp9r.dll oder vfp9t.dll in ihrer DllMain() Funktion GetLongPathName() aufrufen würde. Technisch gesehen macht es aber keinen Unterschied, ob ein kurzer (8.3) Pfad oder ein langer Pfad angegeben wird. Lediglich für den Menschen sind lange Pfade leichter lesbar.

Für Betriebssysteme, bei denen die kernel32.dll die Funktion exportiert, wird ein Aufruf ebenso wie bei allen anderen Funktionsaufrufen einfach durchgereicht.

Sonstige technische Hinweise:

Das Patch-Programm läuft nur unter Windows NT 4.0 und fragt vorsichtshalber zurück bei einer Internet Explorer Version kleiner 5.0 (OK-Cancel-Dialog). Die Beschränkung auf Windows NT 4.0 betrifft ausschließlich das Ausführen des Patch-programms selbst.

Eine einmal gepatchte vfp9.exe, vfp9r.dll oder vfp9t.dll läuft unter allen Betriebssystemen (getestet unter WinNT/2k/XP), vorausgesetzt sie kann die vfp90nt4.dll finden. Deshalb wird die vfp90nt4.dll vom Patchprogramm ins Windows Systemverzeichnis kopiert. Genauso gut kann man sie aber auch manuell zur vfp9.exe, vfp9r.dll oder vfp9t.dll dazukopieren.

Die Datei vfp90nt4.dll kann man mit folgendem Befehl extrahieren: „vfp9nt4patch .exe /Q /C /T:C:\unzip“. Diese und weitere Kommandozeilen-Parameter findet man mit vfp9nt4patch.exe /? oder in der MSKB unter http://support.microsoft.com/default.aspx?scid=kb;EN-US;197147.

Der Test mit NT4 SP6a und IE5 läuft auf den ersten Blick sauber. Auch ein MT-DLL Projekt lässt sich erstellen und den COM-Server kann man problemlos instanziieren, auch mehrfach.

Die Header-Prüfsumme setzen wir auch gleich neu, denn es gibt ein paar Installer, die aufgrund einer falschen CheckSum die Datei andernfalls nochmals neu installieren wollen.

Sonstige andere Hinweise:

Da das Programm bestehende Anwendungen modifiziert, könnten Meldungen von Virenscannern und anderen Schutzprogrammen auftauchen, was Anwender evtl. verunsichern könnte.

Die Modifikation bestehender Programme ist in der Lizenzvereinbarung / im Copyright möglicherweise ausgeschlossen. Auf jeden Fall muss davon ausgegangen werden, das ein Hersteller eine gepatchte Version nicht supportet.

Es wird vermutet, dass ein Service Pack 1 zu Visual FoxPro 9.0 in absehbarer Zeit erscheint und der Fehler dort beseitigt sein könnte. Dieser Patch ist möglicherweise nur eine temporär notwendige Übergangslösung, hilft aber einigen Entwicklern auf die Schnelle weiter.

Die Patch-Anwendung darf kostenlos verwendet und zusammen mit der Beschreibung auch an Dritte weitergegeben werden. Allerdings bitten wir darum, die Dateien nicht im Internet bereitzustellen sondern mit einem Link auf unser Freeware-Verzeichnis zu verweisen.

Updates und Aktualisierungen zu dieser Patch-Anwendung finden Sie exklusiv im Verzeichnis http://portal.dfpug.de/dFPUG/Dokumente/Freeware/ im dFPUG-Dokumenten-portal.

Sofern Sie weitere Fragen haben, wenden Sie sich bitte an das dFPUG-Forum unter http://forum.dfpug.de oder an die inhaltsgleiche Newsgroup unter news://news .dfpug.de jeweils an die Sektion/Gruppe zum Thema Visual FoxPro 9.0.

Besonderen Dank!

Besonderen Dank seitens der dFPUG an unseren Regionalleiter Erich Todt, der das Patch mitsamt Installationsroutine kurzfristig bereitstellte!

deutschsprachige FoxPro User Group:

Die deutschsprachige FoxPro User Group betreut 800 Mitgliedsfirmen in Deutschland, Österreich und der Schweiz. Für ca. EUR 10,- pro Monat erhalten Mitgliedsfirmen unsere vierteljährliche Loseblattsammlung FoxX Professional (je ca. 200 Seiten DIN A4), Vollzugriff auf die umfangreichste Dokumentensammlung zu Visual FoxPro in unserem Dokumentenportal, Telefonhotline sowie vergünstigten Eintritt für dFPUG-Veranstaltungen.

Dazu gibt es eine Vielzahl von weiteren Angeboten wie unser interaktives Forum, Regionaltreffen in einer Vielzahl von Städten, einen kostenlosen elektronischen Newsletter. Besuchen Sie unsere Webseiten unter:

Homepage:
http://www.dfpug.de

Dokumentenportal:
http://portal.dfpug.de

Diskussionsforum:
http://forum.dfpug.de

eNewsletter:
http://newsletter.dfpug.de

Online-Shop:
http://shop.dfpug.de

Wiki/LiveFAQ:
http://faq.dfpug.de

Newsfeeds:
http://afp.dfpug.de

Framework:
http://www.visualextend.de

Konferenz:
http://devcon.dfpug.de

Roadshow:
http://roadshow.dfpug.de

Weitere Buchtitel:
http://www.linuxtransfer.de

In unserem Online-Shop sowie unter dem Reiter Shop auf der Homepage finden Sie eine Vielzahl von Angeboten rund um die neue Version Visual FoxPro 9.0, unter anderem:

·        Visual FoxPro 9.0 Update / Vollversion International „Deutsch“ incl. Lokalisierungs-CD mit deutscher Benutzeroberfläche (keine Importversion!)

·        Lokalisierungs-CD mit deutscher Benutzeroberfläche / Berichtsdesigner uvam

·        Visual FoxPro 9.0 Updatebuch mit Beschreibung aller neuen Features

·        Framework Visual Extend 9.0 Update/Vollversion für Visual FoxPro 9.0

·        Gedrucktes deutsches Handbuch Visual Extend 9.0 (in Vollversion enthalten)

·        Active Extend für Visual Extend 9.0 für Webentwicklung (i.V.)

·        Buchtitel „Effiziente Anwendungsentwicklung mit VFP 9.0“ (i.V.)

·        Hilfedatei zum neuen VFP9-Berichtsdesigner für Endanwender (i.V.)

Registrieren Sie sich bei unserem kostenlosen eNewsletter!

Melden Sie sich als Mitglied bei der dFPUG an für Vollzugriff auf unser Portal!

dFPUG c/o ISYS GmbH
Z.Hd. Herrn Rainer Becker
Frankfurter Str. 21b
61476 Kronberg

Germany