Download - COM-Server in Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 WebCast COM.

Transcript
Page 1: COM-Server in Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 WebCast COM.

COM-ServerCOM-Serverin Visual FoxPro 9.0in Visual FoxPro 9.0

deutschsprachige FoxPro User Groupdeutschsprachige FoxPro User Group

Rainer BeckerRainer Becker

Microsoft Visual FoxPro 9.0 WebCastMicrosoft Visual FoxPro 9.0 WebCast

COM

Page 2: COM-Server in Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 WebCast COM.

Teil 9: Arbeiten mit COM-ServerTeil 9: Arbeiten mit COM-Server

Mittwoch, 12.10.2005, 16:00 – 17:00 UhrMittwoch, 12.10.2005, 16:00 – 17:00 Uhr Beschreibung: Auch wenn Visual FoxPro optimal für Beschreibung: Auch wenn Visual FoxPro optimal für

die schnelle Erstellung von schnellen Benutzer-die schnelle Erstellung von schnellen Benutzer-oberflächen für Datenbanken ist, also für die oberflächen für Datenbanken ist, also für die Erstellung klassischer 2-Schichten-Anwendungen, Erstellung klassischer 2-Schichten-Anwendungen, besteht die einfache Möglichkeit, auch COM-Server besteht die einfache Möglichkeit, auch COM-Server zu erstellen. Selbige können in einem weiteren Schritt zu erstellen. Selbige können in einem weiteren Schritt in Webservices umgewandelt werden (siehe Folge-in Webservices umgewandelt werden (siehe Folge-WebCast). Wir zeigen Ihnen in diesem Webcast, was WebCast). Wir zeigen Ihnen in diesem Webcast, was dafür notwendig ist. dafür notwendig ist.

Page 3: COM-Server in Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 WebCast COM.

Rainer BeckerRainer Becker

dFPUGdFPUG Online-AngeboteOnline-Angebote LoseblattsammlungLoseblattsammlung

VFP-EntwicklerkonferenzVFP-Entwicklerkonferenz VFP-LokalisierungVFP-Lokalisierung Framework Visual ExtendFramework Visual Extend MVP, MCP, ISVMVP, MCP, ISV Wizards & Builders GmbHWizards & Builders GmbH

Page 4: COM-Server in Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 WebCast COM.

Wie bekomme ich VFP ?Wie bekomme ich VFP ?

Update von 6.0, 7.0, 8.0 sowie VS 97Update von 6.0, 7.0, 8.0 sowie VS 97 Nicht von VFP 5.0 oder früherNicht von VFP 5.0 oder früher

Internationale und US/Canada-VersionInternationale und US/Canada-Version Preisunterschied durch DollarverfallPreisunterschied durch Dollarverfall Technisch identischTechnisch identisch Kein Support / Marketingbudget für US-Version in BRDKein Support / Marketingbudget für US-Version in BRD

dFPUG bietet exklusiv „Deutsche Version“dFPUG bietet exklusiv „Deutsche Version“ Benutzeroberfläche, Berichtsdesigner, WerkzeugeBenutzeroberfläche, Berichtsdesigner, Werkzeuge

Page 5: COM-Server in Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 WebCast COM.

VortragsthemenVortragsthemen COM AllgemeinCOM Allgemein COM-Objekt / OLEPublicCOM-Objekt / OLEPublic Erstellung von EXE oder DLLErstellung von EXE oder DLL Type Library / DokumentationType Library / Dokumentation ErstellungErstellung RegistrierungRegistrierung AuslieferungAuslieferung ProgrammierhinweiseProgrammierhinweise

Page 6: COM-Server in Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 WebCast COM.

Component Object ModelComponent Object Model

COM (Component Object Model) ist ein Microsoft COM (Component Object Model) ist ein Microsoft Standard, der es anderen Applikationen, wie zum Standard, der es anderen Applikationen, wie zum Beispiel Active Server Pages oder Microsoft Office Beispiel Active Server Pages oder Microsoft Office erlaubt, auf Funktionalität der eigenen Applikation erlaubt, auf Funktionalität der eigenen Applikation zuzugreifenzuzugreifen

Man kann jedem Client, der COM-Objekte Man kann jedem Client, der COM-Objekte ansprechen kann, über COM beliebige Funktionalität ansprechen kann, über COM beliebige Funktionalität zur Verfügung stellenzur Verfügung stellen

Dies gilt also bi-direktional (von/aus VFP)Dies gilt also bi-direktional (von/aus VFP)

Page 7: COM-Server in Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 WebCast COM.

Bekannte COM-Server IBekannte COM-Server I

Microsoft Word und Microsoft ExcelMicrosoft Word und Microsoft Excel VFP kann auf diese Applikationen als Client VFP kann auf diese Applikationen als Client

problemlos zugreifen, problemlos zugreifen, oWord=oWord=createobject(„Word.Application“)createobject(„Word.Application“)

Die Funktionalität eines COM-Servers kann man im Die Funktionalität eines COM-Servers kann man im VFP Objekt Browser sehenVFP Objekt Browser sehen

Intellisense unterstützt VFP bzgl. der benötigten Intellisense unterstützt VFP bzgl. der benötigten Methoden und Eigenschaften z.B. local oExcel as Methoden und Eigenschaften z.B. local oExcel as ‚Excel.application‘‚Excel.application‘

Page 8: COM-Server in Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 WebCast COM.

Bekannte COM-Server IIBekannte COM-Server II

Der COM Client (z.B. der Object Browser) kann die Der COM Client (z.B. der Object Browser) kann die verfügbare Funktionalität eines COM-Servers über verfügbare Funktionalität eines COM-Servers über die sogenannte Type Library erfahrendie sogenannte Type Library erfahren

Indem man andere COM-Server in eigenen VFP Indem man andere COM-Server in eigenen VFP Projekten verwendet, kann man VFP-Funktionalität Projekten verwendet, kann man VFP-Funktionalität beliebig erweitern. z.B. Excel für alle beliebig erweitern. z.B. Excel für alle Rechenaufgaben einsetzen...Rechenaufgaben einsetzen...

Das Ansteuern eines anderen COM-Servers nennt Das Ansteuern eines anderen COM-Servers nennt man auch OLE-Automationman auch OLE-Automation

Page 9: COM-Server in Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 WebCast COM.

COM-ObjektCOM-Objekt

COM-Server benötigt ein Objekt OLE-Public COM-Server benötigt ein Objekt OLE-Public Es muss sich nicht um ein Geschäftsobjekt handelnEs muss sich nicht um ein Geschäftsobjekt handeln

Sehr oft sind die eigentlichen Geschäftsobjekte nicht wirklich für Sehr oft sind die eigentlichen Geschäftsobjekte nicht wirklich für einen Aufruf von außen geeignet!einen Aufruf von außen geeignet!

Es muss sich um ein Objekt handelnEs muss sich um ein Objekt handeln Zumindest ein Wrapper-Objekt für Funktionen ist notwendigZumindest ein Wrapper-Objekt für Funktionen ist notwendig

Basierend auf einer Klasse (Control/Container)Basierend auf einer Klasse (Control/Container) Aufruf via „createobject“ aus anderen AnwendungenAufruf via „createobject“ aus anderen Anwendungen Methoden/Eigenschaften sind sichtbar/modifizierbar und Methoden/Eigenschaften sind sichtbar/modifizierbar und

müssen daher geschützt werden (siehe unten)müssen daher geschützt werden (siehe unten)

Page 10: COM-Server in Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 WebCast COM.

OLE Public / ErstellungsoptionenOLE Public / Erstellungsoptionen

Page 11: COM-Server in Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 WebCast COM.

EXE / DLL (single/multi)EXE / DLL (single/multi) Ein In-Process COM-Server ist eine DLL welche im Ein In-Process COM-Server ist eine DLL welche im

Speicherbereich des Clients instanziiert wird. Diese COM Speicherbereich des Clients instanziiert wird. Diese COM Server Art kann Server Art kann keinekeine direkte Interaktion mit dem User direkte Interaktion mit dem User Interface haben Interface haben OLE Fehler wird erzeugt OLE Fehler wird erzeugt Single Threaded: Single Threaded: Jede Clientanwendung erhält eine eigene Jede Clientanwendung erhält eine eigene

Instanz des COM ServersInstanz des COM Servers Multi Threaded: Multi Threaded: Verschiedene Clientanwendung können sich Verschiedene Clientanwendung können sich

die gleiche Instanz des COM Servers „teilen“die gleiche Instanz des COM Servers „teilen“ Details beziehen sich auf Einsatz der COM Server unter MTS/COM+Details beziehen sich auf Einsatz der COM Server unter MTS/COM+

Ein Out-of-Process COM-Server ist eine EXE, welche in Ein Out-of-Process COM-Server ist eine EXE, welche in einem eigenen Speicherbereich läuft. einem eigenen Speicherbereich läuft. Dieser COM-Server kann ein User Interface haben!Dieser COM-Server kann ein User Interface haben!

Page 12: COM-Server in Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 WebCast COM.

Type LibrariesType Libraries Die Type Library ist eine binäre Datei welche alle öffentlichen Die Type Library ist eine binäre Datei welche alle öffentlichen

Klassen des COM Servers mit deren Methoden, Attributen Klassen des COM Servers mit deren Methoden, Attributen und Events beschreibt. Eine Type Library kann vorliegen als:und Events beschreibt. Eine Type Library kann vorliegen als:

Ein eigene binäre Datei (.TLB,.OLB)Ein eigene binäre Datei (.TLB,.OLB) Integriert in eine DLLIntegriert in eine DLL In eine EXE hineinkompiliertIn eine EXE hineinkompiliert In ein ActiveX Control integriertIn ein ActiveX Control integriert

Wenn Sie ein Projekt mit OLEPUBLIC Klassen unter VFP Wenn Sie ein Projekt mit OLEPUBLIC Klassen unter VFP kompilieren erhalten Sie 3 Dateien:kompilieren erhalten Sie 3 Dateien: Die DLL oder EXE mit dem ProjektnamenDie DLL oder EXE mit dem Projektnamen Eine Type Library (.TLB)Eine Type Library (.TLB) Eine Registry Datei (.VBR)Eine Registry Datei (.VBR)

Page 13: COM-Server in Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 WebCast COM.

COM-Server DokumentationCOM-Server Dokumentation

Andere Entwickler welche Ihre Komponenten verwenden, Andere Entwickler welche Ihre Komponenten verwenden, erhalten nur die Information welche Sie in der Description erhalten nur die Information welche Sie in der Description (Beschreibung) abgelegt haben (Klasse, Attribute, Methoden)(Beschreibung) abgelegt haben (Klasse, Attribute, Methoden)

COM Server Methoden sollten daher in der Beschreibung COM Server Methoden sollten daher in der Beschreibung enthalten:enthalten: Beschreibung der zu übergebenden ParameterBeschreibung der zu übergebenden Parameter High-Level Beschreibung der MethodeHigh-Level Beschreibung der Methode Was macht die MethodeWas macht die Methode Beschreibung des Return WertesBeschreibung des Return Wertes

Page 14: COM-Server in Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 WebCast COM.

Bessere Dokumentation in PRG!Bessere Dokumentation in PRG! COMATTRIB (nur in PRG Dateien):COMATTRIB (nur in PRG Dateien):

Festlegen welchen Status eine Property/Methode hat Festlegen welchen Status eine Property/Methode hat (nFlags bzw [1]) (nFlags bzw [1])

Restricted, Hidden, NonBrowsableRestricted, Hidden, NonBrowsable Hilfe String festlegen [2]Hilfe String festlegen [2] Gross/Kleinschreibung erhalten (Capitalisation) [3]Gross/Kleinschreibung erhalten (Capitalisation) [3] PropertyTyp angeben [4]PropertyTyp angeben [4] Anzahl Parameter [5]Anzahl Parameter [5]

Diese Einstellungen wandern nur in die TLB (reine Diese Einstellungen wandern nur in die TLB (reine Information) und werden nicht enforcedInformation) und werden nicht enforced Es erfolgt also keine tatsächliche Typprüfung o.ä.Es erfolgt also keine tatsächliche Typprüfung o.ä.

Page 15: COM-Server in Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 WebCast COM.

Beispiel programmatischBeispiel programmatischDEFINE CLASS PrgDemo AS Session OLEPUBLICDEFINE CLASS PrgDemo AS Session OLEPUBLIC

PROCEDURE GetDateTimePROCEDURE GetDateTimeRETURN "Timestamp: "+TRANSFORM(DATETIME())RETURN "Timestamp: "+TRANSFORM(DATETIME())

ENDPROCENDPROCGetDateTime_COMATTRIB = COMATTRIB_NONBROWSABLEGetDateTime_COMATTRIB = COMATTRIB_NONBROWSABLE

iAnzahl = 0iAnzahl = 0

DIMENSION iAnzahl_COMATTRIB[4] DIMENSION iAnzahl_COMATTRIB[4] iAnzahl_COMATTRIB[1] = COMATTRIB_READONLYiAnzahl_COMATTRIB[1] = COMATTRIB_READONLYiAnzahl_COMATTRIB[2] = „Anzahl der Einträge“ && HilfeiAnzahl_COMATTRIB[2] = „Anzahl der Einträge“ && HilfeiAnzahl_COMATTRIB[3] = „iAnzahl“ && Gross/Kleinschr.iAnzahl_COMATTRIB[3] = „iAnzahl“ && Gross/Kleinschr.iAnzahl_COMATTRIB[4] = „Integer“ && Typ AngabeiAnzahl_COMATTRIB[4] = „Integer“ && Typ Angabe......

Page 16: COM-Server in Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 WebCast COM.

Access/Assign und ParameterAccess/Assign und Parameter

Geschützte Methoden / EigenschaftenGeschützte Methoden / Eigenschaften Kleine Schnittstelle: Eigenschaften / Methoden ausblendenKleine Schnittstelle: Eigenschaften / Methoden ausblenden Extensive Parameterprüfung in MethodenExtensive Parameterprüfung in Methoden Zugriffs-Methoden für Eigenschaften verwendenZugriffs-Methoden für Eigenschaften verwenden

Assign- & Access-MethodenAssign- & Access-Methoden Vartype und gültige Werte (Werteliste, Datum usw.)Vartype und gültige Werte (Werteliste, Datum usw.) Formattierung (Großbuchstaben, Leerzeichen)Formattierung (Großbuchstaben, Leerzeichen) Schreibgeschützte EigenschaftenSchreibgeschützte Eigenschaften Ausschließlich interner Zugriff (hidden property switch)Ausschließlich interner Zugriff (hidden property switch)

Page 17: COM-Server in Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 WebCast COM.

Sonstige VorbereitungenSonstige Vorbereitungen

Überprüfung des StartmodusÜberprüfung des StartmodusINLIST( _vfp.startmode, 2,3,5 )INLIST( _vfp.startmode, 2,3,5 )

Automation Server Unattended Mode ausschaltenAutomation Server Unattended Mode ausschalten=SYS(2335,1)=SYS(2335,1)

Fehlerbehandlung integrierenFehlerbehandlung integrieren=COMRETURNERROR=COMRETURNERROR

Sollte auch aus Access/Assign-Methoden aufgerufen werdenSollte auch aus Access/Assign-Methoden aufgerufen werden

Setzen Sie alle Ihre Einstellungen Setzen Sie alle Ihre Einstellungen Uralt: Strg+OK liefert alle Optionen…Uralt: Strg+OK liefert alle Optionen…

Page 18: COM-Server in Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 WebCast COM.

ProjektdefinitionProjektdefinition

Hauptprogramm hinzufügen…Hauptprogramm hinzufügen… Testprogramm eignet sich dafürTestprogramm eignet sich dafür

Tabellen für Steuerdaten inkludierenTabellen für Steuerdaten inkludieren Config.fpw inkludierenConfig.fpw inkludieren

SCREEN = OFFSCREEN = OFF (kein VFP-Desktop sichtbar) (kein VFP-Desktop sichtbar) RESOURCE=OFFRESOURCE=OFF (keine Anlage Foxuser.dbf) (keine Anlage Foxuser.dbf) ALLOWEXTERNAL=ON (zusätzliche config.fpw mögl.)ALLOWEXTERNAL=ON (zusätzliche config.fpw mögl.)

Sichtbar schalten sofern sinnvollSichtbar schalten sofern sinnvoll

Page 19: COM-Server in Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 WebCast COM.

Ausführung des COM-ServersAusführung des COM-Servers

Beispiel in Excel:Beispiel in Excel: Dim loRef as ObjectDim loRef as Object On Error Goto SomeErrorOn Error Goto SomeError Set loRef = createobject(„exe.obj“)Set loRef = createobject(„exe.obj“) … … other operationsother operations Set loRef = NothingSet loRef = Nothing

Excel-Entwickler lieben VFP-Datenzugriff, da er viel Excel-Entwickler lieben VFP-Datenzugriff, da er viel einfacher für Sie ist als ODBC/ADO!einfacher für Sie ist als ODBC/ADO!

Page 20: COM-Server in Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 WebCast COM.

TypeLib-AbfrageTypeLib-Abfrage

Der Object Browser Der Object Browser (Objektkatalog) kann Type (Objektkatalog) kann Type Libraries auslesen und Libraries auslesen und anzeigenanzeigen

Informationen zu einem Informationen zu einem COM-Server können per COM-Server können per Drag & Drop in VFP Drag & Drop in VFP übernommen werden übernommen werden

Page 21: COM-Server in Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 WebCast COM.

Registrierung COM-ServerRegistrierung COM-Server

Wenn Sie aus einem VFP Projekt einen COM Server Wenn Sie aus einem VFP Projekt einen COM Server kompilieren, dann werden alle OLE Public Klassen kompilieren, dann werden alle OLE Public Klassen automatisch auf dem automatisch auf dem lokalenlokalen Rechner registriert Rechner registriert

Wenn Sie mit den gängigen Installations-tools (Installshield, Wenn Sie mit den gängigen Installations-tools (Installshield, Wise..) ein Setup erstellen, so werden die COM Komponenten Wise..) ein Setup erstellen, so werden die COM Komponenten automatisch auf dem Rechner registriertautomatisch auf dem Rechner registriert

Sie können dies auch manuell mit Hilfe der Windows Tools Sie können dies auch manuell mit Hilfe der Windows Tools RegServer, UnRegServer und RegSrv32 erledigenRegServer, UnRegServer und RegSrv32 erledigen

Wenn VFP nicht installiert ist, muss zuerst die VFP Runtime Wenn VFP nicht installiert ist, muss zuerst die VFP Runtime installiert werden, damit der COM-Server lauffähig ist!installiert werden, damit der COM-Server lauffähig ist!

Page 22: COM-Server in Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 WebCast COM.

Auslieferung des COM-ServersAuslieferung des COM-Servers

Laufzeitverzeichnis enthältLaufzeitverzeichnis enthält <IhrServer>.exe<IhrServer>.exe VFP9R.DLL, VFP9RENU.DLLVFP9R.DLL, VFP9RENU.DLL GDIPLUS.DLLGDIPLUS.DLL REGSVR32.EXEREGSVR32.EXE

MSVCR71.DLL in system32MSVCR71.DLL in system32 Regsvr32.exe vfp9r.dllRegsvr32.exe vfp9r.dll <IhrServer>.exe /regserver<IhrServer>.exe /regserver

Page 23: COM-Server in Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 WebCast COM.

QuerverweiseQuerverweise

06-17 Entwickeln und Debuggen von COM Servern06-17 Entwickeln und Debuggen von COM Servern

Page 24: COM-Server in Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 WebCast COM.

Weiterführendes MaterialWeiterführendes Material

Visual FoxPro 9.0Visual FoxPro 9.0 UpdatebuchUpdatebuch Roadshow-CDRoadshow-CD Lokalisierungs-CDLokalisierungs-CD

Visual FoxPro 8.0Visual FoxPro 8.0 UpdatebuchUpdatebuch Deutsche HilfedateiDeutsche Hilfedatei

Online-Angebote der dFPUGOnline-Angebote der dFPUG Forum, Portal, eNewsletter, Homepage, WikiForum, Portal, eNewsletter, Homepage, Wiki

Page 25: COM-Server in Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 WebCast COM.

Teil 10: Arbeiten mit WebServicesTeil 10: Arbeiten mit WebServices

Mittwoch, 19.10.2005, 16:00 – 17:00 UhrMittwoch, 19.10.2005, 16:00 – 17:00 Uhr Beschreibung: Gerne wird Visual FoxPro für die Beschreibung: Gerne wird Visual FoxPro für die

schnelle Anwendungsentwicklung von Desktop-schnelle Anwendungsentwicklung von Desktop-Applikationen oder von Client/Server-Applikationen Applikationen oder von Client/Server-Applikationen verwendet. Aber auch die Erstellung von verwendet. Aber auch die Erstellung von WebServices stellt mit dieser leistungsfähigen WebServices stellt mit dieser leistungsfähigen Entwicklungsumgebung keinerlei Problem dar! Die Entwicklungsumgebung keinerlei Problem dar! Die schnellen Datenbank- und Stringfunktionen erlauben schnellen Datenbank- und Stringfunktionen erlauben die leichte Erstellung von performanten Diensten für die leichte Erstellung von performanten Diensten für eine verteilte Anwendung. eine verteilte Anwendung.

Page 26: COM-Server in Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 WebCast COM.

Vielen Dank!Vielen Dank!

Fragen an [email protected] an [email protected] (besser) http://forum.dfpug.de oder (besser) http://forum.dfpug.de

Besuchen Sie unsere Webseiten: Besuchen Sie unsere Webseiten: http://www.dfpug.dehttp://www.dfpug.de, , http://portal.dfpug.dehttp://portal.dfpug.de, , http://forum.dfpug.dehttp://forum.dfpug.de, ,

http://newsletter.dfpug.dehttp://newsletter.dfpug.de, , http://devcon.dfpug.dehttp://devcon.dfpug.de, , http://roadshow.dfpug.de, http://www.visualextend.de, http://roadshow.dfpug.de, http://www.visualextend.de,

http://www.linuxtransfer.de, http://www.visualfoxpro.de http://www.linuxtransfer.de, http://www.visualfoxpro.de