喫茶XRAYトップページ

[スレッド全体
]

[6842] Windows8とWindows7で・・・返信 削除
2013/4/5 (金) 00:41:31 Sara
最近Windows8+Delphi Xe2でWindows7+Delphi Xe2で作成していたプロジェクトに

機能追加をしていたのですが、Windows7+Delphi Xe2では起きなかった動作不良が

おきて悩んでいました・・・

で、泥縄式に不具合部分を潰していったのですが、どんどん どつぼに嵌っていく・・・

で、ふと、Windows7のときってこんな状況だったっけ?と思いつつ、別HDDに

Windows7の環境を再度構築しなおしてDelphiXe2を入れて、まったく同じプロジェクトを

ビルドして動かすと・・・正常に動作するんですよね・・・(--;

もちろん、Windows8でも正常動作する・・・(--;

以前、Delphi Xe3の挙動が不思議といってましたが、Windows8+Delphiって

あまりよろしくない?

(Windows7+Delphi Xe3はまだ試していない)

なにか情報をお持ちの方いらっしゃいますか?

[6843] Re:Windows8とWindows7で・・・返信 削除
2013/4/5 (金) 06:06:05 Mr.XRAY
▼ Saraさん

> Windows8+Delphiってあまりよろしくない?

う〜ん.どうなんでしょう.
Windows 8 もだいぶ使われだしているから,もし,問題があれば,
コミュニティの場で何かアクションがありそうな気がするんですが.
当サイトのアクセス解析では,Windows 8 が Vista を抜いていますし.

私はまだ Windows 8 をインストールしていません.ハイ.


[6851] Re2:Windows8とWindows7で・・・返信 削除
2013/4/7 (日) 14:53:39 Sara
▼ Mr.XRAYさん こんにちは


> > Windows8+Delphiってあまりよろしくない?
>
> う〜ん.どうなんでしょう.
> Windows 8 もだいぶ使われだしているから,もし,問題があれば,
> コミュニティの場で何かアクションがありそうな気がするんですが.
> 当サイトのアクセス解析では,Windows 8 が Vista を抜いていますし.
>
> 私はまだ Windows 8 をインストールしていません.ハイ.


よろしくないと言うよりも、よりメモリ管理が厳密になっていると
言うべきな感じでしょうか・・・

いろいろ調べたところ、どうやら、プログラム的に問題があるのが判明・・・(^^;

でも、Windows7+Delphi Xe2では起きず、Windows8+Delphi Xe2では起きる・・・

で、何をしていたのかと言うと・・・
あるフォルダー内の画像一覧を表示しています。(TListに保持)
その中の複数の画像を選択して画像の回転処理を行います。
回転後の画像はカレントフォルダ直下に「回転」等の名前でフォルダを作成し
その中に処理後の画像を保存しています。

このとき、カレントフォルダをplFolderWatcherを使って監視をしています。
フォルダ監視は当該フォルダ内で画像の増減等を監視して再表示します。

この、監視処理が今回の問題を引き起こしていたと言うことです・・・
変更があった際にTListをいったんクリアして再構築しているのですが
上記の回転処理の最中にクリアが行われていた模様・・・
TListを参照しに行ってTListのItemがnilになっていると当然エラーになる・・・

上記のことから、Windows7+Delphi Xe2では「たまたま」症状がでていない
と言うことらしいのです・・・参照していたメモリ空間がたまたまクリアされずに
残っていたと・・・

で、上記変換処理をTCriticalSectionで囲ってあげることで問題が解決しました。

お騒がせいたしました。m(_ _)m


[6852] Re3:Windows8とWindows7で・・・返信 削除
2013/4/8 (月) 11:02:06 Mr.XRAY
▼ Saraさん

> で、上記変換処理をTCriticalSectionで囲ってあげることで問題が解決しました。

むむっ,高級な技を.

> 上記のことから、Windows7+Delphi Xe2では「たまたま」症状がでていない
> と言うことらしいのです・・・参照していたメモリ空間がたまたまクリアされずに


Windows 8 ではよりクリティカルになったというわけですね.
言われてみれば,そうですよね.
サンプルプログラム集も,この点は見直しが必要なのかも.
勉強になりました.

[System.SyncObjs.TCriticalSection]
http://docwiki.embarcadero.com/Libraries/XE3/ja/System.SyncObjs.TCriticalSection

[クリティカルセクション(Critical Section)]
http://www.geocities.co.jp/SiliconValley-SanJose/2560/delphi4/forms/Critical.htm


[▼次のスレッド]
INCM/CMT
Cyclamen v3.82