掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
TTimer invalid filenameエラーの原因は? (ID:46287)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
exeを起動するとtimStartTimer(TTimer型)内でiniファイル、データベースを読み取り iniファイルで設定された月以上前に作成されたレコードをテーブルから削除して、削除したレコードについてはcsvファイルに出力するというプログラムがあります。 timStartTimerでエラーログを出力しているのですが、シンクライアント環境でこのプログラムを動作させた場合ここに”timStartTimer invalid filename”とエラーが出るのですが、何が原因と考えられるでしょうか。 デバッグできる普通のデスクトップPCで行ってもエラーは起きず、読み取るDBの名前を変えて読み取れなくする、csv出力先フォルダを無くす、を行っても別のエラーが出力されました。 以下ソースです。 =============================================================== procedure TRMMainForm.timStartTimer(Sender: TObject); var bError: Boolean; begin timStart.Enabled := False; GetServerInfo; bError := False; try DeleteOldData(Date, 0); DeleteOldData(Date, 1); except on E: Exception do begin OutputErrorLog(E, 'timStartTimer'); bError := True; end; end; if not bError then SetServerInfo; Close; end; =============================================================== =============================================================== procedure TRMMainForm.DeleteOldData(SyoriDate: TDateTime; Kbn: Integer); var sSyoriDate: String; sFileName: String; sFileName2: String; sPath: String; sDir: String; btRuiKey: TBtrieveTable; rData: TRuisekiKey; F: TextFile; slData: TStringList; begin if Kbn = 0 then begin sPath := FSLogPath; btRuiKey := TBtrieveTable.Create(FDataPath + 'DATABASE1.MKD'); end else begin sPath := FCLogPath; btRuiKey := TBtrieveTable.Create(FDataPath + 'DATABASE2.MKD'); end; btRuiKey.DataBuffer := @rData; btRuiKey.DataLength := SizeOf(rData); slData := TStringList.Create; try btRuiKey.Open; try btRuiKey.KeyNumber := 0; sSyoriDate := FormatDateTime('yyyymmdd', IncMonth(SyoriDate, -FDeleteMonth)); btRuiKey.GetFirst; while btRuiKey.StatusCode = 0 do begin sDir := rData.SYORI_DATE; if sDir >= sSyoriDate then Break; sFileName := Copy(sDir, 1, 6) + '.csv'; sDir := Copy(sDir, 1, 4) + '\' + Copy(sDir, 5, 2); if not DirectoryExists(sPath + sDir) then ForceDirectories(sPath + sDir); sFileName2 := sPath + sDir + '\' + sFileName; AssignFile(F, sFileName2); if FileExists(sFileName2) then Append(F) else Rewrite(F); slData.Clear; slData.Add(DateString(rData.SYORI_DATE)); slData.Add(rData.SEQ_NO); slData.Add(rData.PT_ID); slData.Add(rData.PT_KN_NAME); slData.Add(rData.BUMON_NO); slData.Add(rData.SYOHOU_KBN); slData.Add(rData.LINK_FILE); slData.Add(DateString(Copy(rData.MK_DATE, 1, 8))); slData.Add(TimeString(Copy(rData.MK_DATE, 9, 6))); Writeln(F, slData.CommaText); Flush(F); CloseFile(F); btRuiKey.Delete; btRuiKey.GetNext; end; finally btRuiKey.Close; end; btRuiKey.Reset; finally btRuiKey.Free; slData.Free; end; end; ===============================================================
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.