unknown
2009-08-01 03:38:01 UTC
上田です。
後日のバグ修正のために、プログラムの中に修正版のプログラムをコピーする
項目を設けましたが現場で失敗しました。
製作中は一度もコピーの失敗はなかったので変だなと調べたところ次の事
が判りました。
1.起動したプログラムは自身のコピーは可能
2.修正したプログラムファイルを起動したファイルに上書きは出来ないし、
自身のプログラムファイルを削除も出来ない。
まあ、考えて見れば当たり前のことかも知れないなと思いました。
プログラムファイルが変更できたら便利だけど、終了した時点でなかったり、
条件が異なったら困るだろうしね。(プログラム作成中はテストでは別ファイル
だから問題が起こらなかったは当たり前のことですが)
しょうがないので、運用で避けることにしました。つまり、修正したプログラムを
立ち上げて、自身のファイルを本来の位置にあるファイルに上書きすることに
コピーの方法は
1.本来の位置にあるファイルを削除(ファイルサイズが少なくなる場合に備えて
2.元ファイルを新ファイルに1バイトづつコピー
_read(hd1,moji,1); _write(hd2,moji,1); ファイル名は同一にする
3.作成後に元ファイル作成日を新ファイル作成日にコピー
何か別の方法があれば教えて下さい。
後日のバグ修正のために、プログラムの中に修正版のプログラムをコピーする
項目を設けましたが現場で失敗しました。
製作中は一度もコピーの失敗はなかったので変だなと調べたところ次の事
が判りました。
1.起動したプログラムは自身のコピーは可能
2.修正したプログラムファイルを起動したファイルに上書きは出来ないし、
自身のプログラムファイルを削除も出来ない。
まあ、考えて見れば当たり前のことかも知れないなと思いました。
プログラムファイルが変更できたら便利だけど、終了した時点でなかったり、
条件が異なったら困るだろうしね。(プログラム作成中はテストでは別ファイル
だから問題が起こらなかったは当たり前のことですが)
しょうがないので、運用で避けることにしました。つまり、修正したプログラムを
立ち上げて、自身のファイルを本来の位置にあるファイルに上書きすることに
コピーの方法は
1.本来の位置にあるファイルを削除(ファイルサイズが少なくなる場合に備えて
2.元ファイルを新ファイルに1バイトづつコピー
_read(hd1,moji,1); _write(hd2,moji,1); ファイル名は同一にする
3.作成後に元ファイル作成日を新ファイル作成日にコピー
何か別の方法があれば教えて下さい。