locked
VFP 9.0: Langsame Verarbeitung RRS feed

  • Frage

  • Hallo liebe FoxProler

    Ich habe eine lokale Anwendung, die sehr langsam speichert, resp. bedächtigt die zu speichernden Daten aufbaut (alles in allem zwischen 5 und 10 Sekunden!). Dies passiert in einer Routine, welche die zu speichernden Daten aufbereitet und dann speichert. Das Spezielle ist, dass dort HTML-Code aufbereitet und dieser in ein Memofeld gespeichert wird.

    Nach einigen Recherchen glaube ich, dass es genau an diesen Befehlsequenzen liegt. Mit REPLACE mydbvar WITH progdbvar ADDITIVE werden nach und nach die Daten in das Memofeld geschrieben. Die HTML-Datei kann schon einige Dutzend REPLACE-Befehlen auslösen, bis das Memofeld vollständig aufgebaut ist. Ebenfalls lang (ich rede hier von ca. 1 Sekunde) dauert der abschliessend USE-Befehl, der die Tabelle mit dem Memofeld schliesst. Hat jemand einen Tipp, wie man diesen Codeteil verschnellern kann?

    Schönen Dank im Voraus für Eure Hilfe.

    Alex

     

     

     

    Donnerstag, 24. November 2011 16:02

Alle Antworten

  • Deine Vermutung kann gut sein, wiederholtes Ändern von Memofeldern hat einen Bloateffekt, auch schon im Buffer. Also arbeite ebn mit einer Stringvariablen lcHTML und mach einen einzigen Replace am Schluss. Um den Code nicht allzu sehr ändern zu müssen, könntest Du auch weiterhin in einem Memofeld eines Cursors arbeiten, dessen Memo Du dann zum Abschluss einmal rüberkopierst in die Tabelle, wie wäre das?

    Tschüß, Olaf.

    • Als Antwort vorgeschlagen Tom Borgmann Freitag, 25. November 2011 07:05
    Donnerstag, 24. November 2011 20:53