IR
irwinrodriguez.dev
FC Dauerhafte Lizenz · Einmalige Zahlung

Ein aufwändiger Prozess friert die Oberfläche Ihrer VFP-Anwendung ein, bis er fertig ist.

Hintergrund­aufgaben. Immer bedienbare Oberfläche.

Führen Sie aufwändige Prozesse aus (Importe, Berichte, API-Aufrufe), ohne die Oberfläche Ihrer VFP-Anwendung zu blockieren. Jede Aufgabe läuft in ihrem eigenen VFP-Prozess, mit dem Code, den Sie schon haben: bis zu 64 gleichzeitig, voreingestellt so viele wie Kerne, höchstens aber 8.

Für wen
  • Importe
  • Berichte
  • API-Aufrufe
  • Stapel und Datenabgleich

Keine Kreditkarte. Nach der Bestätigung Ihrer E-Mail erhalten Sie 30 Tage eine vollwertige Lizenz (keine abgespeckte Version) für FoxServer, FoxCore, FoxBridge, FoxAgent, FoxCli und FoxCli MCP, samt Installer, in Ihrem Portal. Eine pro Person und Produkt; nach 30 Tagen läuft sie ab.

Funktionen

Asynchrone Ausführung

VFP-Aufgaben im Hintergrund starten. Die Oberfläche bleibt vollständig bedienbar, während die Arbeit parallel abläuft.

Fortschritt und Abbruch

Die Aufgabe meldet mit runtime.Progress(0-100, Meldung), und das Formular liest es mit GetProgress(). Und sie fragt in jeder Runde runtime.IsCancelled(), damit die Schaltfläche „Abbrechen“ wirklich etwas bewirkt.

Der Worker ruft zurück

Aus dem Skript heraus führt runtime.Call() einen eigenen Handler im Hauptprozess aus, und GetValue()/SetValue() sind eine Tafel, die sich beide teilen.

Von 1 bis 64 Prozesse

MaxWorkers passend zu Ihrer Hardware; die Faustregel sind die physischen Kerne. Für Stapel, Datenabgleich und Berichte.

Vollständige Isolation

Der Worker sieht Ihre Variablen nicht, Ihre Arbeitsbereiche nicht, Ihre SET-Einstellungen nicht und Ihre Cursor nicht. Er startet sauber und öffnet, was er braucht: die beste Eigenschaft des Produkts und zugleich seine größte Einschränkung.

Eine Lizenz pro Unternehmen

Weder Plätze noch Kopien werden gezählt: derselbe JWT deckt Ihr ganzes Team ab und reist in der .exe mit, die Sie Ihren Kunden geben.

So funktioniert es

  1. 1
    Die Engine einmal starten

    loRt = CREATEOBJECT('FoxCore.Runtime'), loRt.Activate(lcJwt) und loRt.Attach(_VFP). Die Lizenz ist ein JWT, den Sie per Code übergeben: es gibt keine Datei zu kopieren.

  2. 2
    Arbeit anstossen und weitermachen

    loRt.RunScript(lcSkript, 'MeineAufgabe') liefert sofort die Task-ID: das VFP-Skript läuft in einem anderen Prozess und Ihr Formular bleibt bedienbar.

  3. 3
    Ergebnis abholen

    Mit dieser ID: GetProgress() für den Balken, IsCompleted() für das Ende und GetResult() für den Wert. Zum Schluss loRt.Shutdown().

Preis

Eine Lizenz pro Unternehmen. Einmalige Zahlung, ohne Plätze zu zählen. Die Version, die Sie kaufen, funktioniert für immer.

Lizenz
299 €
Optionale Verlängerung: 75 € pro Jahr
Eine pro Unternehmen, ohne Begrenzung der Entwicklerzahl. Ein Jahr Updates inklusive, und Sie liefern sie in Ihrer .exe aus, ohne Kopien zu zählen. Aktivierung per Code mit Activate().
Kaufen

Häufig gestellte Fragen

Wie viele Aufgaben kann ich parallel ausführen?
MaxWorkers reicht von 1 bis 64 und ist voreingestellt auf min(Kerne, 8). Die Faustregel sind die physischen Kerne des Rechners: darüber behindern sich die Prozesse gegenseitig. Und denken Sie an die feste Abgabe: einen Worker zu starten kostet zwischen einer Zehntelsekunde und drei Sekunden, eine Aufgabe von 200 ms lohnt sich also nicht.
Teilen Aufgaben Speicher mit der Oberfläche?
Nein. Jede Aufgabe läuft in ihrem eigenen VFP-Prozess und teilt weder öffentliche Variablen noch SET-Einstellungen oder Cursor mit dem Hauptprozess. Was es gibt, ist eine ausdrückliche Tafel, GetValue() und SetValue(), und der Rückruf runtime.Call().
Kann ich von Aufgaben aus auf DBFs zugreifen?
Ja, aber mit Vorsicht: jeder Worker öffnet seine eigenen Tabellen und erbt keine der Ihren. Öffnen Sie sie im gemeinsamen Modus (SET EXCLUSIVE OFF) und schreiben Sie nicht ohne Abstimmung gleichzeitig auf dasselbe.
Deckt die Lizenz alle meine Entwicklungsinstallationen ab?
Ja. Es ist eine Lizenz pro Unternehmen: weder Plätze noch Kopien werden gezählt, und derselbe JWT gilt auf allen Rechnern, auf denen Sie entwickeln, und in der .exe, die Sie Ihren Kunden geben. Eine früher gekaufte 1-, 4- oder 8-Plätze-Lizenz gilt unverändert weiter.
Was passiert, wenn eine Aufgabe einen Fehler auslöst?
Die Aufgabe geht in den Zustand Failed, und GetError(id) liefert die Meldung. Überschreitet die Aufgabe ihre Frist, endet sie als TimedOut und der Worker stirbt. Es gibt keine Ereignisse OnComplete oder OnFailed: gefragt wird mit IsCompleted(), oder mit PollCompleted(), wenn der Stapel groß ist.
Was passiert, wenn die Wartung endet?
Die Lizenz bleibt gültig, und was Sie gekauft haben, läuft weiter. Begrenzt wird nur, bis zu welcher Version Sie kommen: Sie haben Anspruch auf alle bis zum Ablauftag veröffentlichten, und das Portal wendet diese Regel beim Herunterladen an und liefert Ihnen die letzte, auf die Sie Anspruch haben, statt der neuesten. Die Verlängerung ist optional und wird per E-Mail an soporte@irwinrodriguez.dev angefragt.

Keine eingefrorenen UIs mehr in Ihren VFP-Apps

FoxCore installieren und die erste Hintergrundaufgabe in Minuten zum Laufen bringen.

Jetzt kaufen