プログラムの修正ができない件について

解決


AS  2017-10-12 03:20:32  No: 48791

今晩は。
何回もお世話になります。

以前、プログラムの修正ができないということで、ここで質問させてもらい、
登録されていないところを修正しているとの回答をいただき、解決したのですが、今回はそれが上手くいかず、パソコンから他の自作のプログラムを全部削除しても修正ができません。
何か、解決策を示していただければ、嬉しいです。

よろしくお願いします。


igy  2017-10-12 04:36:48  No: 48792

環境(WindowsやDelphiのバージョン)とか、「プログラムの修正ができない」場合の状況など、
具体的に、もう少し詳細な情報を、挙げてみるのはいかがですか?


AS  2017-10-12 07:20:45  No: 48793

igyさん、ありがとうございます。

使っているのはXE5です。
win8.1とwin10で使っていますが両方とも修正できません。
自作プログラムをすべて削除したのはWIN10です。

大きなプログラムなので、全部調べることはできませんが、
修正が効かないのは一つのform(じゃなくてプログラムだけがあるもの)です。

as:=1000  のような数字を1200に変えても、compileしたら、相変わらず1000のまま
という状況です。

Aというプログラムがあって、それをBというプログラムに名前を変えて、
作ったものです。この時何かまずことをしているのではと思いますが、
エラー表示は出ませんし、正常にコンパイルできます。

よろしくお願いします。


igy  2017-10-12 07:29:57  No: 48794

編集したと思っているのは、そのプロジェクトのフォームではなく、別のフォームだったとかは、ありませんか?

プロジェクトを開いたとき、(通常だと)画面の右のほうに、プロジェクトマネージャが表示していると思うのですが、ツリー表示しているフォームではなく、
AS さんが、書き換えたのは、(そのプロジェクトとは関係ない)別のフォームだったりしませんか?


AS  2017-10-12 08:17:47  No: 48795

すみません。

書き換えたのは、ツリーの中に表示されているものに間違いないと思います。
同じ物は他にないですから。

もう一度、全部削除してまた追加してみます。


Mr.XRAY  2017-10-12 08:30:42  No: 48796

>もう一度、全部削除してまた追加してみます。 

詳しい操作内容が不明で,文章の意味もよく理解できないのですが,
問題なのはある 1 つのフォームのユニットなのでしょうか ?
コードを修正して保存はできているのでしょうか ?

試しにそのユニットを,IDE ではなく,テキストエディタで開いて編集し,
保存して閉じます.
再度テキストエディタで開いたらどうなるでしょう ?


AS  2017-10-12 08:52:05  No: 48797

今晩は、XRAYさん。よろしくお願いします。

プロジェクトの追加と削除をしてみるという意味です。
やっても無駄でした。

テキストエディターで読み込んで上書き保存しました。
が、変化なしです。

コードの保存は出来ています。はっきり言って、コンパイルすると、
もうすでに無くなった過去のプログラムができるんです。
なんか、DELPHIの内部に何かが作られていて、それが絶対変わらないような
という感じです。

名前を変える前のプログラムは問題ないので、delphiが壊れているわけでは
ありません。また、3台のパソコンでやっても同じ結果になります。

よろしくお願いします。


Mr.XRAY  2017-10-12 09:03:09  No: 48798

>テキストエディターで読み込んで上書き保存しました。 
>が、変化なしです。 

変化なしというのはどういう状況のことですか ?
編集した内容が変化しない,保存されていないということですか ?
変化なしだけでは状況が把握できないですね.

それとも,編集結果は反映されているが,それを IDE で開くと
その編集結果が反映されないということですか ?


Mr.XRAY  2017-10-12 09:11:12  No: 48799

私は

>再度テキストエディタで開いたらどうなるでしょう ? 

と訊いたのです.その結果が

>が、変化なしです。 

ということは,上書き保存したけど編集内容が反映されないという解釈になると思いすが,どうなんでしょう ?


AS  2017-10-12 10:19:36  No: 48800

今晩は。
夜遅くまでありがとうございます。

テキストエディターで開いて上書きして、コンパイルしましたが、
相変わらずおかしいままでした。

もう一度読み込むのですか??
読みだして、delphiで呼び出し谷を比較すると、変りはありません。

もう遅いので、これで失礼します。

何かのエラーのようですので、これであきらめることにします。
ありがとうございました。


AS  2017-10-12 11:04:00  No: 48801

眠れないので、いろいろとにたFormの中を調べていたら、
使っているユニットの中のprocedureと同じものが、
使っていない別の二つのユニットの中にあることが分かりました。

ありがとうございました。
諦めずに原因が特定できたのが嬉しいです。

igyさん、XRAYさん、ありがとうございました。
また、つまらないことで煩わすことがあるかと思いますが、
よろしくお願いします。


Mr.XRAY  2017-10-12 23:03:58  No: 48802

>もう一度読み込むのですか??

当然です.当たり前です.
もちろん,同じテキストエディタです.

以下は敢て書く必要はないとは思いますが...

そうすれば,そのファイルは確実に変更可能なことが確認できます.
例えば ShowMessage('AAA'); というのを追加します.

そして.今度は IDE でプロジェクトを開き,そのユニットを表示します.
その時,追加したハズの ShowMessage('AAA'); がなければ,
実は関係ないユニットだということが「確実」に判定できます.

また,Windows Vista 以降ではファイルの置き場所によっては,
テキストエディタで編集しても編集内容が反映されないことがあります.
その確認も兼ての作業です.

AS さんの最初の書き込みだでは,全くもって何がどうしてどうなったのかを
理解することはできません.
ですから,問題の状況を把握するためにも必要になるわけです.

基本的に AS さんと,他の方,少なくとも私とは,トラブルが発生した時の
解決方法が違うということです.
? マークを 2 つも付けるような疑問ではありません.


AS  2017-10-13 01:55:44  No: 48803

X,RAYさん、ありがとうございました。

昨夜は解決したとしましたが、別のパソコンに残っているのを修正したら、
直っていませんでした。

AからBを作成したと書きましたが、もう一度やってみました。
それは順調に動くので、解決したと言ってもいいと思います。

上手くいかないプログラムを保存しておいて、後で詳しく調べてみようか
どうか悩んでいます。

ありがとうございました。


AS  2017-10-13 12:08:43  No: 48804

やはり、同じ名前のprocedureが別のところにあるのが原因でした。

プログラムがちょっと大きくなりすぎていて、管理が行き届いていないのが
問題でした。

ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加