[ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ]

Hier kann der Benutzer dieselben Informationen, welche sonst im Systemparameter Dialog erfasst werden, erstmalig setzen. Anschliessend wird wieder die "dummy" Remote View "rvstart" geöffnet, welche eine Connection quasi für alle noch zu öffnenden Remote Views öffnet. Wenn alle remote views die Eigenschaft "share connection" besitzen, klappt es auch, dass diese eine Connection für alle Remote Views ein und dieselbe bleibt.

Arbeiten mit Stored Procedures aus VFP heraus

Sehr häufig steht man vor der Situation, dass man eine auf dem SQL Server vorhandene Stored Procedure aus VFP heraus aufrufen muss. Hier ein Beispiel eines solchen Codes:

    lcSQL = "usp_CalcElection "+str(rvelection.subitemid) 
    if llTransOk and vfxsqlexec(thisForm.nSQLConnection,lcSQL,"",.t.) <= 0 
    aerror(laerror) 
    thisForm.otvsystem.logErr(laerror[1,3]) 
    llTransOk = .F. 
    endif

Die "sql-proxy" Funktion vfxsqlexec ruft die Stored Procedure schlussendlich in der folgenden Form auf:

    sqlexec(tnconnection, tcSQL, tcCursor)

Die Parameterübergabe erfolgt auf die Weise, dass zum Namen der Stored Procedure die Argumente (by value) mitgegeben werden.

Anwendungsbeispiele

VFX Client/Server Anwendungsbeispiel

VFX ist ein Framework, welches vor allem seit der Version 6.0 sehr weitreichende Client/Server Funktionalitäten beinhaltet und in diese Richtung auch laufend weiter entwickelt wird.

Eine mit VFX 6.0 entwickelte Client/Server Anwendung lebt auch dem Grundgedanken nach, dass nicht beliebige Daten vom Server zum Client transferiert werden, sondern dass der Benutzer bevor er irgendwelche Daten zu Gesicht bekommt, diese explizit anfordern muss.

Nun gibt es sicher verschiedenste Möglichkeiten, den Benutzer aufzufordern, er solle sich für einen Datenbezug entscheiden. Im VFX Framework wird dies folgendermassen vollzogen.

Wenn der Benutzer ein Form startet, wird Ihm zunächst eine Selektionsmaske, welche auf der Klasse CAskViewArg bzw. bei unterschiedlichen Datenabfragevarianten auf demselben Form, af der Klasse CAskViewArgPgf basiert. Im folgenden Beispiel wird die Verwendung mit der Klasse CAskViewArgPgf erläutert.

In der oberen Combobox kann der Benutzer wählen, nach welcher Art er seine Daten beziehen will. Je nach Komplexität der Anwendung kann es hierbei durchaus meherer Seiten geben. Jeder angewählte Art entspricht intern einer bestimmten Seite und hat zur Folge, dass eine bestimmte View verwendet wird um die Daten zu beziehen. Das Geniale an diesem Ansatz ist, dass das Grundform dasselbe bleibt, und zur Laufzeit die benötigte Remote View ausgetauscht wird. Nachdem der Benutzer seine Selektionskriterien eingegeben hat, kann er die Daten im ganz normalen Datenmanipulations Bildschirm einsehen:

Wird die Auswahlliste aufgerufen, so muss, je nachdem, wieviele Datensätze in der Auswahltabelle existieren, mit einer Einschränkungsmöglichkeit operiert werden. In diesem Bsp. kann der Anwender z.B. einschränken und angeben, er will nur die Adressen, welche mit "dev" beginnen:

das zugehörige Property Sheet sieht so aus:

Ich werde in der Session auf die Implementierungsdetails eingehen und ausführlich beschreiben, wie die oben beschriebene Funktionalität erreicht wird.

Distribution von C/S Anwendungen mit MSDE

Die Distribution von Client/Server Anwendungen mit MSDE ist dank vorgefertigter Installationsroutine eigentlich recht leicht zu bewerkstelligen. Will man jedoch in ein und derselben Installationsumgebung dem Benutzer die Möglichkeit geben

  • die MSDE Datenbank zu installieren,
  • die benötigte Datenbank anzulegen,
  • mit sinnvollen Demodaten zu versehen
  • eine Server Installation der Anwendung mit allen Applikationsdateien inkl. DBC, sowie
  • ein Client Setup mit der VFP Runtime und aller ActiveX Komponenten

Wir haben zu diesem Zweck mit VB 6.0 ein Installations Paket geschrieben, welches all diese Punkte transparent abdeckt und Ohne VB Programmierkenntnisse den eigenen Bedürfnissen angepasst werden kann. Ich werde an der Session weitere Informationen zu diesem Thema abgeben.

Schlussbemerkung

Das Verständnis, wie Transaktionale Prozesse unter Verwendung bestehender Remote Views als auch SPT Anweisungen kombiniert werden können, eröffnet für das Erstellen von robusten, transaktionalen VFP Client/Server Anwendungen Tür und Tor. Es ist klar, dass spätestens jetzt, wo es MSDE als kostenlose SQL Server 7.0 kompatible Datenbank für das Verteilen und Betreiben von Client/Server Anwendungen gibt, die Frage, ob man eine neue Anwendung als File Server Anwendung mit "dbf" Dateien, oder als eine Client/Server Anwendung erstellen soll, immer häufiger zu Gunsten der Client/Server Architektur entschieden wird. VFP Ist ein ausgezeichnetes Tool um hervorragende Client/Server Anwendungen zu erstellen und mit VFX steht dem Client/Server Entwickler ein ausgewachsenes und reifes Framework zur Verfügung.

[ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ]