Visual Foxpro - *.exe erstellen

Ich habe jahrelang nicht mehr in Foxpro programmiert.
Wo kann ich eine ganz einfache Anweisung finden, wie man
aus Foxpro heraus eine selbständig laufende Exe-Datei erstellt - die auch ein User, der das VFP-Programm NICHT
hat - wie der damit etwas anfangen kann.

Was muss alles neben dem eigentlich *.prg-Programm mitgeliefert werden (welche dll-Dateien) - und wo genau gehören die read events und clear-event Befehle in der Anwendung hin, damit das Programm nicht gleich beim Anwender wieder verschwindet?

Am liebsten wäre mir ein winziges „Hallo-World“ Programm-Snippet als Beispiel.

Hallo Klaus,
Startprogramm mit folgendem Inhalt:
** ------------------------------------------------------------------------- **
***************************************
** Diese SETS prüfen und gegebenenfalls löschen/ändern
SET ANSI OFF
SET BELL OFF
SET BLOCKSIZE TO 64
SET CARRY OFF
SET CENTURY ON
SET CLOCK STATUS
SET COLLATE TO „“
SET COMPATIBLE OFF
SET CONFIRM ON
SET CPDIALOG OFF
SET CURRENCY RIGHT
SET CURRENCY TO " €"
SET DATE TO GERMAN
SET DECIMALS TO 2
SET DELETED ON
SET ESCAPE OFF
SET EXACT ON
SET EXCLUSIVE OFF
SET FDOW TO 2
SET FWEEK TO 2
SET HEADINGS ON
SET HOURS TO 24
SET KEYCOMP TO WINDOWS
SET LOCK OFF
SET MARK TO „.“
SET MULTILOCKS ON
SET NEAR OFF
SET NOTIFY ON
SET NULL ON
SET NULLDISPLAY TO SPACE(1)
SET ODOMETER TO 100
SET OPTIMIZE ON
SET PALETTE OFF
SET POINT TO „,“
SET REFRESH TO 5, 1
SET REPROCESS TO AUTOMATIC
SET SAFETY OFF
SET SECONDS ON
SET SEPARATOR TO „.“
SET STRICTDATE TO 1
SET SYSFORMATS OFF
SET TALK OFF
SET UNIQUE OFF

***************************************

** Hier Hauptform aufrufen
DO FORM frmMain.scx
*’#########################################################
READ EVENTS && ###########
*’#########################################################
CLEAR ALL
CLOSE DATABASES ALL
RETURN
** ------------------------------------------------------------------------- **

Bei mir läuft i.d.R. eine Hauptform modal, ohne Screen. Dort einenen Button mit folgendem Click-Code

** ------------------------------------------------------------------------- **
#INCLUDE …FOXPRO.H
IF MESSAGEBOX(„Wollen Sie das Programm“ + CHR(13)+ „wirklich beenden?“, MB_YESNO + MB_ICONQUESTION + MB_DEFBUTTON2 + MB_SYSTEMMODAL , THISFORM.CAPTION) == IDYES
CLEAR EVENTS
THISFORM.RELEASE
ELSE
NODEFAULT
ENDIF

** ------------------------------------------------------------------------- **

Thema für FoxPro-Programme auf anderen Rechnern laufen zu lassen findest Du hier:

http://msdn.microsoft.com/de-de/library/aa903381(VS…

Eine Gute Adresse mit massig Infos findest Du hier:
http://www.dfpug.de

Ich hoffe dass Du damit klar kommts…

Gruss ms

Hallo Klaus,

es kommt darauf an, welche VFP-Version Du hast. Du musst 4 DLL-Dateien in dem Verzeichnis liegen haben, in dem Du die EXE erstellst. Wenn es ein deutsches Programm sein soll (deutsches Datum, Umlaute usw.) musst Du z.B. bei VFP8 folgende Dateien mit dem Namen

  • VFP8ENU.DLL
    -VFP8KOR.DLL
  • VFP8CHT.DLL
  • VFP8CHS.DLL
    in das Verzeichnis legen, in dem Du die EXE erstellst. Auf „build“ klicken bzw. auf „erstellen“.
    Damit das Ganze läuft, musst Du den Window-Type „modal“ wählen.
    In das Init-Event der Maske musst Du folgendes schreiben:

set talk off
set sysmenu off
set status bar off

Viele Grüße
Jens

Klick im ProjektManager auf „Build“, dort den Haken setzen bei „Win32 executable / COM server (exe)“, und „ok“ drücken, und schon ist die EXE fertig.

Für die Runtime beim User gibts fertige Setup-Programme, die einfach installiert werden können, etwa „http://code.msdn.microsoft.com/FoxPro/Release/Projec…“.

Wenn die Runtime installiert ist, kann die EXE einfach doppelgeklickt werden oder per Verknüpfung gestartet werden.

Damit sich das Programm nicht von selbst schließt, einfach nach dem Laden den Befehl „READ EVENTS“ einbauen, um die Ereignisverarbeitung zu starten. Wenn er beenden soll, dann einfach „CLEAR EVENTS“ oder „QUIT“.

Hallo Michael, vielen Dank für Deinen Beitrag.
Ich werde das in den nächsten Tagen mal ausprobieren.
Gruß
Klaus

Hallo Jens, vielen Dank für die Hilfe - so langsam komme ich dahinter, wie man es macht…aber…
Ich wüsste jetzt noch gern, WO und WIE man in einem Projekt die Eigenschaft „Modal“ einstellt…

Hallo Matthias, vielen Dank für die schnelle Hilfe.
Was heisst jetzt „nach dem Laden“ READ EVENTS einbauen - ist das dann beim INIT oder beim LOAD einzugeben?

Gruss
Klaus

Hallo Klaus,

  1. Maske bearbeiten
  2. Eigenschaftenfenster (properties) Reiter ganz rechts „Other“ oder „andere“
  3. WindowType durch Anklicken auf „1 modal“ stellen

Melde dich, wenn’s nicht klappt.
Viele Grüße
Jens

Hallo Jens, vielen Dank für die Hilfe - so langsam komme ich
dahinter, wie man es macht…aber…
Ich wüsste jetzt noch gern, WO und WIE man in einem Projekt
die Eigenschaft „Modal“ einstellt…

Wo kann ich eine ganz einfache Anweisung finden, wie man
aus Foxpro heraus eine selbständig laufende Exe-Datei erstellt

  • die auch ein User, der das VFP-Programm NICHT
    hat - wie der damit etwas anfangen kann.

Was muss alles neben dem eigentlich *.prg-Programm
mitgeliefert werden (welche dll-Dateien) - und wo genau
gehören die read events und clear-event Befehle in der
Anwendung hin, damit das Programm nicht gleich beim Anwender
wieder verschwindet?

Am liebsten wäre mir ein winziges „Hallo-World“
Programm-Snippet als Beispiel.

Na das hört sich an als ob noch nie mit Foxpro gearbeitet wurde.
Mal so als erstes wei wäre es mal mit Hilfe lesen F1?
compiliert wird mit compile.
Nur ein Prg? Also keine Oberfläche? Kein Form?
Von welchem VFP reden wir?
Klicke mal auf Tools und dann auf Taskpane … dort drin findest du oben die Solution Samples …