4 Replies Latest reply on Feb 25, 2012 1:07 PM by apo_edit

    Routine zur DatenÜbernahme?

      Ich habe das Vergnügen, eine in die Jahre gekommene Filemaker-Anwendung zu modernisieren. Ist auch alles OK. OS: WIndows 7. Aber da FP immer noch die Daten in der gescripteten Datei verwaltet (Mein Hauptgrund, FP seinerzeit an den Nagel zu hängen), war es nun dringend geboten, eine Übernahme-Routine zu schreiben. Die Angabe der Dateipfade beim Export mit 'file:_Kalkulationen.xml' etc. führt in den *.FP7 auch zum erwarteten Verhalten, dass die Datei(en) im Ordner der *.fp7 geschrieben werden. Die neue Version ohne aktuelle Daten fährt einmalig die entsprechende Import-Routine. Klappt auch gut mit den *.fp7

       

      Mein Problem besteht darin, dass die in eine Runtime eingebundene Applikation offenbar die Pfade vergisst oder ignoriert, jedenfalls werden die Dateien nicht entsprechend im Verzeichnis der Runtime erzeugt. Die Importroutine verlangt keinen Speicherort, importiert aber naturgemäss auch nichts. Irgendwelche Ideen?

       

      cu

        • 1. Re: Routine zur Datenübernahme?

          Da fehlen ein paar Informationen.

           

          Was genau ist der Ausgangspunkt? Eine Runtime Lösung?

          Besteht die alte oder die neue Lösung aus mehreren Dateien?

          Was ist eine in die Jahre gekommene FileMaker Anwendung? .fp5?

          Wie läuft der Import, über eine Runtime oder FileMaker Pro?

          Gilt das für eine einzige Lösung oder für mehrere verteilte Lösungen?

           

          Die Runtime merkt sich den Pfad zur Startdatei beim Binden.

           

          Winfried

          • 2. Re: Routine zur Datenübernahme?

            Hallo Winfried,

             

            - Auslieferung ist immer eine Runtime-Lösung im Kiosk-Mode.

            - Die Lösung besteht aus zwei Dateien, Kalkulation und K_Daten.

            - Das sind *.fp7 in FP 11 pro adv (US), ich schrieb ja sinngemäss, dass ohne Runtime alles für den User transparent läuft, vielleicht habe ich nachlässig formuliert.

            - Der Import läuft wie der Export über die ausgelieferte Runtime-Lösung, einmalig, abhängig von einem Flag, der Benutzer soll nichts tun, das Flag wird dann gesetzt, ein weiterer Import unterbleibt

            - Zwischen der 'alten' Lösung und neueren nachgelieferten mögen mehrere Stufen liegen, in der nachgelieferten sind die Datenfeldumfänge und Feldzuweisungen aktuell befohlen.

             

            --> Und ich erkenne eben nicht, dass sich die Runtime den Pfad merkt...     Ein Beispiel: Jede DOSe hat eine Platte C:\, darin lege ich (z.B. so eingestellt) die beiden Exportdateien ab. Die Importroutine (auch so eingestellt) erwartet sie genau an dieser Stelle und importiert (ohne RT) völlig transparent für den Benutzer. Dieselbe Anwendung als Lösung eingebunden tut das  nicht. Die User sind aber nun schon mal DAU's und ich will nicht per Quasselnarkose oder über Teamviewer jeder Aktualisierung hinterher hecheln.

             

            Meine Frustschwelle ist deshalb niedrig, weil das, was mich an FP3 ... FP10 stets geärgert hat (die krüppelige Datenübernahme), jetzt immer noch fast mehr Arbeit macht, als die ganze Baugruppenkalkulation gefressen hat. Ich bin drauf und dran, den Krempel in 4D genau wegen dieses Ärgernisses neu zu schreiben. Andererseits bin ich doch wohl nicht der einzige Entwickler, der dieses Problem hat... Und falls ich das mal in den Mac Appstore einstelle (das ist der Hauptgrund für die Überarbeitung), ist ein Import mit notwendiger Useraktion ganz klar no go.

             

            cu Manfred

            • 3. Re: Routine zur Datenübernahme?

              Nachtrag:

               

              Manche Probleme kann man glücklicherweise auch durch Nachdenken lösen

              Ich denke, das Problem sitzt wie meist vor der Maschine: Ich arbeite mit einem relativen Pfad. Für den Export muss ich im Script dabei angeben, in welchem Verzeichnis sich die .exe befinden wird. Für die Deklaration des Imports muss ich im relativen Pfad den Ordner löschen, weil die importierende Anwendung dann im Ordner der zu übernehmenden Daten wohnt. Intuitiv ist was anderes, ich hätte schon die Erwartung, dass FP den Pfad anpasst, weil bei der Einbindung feststeht, wo die RT_Lösung wohnen wird.

               

              BTW: Kann ich in  FP11 abfragen, auf welcher Plattform meine Anwendung gerade läuft? Get(CurrentPlatform) oder sowas?

               

              cu Manfred

              • 4. Re: Routine zur Datenübernahme?

                Nachtrag zum Nachtrag:

                 

                Die RT merkt sich den Pfad, jedenfalls wenn ich Export und Import mit vollen Rechten ausführen lasse. Mein Fehler lag darin, die Dateien zum Export aus fp7 zu erzeugen und den Import aus der RT vorzunehmen. Jetzt läufts, lautlos und transparent. Ich muss nur dem De-Installer noch beibringen, die exportierten Daten zu schonen, falls der User zu übereifrig vorgeht und vor Aktualisierung deinstalliert. Danke für Deine Mühe.

                 

                cu Manfred