You are not logged in. This forum allows only logged in users to post. If you want to post in the forum, please log in.
下载
开发软件
账户
下载
开发软件
登录
我忘记用户名和密码了
创建帐户
语言
帮助
语言
帮助
×
登录
登录名
密码
×
我忘记用户名和密码了
简体中文翻译状态
类别:
软件
用户
PersonalForge
Magazine
Wiki
搜索
OSDN
>
浏览软件
>
Desktop Environment
>
Special Launch
>
论坛
>
公开讨论
>
NTならスレッドにする?
Special Launch
描述
项目概述
开发人员仪表板
项目的网页
开发人员
Image Gallery
List of RSS Feeds
Activity
统计
历史
下载
List of Releases
统计
源代码
Code Repository list
Subversion
查看仓库
任务单
Ticket List
里程碑列表
Type List
组件列表
List of frequently used tickets/RSS
Submit New Ticket
文档
沟通
List of Forums
帮助论坛 (0)
公开讨论 (15)
新闻
论坛:
公开讨论
(Thread #17978)
Return to Thread list
RSS
NTならスレッドにする? (2008-03-12 23:27 by
(del#173)
#35535)
Create ticket
Special Launch 4 掲示板(
http://splnch.sourceforge.jp/cgi-bin/forum/wforum.cgi?page=0&mode=
)でも話題になっていますが、
Excelのファイルをボタンに登録しているときに、うまくファイルを開けない不具合があるみたいです。
私はXPで利用していますが、やはり同様の不具合に悩んでいました。折角のオープンソースだからと思いましたので、ソースを追いかけてみたところ、Pad.pasの3596~3600行目あたりの箇所が怪しいような気がしてきました。
-----
// NTならスレッドにする
if OSVersionInfo.dwPlatformId = VER_PLATFORM_WIN32_NT then
TOpenNormalButtonThread.Create(Handle, TNormalButton(Item.ButtonData))
else
OpenNormalButton(Handle, TNormalButton(Item.ButtonData));
-----
別スレッドを使ってアプリを起動しているのには何か理由があるのでしょうか?
スレッドを使わないように変更したところ(下記)、特に問題なく動いているように見えましたので。。。
-----
// NTならスレッドにする
// if OSVersionInfo.dwPlatformId = VER_PLATFORM_WIN32_NT then
// TOpenNormalButtonThread.Create(Handle, TNormalButton(Item.ButtonData))
// else
OpenNormalButton(Handle, TNormalButton(Item.ButtonData));
-----
と、ご覧になっているか不安になりながらポストしてみました。
RE: NTならスレッドにする? (2008-03-13 09:42 by
sawasige
#35536)
Create ticket
アプリ起動を別スレッドにした理由は、単純にレスポンスをよくするためです。
Excel ファイルを開けない問題が、アプリ起動を別スレッドにしないようにして解消されても、問題の本質を理解していないので「解決」と言って良いのか悩むところです。
実際問題として私の環境では Excel ファイルを登録しても問題なく起動できてしまうんですよね。。。
回复到
#35535
RE: NTならスレッドにする? (2008-03-13 11:39 by
(del#173)
#35540)
Create ticket
お返事ありがとうございます。
レスポンスだけなら、手元では何の問題もないので修正後のアプリを使うことにします。ありがとうございました。
Excelファイルの不具合の件は、Excelファイルを10個ぐらい登録して、順にクリックしていくと、たまに1個くらい開けない場合がある。という感じです。
開けなくなると、そのファイルはしばらく開けなくなりますが、何かの拍子に開けなくなるファイルが変わることがあります。
ただ、ブレークポイントを設定して追いかけようとすると、今まで開けなかったファイルも開けるようになることが多いので、起動スレッドが先行しすぎて何か悪いことでも起きているのかなぁ。という印象でした。
Delphiをさわったのは昨夜が初めてですので、詳しく追いかけられているか不安ですが^-^;
ひとつの情報として解決に向かうとうれしいです。
私の手元では、前回書いた修正で無事に起動しているのでひとまず解決扱いにしてしまいます^-^
回复到
#35535