Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

WriteProfString arbeitet nicht richtig


4 replies to this topic

aki

aki
  • Full Members
  • 14 posts

Posted 28 November 2007 - 13:21

Hallo,
bei Verwendung der Funktion WriteProfString(..) wird nur die Sektion, nicht aber Key=Value eingetragen. Der Returnwert ist 0. Also ist scheinbar alles in Ordnung.
Auch der zusätzliche Aufruf WriteProfString("","","",""); zum Schreiben des Caches bringt nichts.

Woran kann das liegen?

aki

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 30 November 2007 - 15:44

Kannst du die Stelle in deinem Skript-Code posten wo du das WriteProfString aufrufst?

aki

aki
  • Full Members
  • 14 posts

Posted 04 December 2007 - 14:20

Der Aufruf erfolgt in OnFirstUIBefore() bzw. OnUpdateUIBefore() im Rahmen der Prüfung des benötigten Plattenplatzes nachdem TARGETDIR feststeht vor Dlg_SdStartCopy2 bzw. Dlg_ObjDialogs.

CODE

szFileName = FOLDER_TEMP ^ "_" + "test.ini";
if (WriteProfString ( szFileName , "IFX_PRODUCT_NAME" , "Date_Time" , "test" ) < 0) then
  SprintfBox (SEVERE, "WriteProfString", "%s could not be updated", szFileName );
endif;
WriteProfString("","","","");


Im Ergebnis befindet sich in test.ini nur der Eintrag
[IFX_PRODUCT_NAME]
nicht aber die auch erwartete Zeile
Date_Time=test

Danke für die Unterstützung.
aki

aki

aki
  • Full Members
  • 14 posts

Posted 04 December 2007 - 16:28

Weitere kuriose Ergebnisse:

Sektion mit \n abgeschlossen:
WriteProfString ( szFileName , "IFX_PRODUCT_NAME\n" , "Date_Time" , "test" );
ergibt
[IFX_PRODUCT_NAME
]
Date_Time=test
[IFX_PRODUCT_NAME
]


Sektion mit [] geklammert:
WriteProfString ( szFileName , "[IFX_PRODUCT_NAME]" , "Date_Time" , "test" );
ergibt
[[IFX_PRODUCT_NAME]]
Date_Time=test
[[IFX_PRODUCT_NAME]]


Die (fehlerhaft) eingegebene Sektion wird zweimal geschrieben. Dazwischen befindet sich immerhin die sehnlichst erwartete Zeile Key=Value.
Bei wiederholten Aufrufen stehen die Ausgaben mehrfach in der ini-Datei.

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 07 December 2007 - 18:41

Seltsam. Hängt vielleicht damit zusammen, dass du vordefinierte Bezeichner als Text verwendest. Wer weiss was der Compiler damit anstellt. Probier doch mal:

WriteProfString ( szFileName , "IFX_PROD" + "UCT_NAME" , "Date_" + "Time" , "test" );