くだすれC++Builder(超初心者用)その5at TECH
くだすれC++Builder(超初心者用)その5 - 暇つぶし2ch132:デフォルトの名無しさん
12/06/08 00:57:57.67 .net
スレッド別なんだから止まるわけないじゃん
それよりメインフォームでVCLをいじってるとSynchronize()の結果が変わる
その時にいじると競合が発生して不審な挙動になる

133:デフォルトの名無しさん
12/06/08 15:25:24.49 .net
C++Builder発売15周年記念キャンペーン
なんてやってたんだね
proで50000円は新規の人に魅力的だろうか?

134:バカでごめんね
12/06/09 13:06:35.97 .net
c++を使い始めたものなんですけど

こっちはちゃんとなるんですけど
URLリンク(www.dotup.org)

includeを使うと
URLリンク(www.dotup.org)


こんな感じになっちゃって・・・(´;ω;`)


だれか解決して下さいませんか?




135:デフォルトの名無しさん
12/06/09 14:34:38.30 .net
>>133
画像は分かりやすいけど…
dotupじゃすぐに消えちゃうぞ。一発ネタならちょうどいいけどね。
とりあえず、imgurにでもアップしなおして。

136:デフォルトの名無しさん
12/06/09 14:37:00.41 .net
あと、ユーザー名は画像加工した方がいいんでないかい?

137:バカでごめんね
12/06/09 14:38:35.85 .net
ユーザー名ぐらいはいいかなあと

138:デフォルトの名無しさん
12/06/09 14:46:28.54 .net
いいんならいいけど。
てか、よく見たらこれBuilderじゃなくて、Borland C++ Compiler 5.5.1か~。

139:デフォルトの名無しさん
12/06/09 18:37:32.34 .net
>>133
URLリンク(www.atmarkit.co.jp)


140:2k/win7/06xpmode/06xpmode_03.html ここを参考にXPモードでBCCをインストールし直す



141:デフォルトの名無しさん
12/06/09 18:41:25.01 .net
>>132
魅力でしょ、
50000円ならシェアウェアを公開して
1ライセンス2000円もとれば、あっという間に元は取れるんだし。

142:デフォルトの名無しさん
12/06/09 18:49:59.41 .net
ソフト作る労力も勘定に入れてくれ

143:デフォルトの名無しさん
12/06/09 21:16:18.72 .net
a) bcc32.exe の引数に -I オプションでインクルードディレクトリを指定する。
例: -Ic:\bcc55\include

bcc32.exe のあるフォルダに、bcc32.cfg というテキストファイルを用意して、
-I<インストールディレクトリ>\include
などと書く。または、すでにある bcc32.cfg が
正しいディレクトリを指しているか調べて書き換える。

bcc なら解るが、cpad は使わないのでわからん。

144:デフォルトの名無しさん
12/06/09 21:21:29.27 .net
とにかく、
エラー F2209 a.cpp 1: インクルードファイル 'stdio.h' をオープンできない
を解決しろ。
コンパイルでエラーがでてるのでリンクしていないから a.exe は作成されていない。
でも、cpad が、どこかにある古い a.exe を実行して、64ビット云々のダイアログがでているだけ。


145:142
12/06/09 21:22:31.31 .net
あ、cpad が実行しているわけではないのか。

146:デフォルトの名無しさん
12/06/10 13:24:50.15 .net
RAD2010を使用しているのですがエディタでコメントを日本語入力しているときに、マウスカーソルがコードにかかっていると定義の検索が作動した時に文字化けしたり落ちたりしてしまいます。
IMEでマウスカーソルオフ以外の方法でこれを回避する方法はないでしょうか?再インスコや別PCでも治りません。誰か助けて…。

147:デフォルトの名無しさん
12/06/10 14:13:47.65 .net
QC に入れなさい。>144


148:デフォルトの名無しさん
12/06/10 15:34:38.64 .net
ということはあまり問題になっていないということでしょうか?強制電源オフしなくてはならないので困ってます。
BDS2006から発生していてバージョンアップをやめていたのですがWin7で安心して使用できるようにバージョンアップしたらまた同じでした。
もしかしてうちだけですか?

149:デフォルトの名無しさん
12/06/10 15:36:25.50 .net
QC に入れなさい。>146


150:デフォルトの名無しさん
12/06/10 15:38:13.77 .net
捨てアカで BDN アカウントをとって
公式フォーラムに口汚く罵った書き込みを入れてみたら?



151:デフォルトの名無しさん
12/06/10 15:56:07.04 .net
アカウントは持っているんですが登録したあたりから英文スパムが来るようになって怖いんですよね。あきらめます。ありがとう!

152:デフォルトの名無しさん
12/06/10 16:53:38.40 .net
>英文スパム
David I って人からとか?

>あきらめます。ありがとう!
おめでとう。 VisualStudio ならそんなことないから、良い機会だから切り替えよう

153:デフォルトの名無しさん
12/06/10 18:15:32.80 .net
David Iとかエンバカとかもスパム扱いになりますがそれ以外で毎週100以上orz
VSへの乗り換えも考えたんですがBuilderに慣れてると使いづらくてねぇ。DirectXは楽になるんだけど。
XE3が出る頃までなんとかガンバりますわ。

154:142
12/06/10 18:49:57.27 .net
うちにはこないので、たぶん、他の原因かと。

155:デフォルトの名無しさん
12/06/10 19:44:20.16 .net
IDEFixPackとか…これはさすがに効きそうにないか。まぁQCに入れても2010じゃ放置だろうし。
強制電源オフが必要なのってどういう状況?

156:デフォルトの名無しさん
12/06/10 19:56:40.89 .net
なんか2010の不具合報告が最近多いなぁ
それとXE2をWindows7にインストールした時の挙動がXPと違うとか

157:デフォルトの名無しさん
12/06/10 22:13:29.08 .net
>>153
日本語入力中にマウスカーソルがコードにのっていると文字入力したとたんに割り込みっぽく定義検索が発動。
すると同時に2バイト文字が1バイト文字として数えられてしまうのか半分くらいの位置以降で文字化けが発生。そのままさらに定義検索が発動?して無限ループ。(文字化けだけですむこともある)
で、タスクマネージャーでBuilderを落とそうとしてもダイアログは出るんだけど落とすこともできずWindowsにも戻れないのでリセットするしかなくなります。
2006以降の方なりませんか?

158:デフォルトの名無しさん
12/06/10 22:21:28.76 .net
標準のタスクマネージャとかぬるいの使わないでProcessExplorerとかまともなもの使えば
たたき落とすことくらいはできるんじゃね?
あとはツール→オプション→エディタ設定→支援機能でシンボルインサイトあたりを無効化とか。

159:デフォルトの名無しさん
12/06/10 22:42:41.86 .net
Process Explorerとかは使ったことがないんだけど、タスクマネージャーの起動すらできずにExplorer自体も落ちて再起動かかるも何もできなかったりします。
今、シンボルインサイトをオフって見ました。対策にはなるのですが、現在ユニットを多目に使用しているのでちょっと厳しいです。

160:デフォルトの名無しさん
12/06/10 23:12:00.86 .net
CPUを100%とられてるのかも。まさかのシングルコアCPUだったりする?
だったらProcessExplorerでCPU使用率が高いプロセスの優先順位をNormalから下げることで
他の操作が可能になる(右クリック→Set Priority→Below Normal)。Process Explorerは事前に
起動しておくと吉。

161:デフォルトの名無しさん
12/06/10 23:19:06.57 .net
すみません。環境書いてませんでしたね。i7 875K定格でメモリ16GB Win7 ULT 64bitです。
その方法も試してみたいと思います。いろいろありがとうございます。

162:デフォルトの名無しさん
12/06/10 23:34:26.82 .net
連投申し訳ありません。早速試してみましたがBDSのCPU使用率は0.01%
Process Explorerで落とせたり落とせなかったりです。数分待つとProcess Explorerがやっとでてきたり不安定です。

163:デフォルトの名無しさん
12/06/10 23:39:09.30 .net
IDE Fix Packは?

164:デフォルトの名無しさん
12/06/11 00:08:53.72 .net
登録ユーザーダウンロードを見ているのですがどれなのかわかりません。HF2まで当てていますが。

165:デフォルトの名無しさん
12/06/11 00:32:00.57 .net
見つけました。が、インストールしても治らず。
というかインストールすると普通に文字化けが…。

166:デフォルトの名無しさん
12/06/11 05:45:06.10 .net
URLリンク(andy.jgknet.de)

167:デフォルトの名無しさん
12/06/11 20:41:30.60 .net
それをインストールしましたが治りませんでした。

168:デフォルトの名無しさん
12/06/15 16:21:48.56 .net
エクスプローラが落ちたときに、タスクトレイに表示されているアイコンが消えてしまいます。
これを防ぐにはどうしたら良いのでしょうか?


169:デフォルトの名無しさん
12/06/15 18:16:54.60 .net
一定時間間隔で登録する(MSの推奨)。

170:デフォルトの名無しさん
12/06/16 06:04:04.87 .net
タスクバーごと消えた場合タスクバーが再作成されるときに

UINT WM_TASKBERCREATED = RegisterWindowMessage( "TaskbarCreated" );

ってメッセージが飛んでくるので、そのとき再登録するとか。

171:デフォルトの名無しさん
12/06/16 10:12:25.10 .net
そう言えばエクスプローラが落ちた時にアイコンが出るソフトと出ないソフトがあるな
出ないソフトはそこら辺をさぼっているわけか

172:デフォルトの名無しさん
12/06/18 01:00:02.14 .net
XE2でPageコントロールに複数のフォームを
ドッキングさせるアプリを作っているのですが

あるタブだけ、もしくは全てのタブのドッキングアウトを
抑制することはできるのでしょうか?

EndDockだったかのAllowにfalseを突っ込んでも
駄目でした


173:デフォルトの名無しさん
12/06/22 12:34:36.28 .net
>>139
シェアウェア―って簡単に売れないのでは?
1本も売れないってよく聞くけど、本当はそんなことないの?

174:デフォルトの名無しさん
12/06/22 13:03:08.74 .net
それは、金を払う価値がないソフトウェアだからでは?

例えば、秀丸やEmEditorなんて一企業が成立するくらい使ってもらってるじゃん

175:デフォルトの名無しさん
12/06/22 13:04:31.08 .net
どっちもエディタだぬ
他のジャンルでは?

176:デフォルトの名無しさん
12/06/22 13:11:49.33 .net
FileVisor


177:デフォルトの名無しさん
12/06/22 13:17:09.31 .net
そういや秀丸って名前がかっこ悪いバグまだ直ってないのか?

178:デフォルトの名無しさん
12/06/22 13:18:00.94 .net
使ったときねーから知らん

179:デフォルトの名無しさん
12/06/22 17:40:12.96 .net
>>172 そんなレアなケース出されても....
>>139の言っていることは、
その気になればすぐに元を取れるって感じだから、
そうなの?ていう質問では?

180:デフォルトの名無しさん
12/06/22 18:13:52.81 .net
実際マネタイズ大変だよな昔よりさらに
Google様が無料は当たり前の世の中にしてくれたからなぁ

181:デフォルトの名無しさん
12/07/03 15:19:38.09 .net
C++Builder2010で質問

Indyを使ったメール受信ですが
色々サイトをみると以下のように件名を表示しているのですが
TIdMessage *msg = new TIdMessage(this);
IdPOP3->Retrieve( 1, msg );
Memo->Lines->Add( msg->Subject );
delete msg;
文字化けします。
どのサイトをみてもこんなやりかたをしててSubjectは文字化けしないみたいなんですが
どうしたら文字化けしなくできますか?

182:デフォルトの名無しさん
12/07/03 15:37:01.49 .net
エンコードが違うのとちゃうん

183:デフォルトの名無しさん
12/07/03 15:51:13.40 .net
どのサイトみてもこんな感じなんですよね。
msg->SubjectをいきなりMemoにぶち込んでるだけで
これC++Builder2010のIndy10で普通に表示されます??

184:デフォルトの名無しさん
12/07/03 18:18:02.09 .net
Indyって文字コード変換までしてくれるの?
してくれないならメールヘッダのContent-Typeとか見て変換しないとダメなんじゃないの?

185:デフォルトの名無しさん
12/07/03 18:29:32.01 .net
どのサイトもSubjectは変換してなかった
本文は変換してたけどね。


186:デフォルトの名無しさん
12/07/03 19:49:45.85 .net
なんかヘッダーの日本語エンコードに対応してないらしい
Indy以外探したほうがいいかもね

187:デフォルトの名無しさん
12/07/04 09:26:28.71 .net
('д`)えー

188:デフォルトの名無しさん
12/07/04 11:46:27.66 .net
サイトでのソースは全部delphiなんだけど
C++Builderの方はバグってるのかなあ
何かそんなことかいてるサイトもあったし
だれか>>179を試してほしい・・

189:デフォルトの名無しさん
12/07/04 12:40:49.23 .net
フリーじゃないのこれ

190:デフォルトの名無しさん
12/07/04 14:13:34.94 .net
どっち

191:デフォルトの名無しさん
12/07/04 14:21:51.41 .net
んじゃさ、受信したSubjectとか=?ISO-2022-JP?形式なんだけど
これを変換する方法を教えて><

192:デフォルトの名無しさん
12/07/04 14:22:26.44 .net
Delphiのメール送信側だけど
URLリンク(codezine.jp)
見るとヘッダのコード変換にjconvert.pasとか使ってるみたい
Indy10でこの状態だから他の探したほうがいいんじゃないの?

193:デフォルトの名無しさん
12/07/04 14:43:09.12 .net
最初jconvert使ってたんだけど・・・
どうもC++Builder2010じゃうまくいかなくて
同じコードをC++Builder5でやるとちゃんと変換されたんだけど
2010ってデフォでUnicodeになってるから?

194:デフォルトの名無しさん
12/07/04 14:45:44.39 .net
多分そうだろうね
AnsiStringでやってUNICODEに後から変換するとか力技で一回やってみれば?w

195:デフォルトの名無しさん
12/07/04 14:49:36.76 .net
やってみたぽ・・・
とりあえずAnsiStringにぶち込んでから
Memo->Lines->Add( ConvertJCode( DecodeHeaderString( subject ), SJIS_OUT ) );


196:デフォルトの名無しさん
12/07/04 14:50:28.10 .net
その辺は鬼のように試したんだけど全くうまくいかない。
C++Builder5じゃちゃんと変換されるんだけどなあ

197:デフォルトの名無しさん
12/07/04 14:55:30.22 .net
jconvert.pas自体がStringでビルドされてたら意味ないと思う多分

198:デフォルトの名無しさん
12/07/04 14:57:38.42 .net
そうなんだよね、それ気づくの遅かったアホだし俺とか
んで、諦めて、アレしたんだけど
しかし何故delphiの方はSubjectそのままぶち込んでもちゃんと表示されてんだろ


199:デフォルトの名無しさん
12/07/04 15:05:55.60 .net
別物だからさ

200:デフォルトの名無しさん
12/07/04 15:28:45.56 .net
どうしたものか
とりあえず>>189教えてくらさ><

201:デフォルトの名無しさん
12/07/04 15:30:42.80 .net
とりあえずjconvert.pasのStringをAnsiStringに置換してビルドしてみれば?

202:デフォルトの名無しさん
12/07/04 15:33:11.48 .net
やってみる・・・

203:デフォルトの名無しさん
12/07/04 15:51:02.58 .net
やっぱりやめた・・・

204:デフォルトの名無しさん
12/07/04 15:52:43.51 .net
いや、根性でやったんだけどさw
まあダメだったわ、とりあえず無理やりキャストしてコンパイルが通っただけって感じだし
どうしたらいいの俺とか

205:デフォルトの名無しさん
12/07/05 06:03:21.10 .net
ちょっと調べてみた
MecsUtils.pasっていうEmbarcadero Developer Networkにある文字列関係の処理用コード使ったらタイトル文字化け直ったよ
URLリンク(cc.embarcadero.com)
Yahoo Mailの1メールでしか試してないけど
この中のMecsShrinkElementっていう関数にTIdMessageのSubjectを渡すと正常に変換された

206:デフォルトの名無しさん
12/07/05 10:12:45.85 .net
>>203
あああああああああああああああああああああああああ!!
ありがとうありがとう><
できましたできました!!!
自分もヤホーメール1件でしかまだ試してないですが
今までずっと試してたのが出来たのでこれでISO-2022-JPはばっちりです!!
ありがとうございました^^

207:デフォルトの名無しさん
12/07/05 10:23:51.58 .net
違ったあああああああ!
=?ISO-2022-JP?B?って形式で入ってるのはダメだった~
理由はよくわからないけどSubjectに入ってる形式で
何かわけのわからん形式ならMecsShrinkElementでOKでしたが
=?ISO-2022-JP?B?形式で入ってると変換されなかったので
これは別の関数呼べばいいんですかね??
何を呼べばいいかソースみてもわかりませんが・・・

208:デフォルトの名無しさん
12/07/05 10:30:57.29 .net
ヤホーから来たメールはOKだったけど
ニフティーから来たメールはダメだったぽ・・
これプロバによってアレかあ死にたい

209:デフォルトの名無しさん
12/07/05 15:17:40.69 .net
BCB6で、boost.polygon、は使えまつか?

210:デフォルトの名無しさん
12/07/05 21:52:36.95 .net
コモンコントロールってWM_NOTIFYを親に送りますよね
親がコントロールだったら、そのコントロールをサブクラス化するしか
WM_NOTIFYを捕捉する術はないのでしょうか?

211:デフォルトの名無しさん
12/07/05 23:36:07.06 .net
ない

212:デフォルトの名無しさん
12/07/06 10:02:51.17 .net
この前からIdPOP3がバグるって騒いでる基地外ですが
>>203氏のおかげで結構変換することができた
で、色々受信してたらMecsShrinkElementを通しても化けるのがあって
よくよくみてみると、MecsShrinkElementで化けるのは
最初から既にちゃんと変換されてたってのがわかったんだけど
2010のIndyのバグのせいか、ちゃんと変換されてるのと無変換で
MecsShrinkElementを通すとOKってのがあったんだけど
これを判別する方法としてCharSetがISO-2022-JPならMecsShrinkElementを使う
って事にしたら大抵OKになったけど、たまにCharSetに何も入ってないのに
MecsShrinkElementを使わないとダメなのがあって
これどうやって判別したらいいのですか・・・



213:デフォルトの名無しさん
12/07/06 10:04:55.02 .net
7bit か 8bit かで区別するといいお

214:デフォルトの名無しさん
12/07/06 10:08:27.68 .net
XE2なら問題ないみたいだな

2010はバグ多いな
要するにXE2は2010、XEのバグ取りとFileMonkeyを入れたってことか

XE3でclang+llvmになるらいけどまたしばらくバグに苦しむんだろうな・・・

215:デフォルトの名無しさん
12/07/06 10:25:51.56 .net
>>211
それダメですた、それ入ってないのがあって識別できません><

>>212
XE2迷ったけど64ビット作れないみたいだし次まで待つ事に

216:デフォルトの名無しさん
12/07/06 10:28:06.99 .net
だよ
XE2はDelphiのみ64bit対応
だまされたー

217:デフォルトの名無しさん
12/07/06 11:38:13.20 .net
とりあえず、判断は
AttachmentEncoding、CharSet、ContentTransferEncodingでなんとかなりそうです。
で、最後に・・・
=?shift_jis?B? この形式で来るのが現在変換できなくて困ってます。
これを変換する方法を教えてください・・・

218:デフォルトの名無しさん
12/07/06 17:58:14.65 .net
【中2自殺】 皇子山中学校 「韓国に対する関心を高めるため」 修学旅行は韓国へ
スレリンク(poverty板)

ねらい
ハングルを学ぶことによって、韓国に対する関心を寄り高める。
URLリンク(jan.2chan.net)



219:デフォルトの名無しさん
12/07/06 18:26:14.57 .net
皇子山って新羅の末裔らしいけどな

220:デフォルトの名無しさん
12/07/08 12:45:38.53 .net
BCB5でGDI+グラフィックを使おうとしたのですが、
動いてくれません。(画像ファイルは無事使えてます)

BCB6では自身のヘッダファイルのままで、グラフィックも
動いてくれています。

GDIplus関連のヘッダをBCB6からとか、2001年頃のSDKから
持ってきてもダメでした。

諦めて素直にBCB6でやるのも、ちょっと悔しいので
何か覚えている人がいたら、教えてくださいませ。

参考にしたサイト
URLリンク(www.leunen.com)
URLリンク(aruaru.blog.so-net.ne.jp)
URLリンク(forum.sources.ru)


221:デフォルトの名無しさん
12/07/08 14:06:23.52 .net
LoadLibrary

222:デフォルトの名無しさん
12/07/08 14:19:53.39 .net
GDI+を使う理由がわからん
激遅なのに。

しかも、今時BCB56って
割れ?


223:デフォルトの名無しさん
12/07/08 17:11:27.97 .net
>>219
遅延読み込みしないとダメだったんでした?
やってみます。

>>220
いや、正規だけど、エンバカには御布施したことないです。
何もかも今更なんだけど、GDI+もDirextX(DXライブラリ)も
触ったことなかったもので...
再描画の遅さは我慢できる使い方なんです

224:デフォルトの名無しさん
12/07/09 11:38:57.60 .net
=?shift_jis?B? この形式変換する方法教えてください><
それと、"=?Shift_JIS?を
とりあえずこの2つ変換できたら思い残すことはないかもしれないぽ

225:デフォルトの名無しさん
12/07/09 12:13:30.05 .net
馬鹿には無理

226:デフォルトの名無しさん
12/07/11 17:21:14.33 .net
TListViewにExchangeメソッド無い??
行入れ替えどうやったらいいのかおしえてくらだ

227:デフォルトの名無しさん
12/07/11 17:42:41.81 .net
>>222
XE2ではタイトルがそうならないみたいな気がするので分からないけど
Base64のデコードに失敗してるんだと思うので自分でデコードすればもしかしたらうまくいくのかもしれない

228:デフォルトの名無しさん
12/07/11 20:00:23.30 .net
>>224
Items.AddItemかなぁ

229:デフォルトの名無しさん
12/07/12 13:30:35.57 .net
C++Builder2010でTImageを使って画像の回転をしたくて
TImageのヘルプをみるとRotateFlipらしきメソッドがあるんだけど
コンパイルするとこんなメソッド無いってエラーでるんだけど・・・
どうしたらコンパイルできます?

230:デフォルトの名無しさん
12/07/12 13:41:02.10 .net
URLリンク(delphi.about.com)
URLリンク(www.delphi-central.com)
URLリンク(stackoverflow.com)

231:デフォルトの名無しさん
12/07/12 13:42:47.28 .net
RotateFlipはGDI+の関数だな

232:デフォルトの名無しさん
12/07/12 13:52:53.31 .net
DDBとDIBSection(普通のGDI)なら自分で計算して回転してやらないといかんよ

233:デフォルトの名無しさん
12/07/12 14:00:07.35 .net
>>228-230
ありがとうありがとう

234:デフォルトの名無しさん
12/07/12 14:06:38.17 .net
何かこれ呼ぶだけで回転はOKみたいなソースどっかに転がってないかな?

235:デフォルトの名無しさん
12/07/12 14:54:42.71 .net
>>232
これ俺が前に実際に使わせてもらったソースのサイトだけど

URLリンク(homepage2.nifty.com)

sin, cosをintに変換してから計算しているので結構速いよ
ScanLineプロパティを使うともっと速くなる

Windows Vistae以降ならDirect2Dを使って

URLリンク(code.msdn)


236:.microsoft.com/windowsdesktop/VisualC-howto-96795643 とやれば処理の大部分をGPUに放り投げられるんだけどなあ



237:デフォルトの名無しさん
12/07/12 15:39:41.68 .net
>>233
ありがとうございます。
その2つのサイト参考にアレしてみます。
ありがとうございました。

238:デフォルトの名無しさん
12/07/12 15:52:56.04 .net
中村御大のDHGLはできないっけ?
URLリンク(www.asahi-net.or.jp)

239:デフォルトの名無しさん
12/07/12 15:59:25.96 .net
>>235
あ、これVCLライクなコンポーネント?
XE2に入るかやってみる

240:デフォルトの名無しさん
12/07/12 16:48:26.40 .net
>>235
それのRotateBitmap使ったらできましたー!!!
C++Builder2010
しかしこれパラメータ多くてとりあえず適当に入れてやってみたんだけど
回転角に90って入れても90度になってくれないなあ
たぶん他のパラメータの指定が悪いんだとおもうけど


241:デフォルトの名無しさん
12/07/12 16:55:15.45 .net
>>235
ああ、すんませんできました。
パラ少ない方でやったらあっさりできました^^

242:デフォルトの名無しさん
12/07/12 18:15:09.13 .net
ソフトを起動した時に既に起動していたら、既に起動してるソフトに引数をわたして
後から起動されたソフトの方を終了するにはどうしたらいいですか?
よくブラウザとかそんな感じになってますが

243:デフォルトの名無しさん
12/07/12 19:22:40.48 .net
mutex

244:デフォルトの名無しさん
12/07/12 20:25:14.74 .net
パイプまたはメールスロットとミューテックスを組み合わせるな普通

245:デフォルトの名無しさん
12/07/13 02:52:10.42 .net
>を組み合わせるな
組み合わせてはいけないのですね。わかりました

246:デフォルトの名無しさん
12/07/13 03:20:04.40 .net
>>242
こらこら
具体的なソースを誰か貼ってやれ

247:デフォルトの名無しさん
12/07/13 12:44:40.49 .net
自演ツマンネ

248:デフォルトの名無しさん
12/07/13 12:57:29.09 .net
プロジェクトソースのとこで自分のハンドルを取得してメッセージ送るのってダメ?

249:デフォルトの名無しさん
12/07/13 14:26:10.10 .net
Win32の本を読むと、あるプロセスから他のプロセスにメッセージを送る方法は
大きく分けて3つあり、共有メモリを使った通信、メールスロット、名前付きパイプ
がある。前者ほど易しいが欠点も多い。後者ほど難易度が増すが、より堅牢に
なる。前者はメッセージを受け取る努力がより要求され、後者はメッセージを
より強引に送りつけるようになるとある。

ケースに応じて使い分けろと書いてある。

250:デフォルトの名無しさん
12/07/13 14:40:11.61 .net
相手のハンドルが判ってれば
PostMassage
SendMassage
で桶

251:デフォルトの名無しさん
12/07/13 15:40:45.59 .net
>>247
引数ってその場合
UINT Msg, // message to post
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
これだけしか送れなくない?
コマンドラインみたいのを渡す時は使えない

252:デフォルトの名無しさん
12/07/13 15:44:04.84 .net
massage

253:デフォルトの名無しさん
12/07/13 15:46:39.50 .net
>>248
ここリンク貼れないのなんで?
URLリンク(cho)●kuto.if●def.jp/advanced/copydata.html

254:デフォルトの名無しさん
12/07/13 15:50:00.82 .net
>>248
WM_COPYDATA

255:デフォルトの名無しさん
12/07/13 16:24:34.59 .net
でけた^^

256:デフォルトの名無しさん
12/07/18 11:00:07.77 .net
=?shift_jis?B? と "=?Shift_JIS? この形式変換する方法教えてくださあああああああ><



257:デフォルトの名無しさん
12/07/18 11:01:49.18 .net
あ、まちごうた
=?ISO-2022-JP?B? と =?Shift_JIS?B? ですた^^
教えてくださ

258:デフォルトの名無しさん
12/07/18 11:41:50.74 .net
知ってるがお前には教えない

259:デフォルトの名無しさん
12/07/19 12:04:36.58 .net
test

260:デフォルトの名無しさん
12/07/26 14:42:59.26 .net
C++Builder2010でjconvert.pasをコンパイルしたら
jconvert.hpp内の各関数の引数が全てAnsiStringからUnicodeStringに変わってしまって
正常に実行できなくなるのですが
これちゃんとhpp内の引数がAnsiStringのままになるようにコンパイルするにはどうしたらいいですか?

261:デフォルトの名無しさん
12/07/26 22:33:58.28 .net
jconvertは2009以降に対応していないらしい

262:デフォルトの名無しさん
12/07/26 22:54:27.62 .net
>>258
あ、なるほど、ありがとう。
じゃあやっぱ他の方法考えないとダメなんですね・・

263:デフォルトの名無しさん
12/07/27 10:51:24.33 .net
教えてください
例えば
ListView->Items->Item[i]->Data = new char[256];
↑みたいにnewした場合に
ListView->Items->Clear( );するとnewしたのも自動的にdeleteされるんですか?
それともClearする前にforで回して1つづつdeleteする必要ありますか?

264:デフォルトの名無しさん
12/07/27 13:13:45.46 .net
>>259
Delphi側でString/PCharをAnsiString/PAnsiCharに書き換えるという手もあり

>>260
勝手にdeleteされることはないので、OnDeletionイベントで処理するのがお勧め

265:デフォルトの名無しさん
12/07/27 13:31:34.47 .net
>>261
ありがとう
Delphi側でString/PCharをAnsiString/PAnsiCharに書き換えるというのは
jconvert.pasを自分で書き換えるって事ですよね?


266:デフォルトの名無しさん
12/07/27 13:40:23.53 .net
そう
jconvert.pasのライセンス条件に注意してね(調べてないけど)

267:デフォルトの名無しさん
12/07/27 14:06:09.36 .net
>>263
ありがとうやってみます。
ちなみに、個人で使うだけなので大丈夫です

268:デフォルトの名無しさん
12/07/27 14:38:05.17 .net
>>263
何かうまくいかないのですが、
Charでキャストしてるのがエラーになりますが
これは何にしたらいいですかね?

269:デフォルトの名無しさん
12/07/27 15:11:57.11 .net
具体的に

270:デフォルトの名無しさん
12/07/27 15:17:01.92 .net
これが実際のソース
Result[k] := Char( (dbuf[0] shl 2) or (dbuf[1] shr 4) );

CharをAnsiCharでキャストしたらとりあえずコンパイルエラーは出なくなったけど
動作させても文字が化けて以前と変わらずなもので。
ちなみに、ConvertJCode関連の関数は全てAnsiStrigに変更しました

271:デフォルトの名無しさん
12/07/27 15:25:01.78 .net
UnicodeStringとAnsiStringの多バイト文字列の内部表現が違うからじゃないか?

272:デフォルトの名無しさん
12/07/27 15:28:28.22 .net
黙ってコンパイルするとUnicodeStringになっちゃいますが
それをAnsiStringに変更しました

273:デフォルトの名無しさん
12/07/27 16:12:14.96 .net
Result, dbufの型は?

274:デフォルトの名無しさん
12/07/27 16:14:50.26 .net
dbuf: array[0..3] of BYTE;
ResultはAnsiString にしました。

275:デフォルトの名無しさん
12/07/27 19:04:21.94 .net
なら単に
Result[k] := AnsiChar( (dbuf[0] shl 2) or (dbuf[1] shr 4) );
でいいと思うが。

276:デフォルトの名無しさん
12/07/27 21:40:26.16 .net
>>272
たしかにそれでコンパイルは通りますが
ちゃんと変換できないのはやっぱり別の箇所に原因があるんですねこれ
どこなんだろう

277:デフォルトの名無しさん
12/07/28 01:49:34.78 .net
コンパイラに1バイトパッチあてるとデフォルトを ANSI に戻せるよ

278:デフォルトの名無しさん
12/07/28 02:45:05.50 .net
タスクバーをクリックしてアプリケーションに戻った時に,
最後にフォーカスがあったフォームしか表示されなく
なってしまった。

ちょっと前まで,全部のフォームが表示されたのに。
何を変えちゃったのか全然分からん。

279:デフォルトの名無しさん
12/07/29 10:47:08.53 .net
つ git

280:デフォルトの名無しさん
12/07/30 10:05:24.98 .net
IdPOP3->Retrieveって添付ファイルまで受信しちゃってるみたいですが
これ添付ファイルは受信しない方法を教えてください

281:デフォルトの名無しさん
12/07/30 18:18:33.29 .net
スクロールボックスの縦、横のスクロールバーが出てるかどうかを判断する方法を教えてほしい

282:デフォルトの名無しさん
12/07/30 20:35:17.81 .net
>>277
できないんじゃないかなぁ

>>278
VertScrollBar.Visibleじゃだめ?

283:デフォルトの名無しさん
12/07/30 21:45:25.74 .net
>>279
Visibleはダメなんですよね。
アレオブジェクトインスペクタでtrueにしてても
スクロールボックスにスクロールバーが出てない状態でもtrueのままなんです

284:デフォルトの名無しさん
12/07/30 22:17:51.89 .net
じゃあGetScrollBarInfoでSCROLLBARINFOのBarInfo.rgstate[0]に
STATE_SYSTEM_INVISIBLEが立ってるかどうかとか?

285:デフォルトの名無しさん
12/07/30 22:22:35.95 .net
>>281
ちょっと明日それ試してみますね

286:デフォルトの名無しさん
12/07/31 11:42:55.58 .net
>>281
IsScrollBarVisible でできました

287:デフォルトの名無しさん
12/07/31 17:23:14.32 .net
C++Builder2010でマウスカーソルをリソース


288:マネージャに追加したのですが これどうやってScreen->Cursorsにぶち込むのですか?



289:デフォルトの名無しさん
12/07/31 17:55:58.22 .net
でけた。

290:デフォルトの名無しさん
12/07/31 20:57:10.15 .net
2010多いな
XEとかXE2の質問がほとんどねえ
という事はXEが2010のバグ取りバージョンで、XE2がDelのみを64bit化したわけか

291:デフォルトの名無しさん
12/07/31 21:15:57.16 .net
XE3出たら買うよ
それまで2010で我慢しろく

292:デフォルトの名無しさん
12/08/01 01:50:30.91 .net
XE3 がでればよいね

293:デフォルトの名無しさん
12/08/02 10:26:06.26 .net
MouseDownイベントでマウスボタンが押されている間マウスカーソルを変更したいのですが変更されません
マウスボタンを離したら変更されるのですが
これボタンを押してる状態でカーソルを変更させる方法を教えてください


294:デフォルトの名無しさん
12/08/02 13:06:25.71 .net
でけた。

295:デフォルトの名無しさん
12/08/06 22:26:49.96 .net
Stringgridの罫線?の色ってどやってかえるの?BuilderXE使用中です

296:デフォルトの名無しさん
12/08/08 16:05:43.47 .net
jconvert.pasを2010でコード変えずにコンパイルする方法を教えて・・・


297:デフォルトの名無しさん
12/08/08 16:20:47.12 .net
お前には無理だからあきらめろ

298:デフォルトの名無しさん
12/08/09 22:27:49.07 .net
1.テキストファイルを読み込む
2.構造体を宣言しデータごとに格納
3.格納されたデータを表示

というプログラムを作りたいです。
1.をOpendialogを用いてできましたが2,3をどうしたら良いかさっぱりです。
詳しく解説している書籍やWebサイトなどがあれば教えてください。
C言語で書いているものはいくつかあったのですが
C++で解説しているのは見つからなくて・・・

テキストファイルの中身は
1 佐藤 175cm 70kg
2 鈴木 170cm 65kg
3 田中 165cm 60kg
のような学籍番号や氏名、身長体重が記載されているものです。

299:デフォルトの名無しさん
12/08/09 23:03:15.74 .net
取得したテキストファイルを1行ごとの文字列として処理して、
(Lines->Strings[i]とか)
その文字列を学籍番号や氏名の区切り文字でわけて
構造体(の配列?)に順に格納していく。
それを最終行まで繰り返す。
表示は表示先しだい。


300:デフォルトの名無しさん
12/08/09 23:11:33.48 .net
>>295
ありがとうございます。
早速LinesやStringsなどで調べてみます。

301:デフォルトの名無しさん
12/08/10 04:41:10.79 .net
>>296
OpenDialogでテキストを何に読み込んでるかわからんけど、
TStringListやTMemoでテキストを読み込んでいろいろと処理する
サンプルなら検索すればいくらでもあるかと。

302:デフォルトの名無しさん
12/08/10 13:56:39.70 .net
>>297
TstringList 構造体
などで検索をしましたが中々これだ!というものが見つかりませんでした。
Delphiですが
URLリンク(hpcgi1.nifty.com)
のような事をやりたいです。
良い検索ワードがあれば教えていただけないでしょうか?

303:デフォルトの名無しさん
12/08/10 14:10:47.89 .net
「のような事」じゃなくて、自分の言葉で書けよ。
せめてリンク先のどこまで理解できてどこが理解できないのか、
自分がやりたいこととここが違うからこうしたいとか。

何がやりたくて何がわからないのかさっぱりわからない。

304:デフォルトの名無しさん
12/08/10 14:12:19.46 .net
テキストはcsv(カンマテキスト)にしてTStringListで嫁
んで、もう1つTStringListを使ってCommaTextにぶちこんでアレしろ

305:デフォルトの名無しさん
12/08/10 14:28:40.18 .net
>>299
すみません。
OpenDialogを使用してテキストデータのパスを取得
それをTStringListオブジェクトに読み込み
1 175 60
2 180 70

のような数字のテキストデータを
それぞれ身長 体重 学籍番号 などに分類したいんです。
構造体を宣言し、格納したいのですが
どういうプログラムを書けば格納できるのかサッパリなんです。


306:デフォルトの名無しさん
12/08/10 14:49:40.


307:63 .net



308:デフォルトの名無しさん
12/08/15 06:20:05.82 .net
C++Builder 2007で作成していたソフトウェアを、C++Builder XE2で開発しよう
と環境を移し変えているのですが、コンパイル時によく分からないエラーが出て
困っています。

[BCC32 エラー] Winapi.Windows.hpp(2102): E2257 , が必要
[BCC32 エラー] Winapi.Windows.hpp(2750): E2257 , が必要
[BCC32 エラー] Winapi.Windows.hpp(2752): E2257 , が必要
[BCC32 エラー] Winapi.Windows.hpp(2754): E2257 , が必要
失敗
経過時間: 00:00:01.1

これ、自分が書いたCPPファイルの最初の方や、ヘッダファイルの書き方に妙な
ところがある。
ということでいいんでしょうか?

C++Builder 2007から、C++Builder XE2への移行なんで、UNICODEへの対処に
ついては理解しているつもりですが、このエラーメッセージでは、何が何だか
分からず、とても凹んでいます。
(というか、UNICODE絡みで変なとこがあれば、デバッグで自分のソースを指摘
してくれそうなもんですが、このメッセージだと何がなんやらで・・・)

何かヒントになりそうな事でもいいので、教えてください。
よろしくお願いします。

309:デフォルトの名無しさん
12/08/15 09:36:27.48 .net
WINVER が小さいとみた


310:デフォルトの名無しさん
12/08/15 10:08:52.21 .net
プロジェクトそのものは新しく作ったほうがいい

311:デフォルトの名無しさん
12/08/15 10:36:55.85 .net
めんどくせぇ

312:デフォルトの名無しさん
12/09/25 18:57:45.79 .net
最近人気ねえなage
XE3パスする事にしたしなあ

313:デフォルトの名無しさん
12/09/26 03:33:04.80 .net
ドキュメントがでてきた?

URLリンク(docwiki.embarcadero.com)


314:デフォルトの名無しさん
12/09/26 13:29:54.80 .net
こっちはくだすれだから。統合本スレに移動しておきましょ。

315:デフォルトの名無しさん
12/09/26 17:55:54.57 .net
だって事実上質問はこのスレにしか来ないじゃん
本スレは荒れ放題だし

316:デフォルトの名無しさん
12/09/26 19:47:41.09 .net
あっちは被害担当艦だろ

317:デフォルトの名無しさん
12/10/01 14:22:28.27 .net
C++Builderをバリバリ使ってる人、手挙げて-

まず俺

318:デフォルトの名無しさん
12/10/01 14:48:44.19 .net
     ∧_∧
     ( ゚ω゚ ) C++Builderは任せろー
 バリバリC□l丶l丶
     /  (   ) やめて!
     (ノ ̄と、 i
        しーJ

319:デフォルトの名無しさん
12/10/01 15:33:26.34 .net
なぜ止める!

320:デフォルトの名無しさん
12/10/01 17:21:13.46 .net
バリバリはまずいだろ。

321:デフォルトの名無しさん
12/10/01 19:34:24.67 .net
>>313
かわいい
元ネタ何?

322:デフォルトの名無しさん
12/10/01 19:46:46.39 .net
そのまんま「バリバリ AA」でggr

323:デフォルトの名無しさん
12/10/02 10:31:35.18 .net
312だけど、バリバリって何かと思ったら、あのバリバリか
誕生日に奥さんにポーターのバリバリ貰った俺は…

324:デフォルトの名無しさん
12/10/02 11:19:12.06 .net
ま、場を考えて使え。って点ではおなじだな。
Boost や C++99 の話をしているところに C++BUilder 使ってま~す。って入って行ったら
あのバリバリと同じ思いをすることになるしな。


325:デフォルトの名無しさん
12/10/05 07:23:14.72 .net
C++Builder XE3 を試しに使ってみたんだけど
SDIアプリを作成して
vectorを使おうと
#include <vector>
して
vector<int> abc;
と書くとエラーになる

何がいけないんだろ


326:片山博文MZボット ◆0lBZNi.Q7evd
12/10/05 12:41


327::44.65 .net



328:デフォルトの名無しさん
12/10/05 21:53:24.59 .net
>>321
ありがとう
うまくいきました。

329:デフォルトの名無しさん
12/10/18 01:58:27.76 .net
設定の段階で詰まりました
URLリンク(i.imgur.com)
e2075でcfgファイルの何がダメだのかわかりません
よろしくお願いします

330:デフォルトの名無しさん
12/10/18 03:45:38.68 .net
>>323
CFGファイルの中身晒せや

331:デフォルトの名無しさん
12/10/18 04:05:07.70 .net
全角スペースあたりかねぇ。あとは冒頭に UTF8 BOM が入っているか。
.cfg はテキストファイルだから、からのテキストファイルでエラーが出ないことを確認したうえで
一行ずつ追加しては動作確認すれば、どの行に問題があるか見つけられるでしょう

332:デフォルトの名無しさん
12/10/18 04:12:10.34 .net
BOMの可能性が高い。
試してに.cfgに-myoptionの行を入れてbcc32を実行すると
オプションの間違い: -myoption
と表示されるが、その部分が化けている。

333:デフォルトの名無しさん
12/10/18 05:23:03.20 .net
テレビ番組「つまらなくなった」が71.2% 「昔は良かった」の声
投稿日: 2012年10月17日 15:00

この秋の新番組を、読者の皆さんはご覧になっているだろうか?
10月10日にスタートした『相棒 Season11』の初回2時間スペシャルの平均視聴率は19.9%
(ビデオリサーチ調べ・関東地区)となり、『相棒』シリーズの初回としては過去最高のスタートを見せた。
この他にもNHKの朝ドラ「純と愛」も初回視聴率19.9%(ビデオリサーチ調べ 関東地区)と、
前回の「梅ちゃん先生」を初回視聴率で上回る好発進を見せている。

視聴率においては好調なものも複数あれど、「最近、テレビがつまらない」と嘆く声は
メディアやネットの意見でしばしば目にすることが多い。本当に「昔よりテレビはつまらなくなった」のだろうか?

双方向のデータ通信での視聴者参加型番組や、最新技術を駆使した映像など、
テレビで表現できることはますます広がってきているはずなのだが…。
「昔にくらべて、テレビ番組は全般的にどうなったと感じますか?」という調査では、結果は以下のようになっている。

・面白くなった:6.7%
・変わらない:15.8%
・つまらなくなった:71.2%
・わからない:6.3%

(リサーチパネル調べ、17万4805人が対象)

このように、実に7割以上の人が「テレビ番組がつまらなくなった」と回答。
年齢別では、10代が55.0%と最も低く、20代66.8%、30代69.7%とその数字は上昇。
40代以上の年代はすべて7割を越えた。
URLリンク(shunkan-news.com)


334:デフォルトの名無しさん
12/10/18 05:56:31.16 .net
すみません。誤爆しますた。

335:デフォルトの名無しさん
13/01/16 15:47:32.89 .net
C++Builder5でWindows7の64bitでMySQLをODBC経由で接続したいのですがエラーになります。
32bitなら正常に接続できます。
64bit用のodbcドライバに対応するlibとdllありますか?
ちなみにWin7 64bitにODBC32bit用ドライバをインスコしてもMySQLが出現せずに選択できませんでした

336:デフォルトの名無しさん
13/01/16 20:28:37.06 .net
具体的なアドバイスはできないけど、アプリケーションが32bitならODBCの設定もMySQLの
ライブラリも32bitのものを使うことになる。特にODBCの設定は64bitと32bitで別々なので要注意。



337:ス分ODBCの設定で64bitのほうを見て > MySQLが出現せずに選択できませんでした っていってるだけなような気がするけど…。



338:デフォルトの名無しさん
13/01/16 22:37:24.97 .net
Windows7の64bitの場合
ODBC接続マネージャーは普通にメニューから選ぶときと
.cplファイルを直接実行する場合とで
64bit用と32bit用で違うものが開かれる

339:デフォルトの名無しさん
13/01/17 10:25:25.77 .net
32bit用のMySQLのODBCドライバをインスコしてから
ODBCデータソースアドミニストレーターで新規作成をしても
リストにMySQLが表示されないんですが

340:デフォルトの名無しさん
13/01/17 10:32:33.44 .net
32bitのODBCデータソースアドミニストレータを起動してるか?

341:デフォルトの名無しさん
13/01/17 11:00:56.94 .net
管理ツールの中の
ODBCデータソースアドミニストレーター
は64bit専用

C:\Windows\SysWOW64\odbcad32.exe
が32bit専用の
ODBCデータソースアドミニストレーター

342:デフォルトの名無しさん
13/01/17 12:14:35.20 .net
>>333-334
ああ・・・
管理アレにあるのを起動してました。
これ64bitのですよね・・・
ありがとうございます。
32bitのを起動してみます

343:デフォルトの名無しさん
13/01/17 12:26:33.17 .net
ありがとうございました。できました!

が・・・
これ一度作ったのって構成で修正や削除ができない・・・

344:デフォルトの名無しさん
13/01/18 13:10:41.80 .net
ちょっとまた質問ですが
Win7の64bit版でODBC経由はうまくいったのですが
C++Builder5がインスコされていない別のPCでやると
データベースオープン時にエラーがでたので
InstallShield Express For C++Builder 5を使ってDB関係を含めてインストーラーを作ったのですが
これをWin7の64bit版で起動すると
このファイルのバージョンは、現在の実行中のWindowsのバージョンと互換性がありません
ってエラーが出てインストーラーが起動できません・・・
C++Builder5がインスコされてない64bit版でDBを扱うにはどうしたらいいのでしょうか・・・

345:デフォルトの名無しさん
13/01/18 14:22:08.70 .net
C++Builder2009をWin7の64bitで動かしてますよーって人はいる?

346:デフォルトの名無しさん
13/01/18 14:36:39.73 .net
>>337
ISXの作るインストーラは16bitアプリケーションなのでx64環境にはインストールできない
(x64環境では16ビットアプリケーションは動作しない)。
InstallShield買うなりInnoSetupのようなフリー/オープンのインストーラ使うなりご自由に。

347:デフォルトの名無しさん
13/01/18 17:00:24.08 .net
>>339
そうですか、ありがとう・・・

うーん、どうしよう
他のインストールシールドとかでどうやってC++Builder5のDB関係をインスコさせるのかわからないしなあ

348:デフォルトの名無しさん
13/01/20 19:34:15.58 .net
>>340
オレが開発委託者ならキミには頼まないわん。VBでも使ったほうが良くない??

349:デフォルトの名無しさん
13/01/21 11:18:03.34 .net
>>341
知らないならレスしないで下さい。ウザイだけです

350:デフォルトの名無しさん
13/01/21 19:03:25.81 .net
Delphi Pascal Compiler
コマンドラインコンパイラdcc32は、どういう場合につかいますか?

351:341
13/01/21 20:40:50.34 .net
>>341
ここにはIDでないからな。知らないで開発委託者の立場でレスはしない。
そんなことも知らないでC++を使ってるような経験値の低い開発者には
頼まないってこと。
MSがこれを入れておくと動きますよと言ってくれるVBで、といったのは
そういうわけ。
C++Builderはexeをコピーするだけで動くスタンドアロンなプログラムが作
れるのが利点の1つ。

352:341
13/01/21 20:52:06.09 .net
やれやれ、アンカみすってる。で、ここは超初心者スレだったのか。

プロジェクト→オプション

パッケージタブ 実行時パッケージを使って構築 のチェックをはずす。

リンカタブ リンクの共有RTL DLLを使う のチェックをはずす。

この2つで自前でLoadするDLL以外の依存は完全になくなる。実行ファイ
ルがでかくなるって嫌う人も多いが、そりゃ32Mバイトのメモリが広大だっ
たころの話。
これでデータベースのエラーがでるならそれはどこかがバグってる。

353:デフォルトの名無しさん
13/01/21 21:43:56.42 .net
>>344-345 ほんとに何も知らないならレスしないください。ウザイだけです。



355:デフォルトの名無しさん
13/01/30 16:46:48.89 .net
TChartで質問ですが
Series1->YValue[n] = 123;
みたいに既に作成されているグラフのn番目に値を後から変更できますが
Series1->Add( 0, "gggg", clTeeColor );
のようにAddした際にテキストとしてAddしているのですが
このテキストを↓
Series1->YValue[n] = 123;
これみたいに後からテキストの値を変更する方法を教えてください

356:デフォルトの名無しさん
13/01/30 16:55:03.70 .net
あ、ごめんでけた^^

357:デフォルトの名無しさん
13/02/22 00:11:14.73 .net
C++Builder2010を使用しています。
スレッド間の排他制御に関して教えて下さい。

A、Bの2個のスレッドがあります。
Aで計算するデータをBで参照するだけの場合でも排他制御はした方が良いのでしょうか?
具体的にはAはループ処理でずっと計算をしています。
Bは定期的(1秒に1回とか)に計算結果をGUIに表示するだけです。

どなたかアドバイスをお願い致します。

358:デフォルトの名無しさん
13/02/22 00:16:26.09 .net
当たり前だろ
マルチコアで変数に代入中に値を参照したらどうなる
アトミックなOS APIを使おう

359:349
13/02/22 00:48:14.88 .net
>>350

有り難うございます。
排他処理実装します。

「アトミックなOS API」の検索キーを教えて頂けませんか?
あちこち見て、クリティカルセクションというのを試して見ようと思っていました。

360:デフォルトの名無しさん
13/02/22 00:54:15.07 .net
>>351
単純な排他制御はパフォーマンスに悪影響を及ぼす事がある

クリティカルセクションは主にデバイスドライバで使用する
一番多く使うのはMutex
インターロックAPI
セマフォ
イベント

などかな

361:デフォルトの名無しさん
13/02/22 06:20:24.65 .net
いま、同一パソコン上で、2つのWindowsアプリケーションを動作させてて、そのプロセス間通信でメモリマップドファイルを利用してファイルデータの受け渡しを行ってるんですが、一方のWindowsアプリケーションを別のパソコンへ持っていきたいと考えてます。
この場合、イーサネットで接続するようになるのですが、名前つきパイプを利用すれば同等の機能が実現できますでしょうか?

362:デフォルトの名無しさん
13/02/22 08:37:37.69 .net
それC++Builderに関係ない話だね
Win32スレで聞いたらいいかも
あ、今荒れてるか

363:デフォルトの名無しさん
13/02/22 18:48:14.14 .net
出来るか出来ないかで言えば出来る

364:デフォルトの名無しさん
13/02/22 20:17:29.42 .net
メールスロットでもいいんじゃねーの
プロセス間通信でしょ

365:片山博文MZパンク ◆0lBZNi.Q7evd
13/03/22 23:23:20.90 .net
無料でC++Builderを使いたい。どこにあるの?

366:デフォルトの名無しさん
13/03/22 23:32:57.19 .net
>>357
警察に言って聞くといいよ!

367:デフォルトの名無しさん
13/03/23 07:51:11.24 .net
現在は14日間のTrialのみ

368:デフォルトの名無しさん
13/03/23 16:33:24.75 .net
試用期間は300日ですぞ

369:デフォルトの名無しさん
13/05/11 16:43:38.72 .net


370:デフォルトの名無しさん
13/06/29 13:23:11.65 .net
2010からXE4にVUPしたのですがプロジェクトオプションのデフォルト設定の仕方が分かりません
またパッケージを未使用にして保存してもいくつかXE4を再起動するとオンになってしまいます
(プロジェクトを保存して開き直す場合は反映されているのにXE4を再起動するとダメです)
XE3をいれてみても同じです。どうしたらいいの?

371:デフォルトの名無しさん
13/06/29 17:22:08.08 .net
デフォルトのプロジェクト設定はXE2辺りで無くなった
便利だったのにね

ファイルに保存できるオプションセットを使えだとさ
これ、正直仕様がよく分からん

372:デフォルトの名無しさん
13/06/29 19:06:04.50 .net
ありがとう!やっぱりそれですよね
でもパッケージの使用可否はやはり設定できないようです

373:デフォルトの名無しさん
13/07/01 NY:AN:NY.AN .net
俺も>>362と同じく2010からXE4に


374:した者なんだけど Releaseでコンパイルする方法がわからない・・・ 以前は構成マネージャでdebugとreleaseを切り替えてたのに無くなってるので これ何処で設定するの??



375:デフォルトの名無しさん
13/07/01 NY:AN:NY.AN .net
表示メニューに移動してた・・・

何でこんな糞みたいなことするんだろ
デフォのプロジェクト保存とか勝手に無くすし

376:デフォルトの名無しさん
13/07/01 NY:AN:NY.AN .net
プロジェクトオプションのダイアログの一番上にあるターゲットじゃないの?

377:デフォルトの名無しさん
13/07/01 NY:AN:NY.AN .net
>>367
それってたぶん、プロジェクト設定のターゲットじゃないかな、かな。
まあとりあえず解決したんだけどさ


つーか、exeでかすぎwwwwwwwwwwwwwwwwwwwwwwwwwwwww
とりあえずフォームだけのをコンパイルしてみたらexeが4MBってwwww
大丈夫なのかこれwwwwwww

以前C++Builder5でexeが肥大するバグがあってするUpdateが出たけど
何で使いもしないのも無理やりexeに組み込むんだろ

378:デフォルトの名無しさん
13/07/01 NY:AN:NY.AN .net
自分の所でしか動かさないのなら動的RTLの使用にチェックを入れとけば?

379:デフォルトの名無しさん
13/07/01 NY:AN:NY.AN .net
DebugとReleaseを切り替えるのって
プロジェクトマネージャで1ダブルクリックじゃん
XE4すげー便利じゃん

380:デフォルトの名無しさん
13/07/01 NY:AN:NY.AN .net
>>369
XE4入ってない環境で動かすから
>>370
プロジェクトマネージャ邪魔で非表示にしてるから今まで使った事ないんだよね

381:デフォルトの名無しさん
13/07/01 NY:AN:NY.AN .net
これツールバーカスタマイズでアクティブ構成のアレ追加できればいいのに

382:デフォルトの名無しさん
13/07/01 NY:AN:NY.AN .net
プロジェクトマネージャが邪魔なら
オブジェクトインスペクタとかと同じ場所にタブにして置けばいいじゃん
タブ1クリックで切り替えられるんだからさ

383:デフォルトの名無しさん
13/07/01 NY:AN:NY.AN .net
なるほど、タブでアレしたらよさげな感じになりそうですね

っていうか・・・
64bitコンパイルできるっつーからゲットしたんだけど
これプロジェクトのターゲットに32bitしか表示されないんだけど・・・
どやったら64bitでコンパイルできるんですかね??

384:デフォルトの名無しさん
13/07/01 NY:AN:NY.AN .net
プロジェクトマネージャ
ターゲットプラットホーム
右クリック
プラットホームの追加

385:デフォルトの名無しさん
13/07/01 NY:AN:NY.AN .net
>>375
ありがとうできました・・
これプロジェクトマネージャからでしか追加できないのかなあ

めっちゃ64bitをアピールしまくってたくせに何でデフォで選択できないんだろこれwwww

386:デフォルトの名無しさん
13/07/01 NY:AN:NY.AN .net
フォームだけのexeで4MBは多分Builderのリンカがアホなのが原因
sensorとか使ってないRTLがてんこ盛りにリンクされてる

DelphiでフォームだけだとXE3では2.2MBくらいだった

387:デフォルトの名無しさん
13/07/01 NY:AN:NY.AN .net
>>377
マジですか
むしろDelphiでもXE4にしたら4MBくらいになったりとか?

ちなみに、C++Builder1、3、5、6、2007、2010、EX4と使ってきたけど
新しいのリリースする度にどんどんexeが肥大化してってるww
まあいろんな機能が実装されてるから仕方ないんだろうけど
フォームだけで4MBは無いよなあ・・・

388:デフォルトの名無しさん
13/07/01 NY:AN:NY.AN .net
今やってみたら、Delphi XE4でもフォームだけで2.2MBだった。
俺の所ではBuilder XE4では3.5MBだけど何が違うんだろう?

リンカのオプションでマップファイル出力を詳細にすると何がリンクされているか分かるよ

389:デフォルトの名無しさん
13/07/02 NY:AN:NY.AN .net
動的RTLのチャック入れてるとか?

390:デフォルトの名無しさん
13/07/02 NY:AN:NY.AN .net
チャックって!!
チェックって脳内変換してね^^

391:デフォルトの名無しさん
13/07/04 NY:AN:NY.AN .net
XE4でさ、メモリをコピーだけするのを作ったのさ
んで、64bit OSで32bitと64bitでコンパイルして速度計ったら
64bitでコンパイルした方が倍時間がかかってたんだけど、何で?

392:デフォルトの名無しさん
13/07/04 NY:AN:NY.AN .net
ソースさらせ
単に対象メモリサイズまで倍になってるってことじゃないだろうな

393:デフォルトの名無しさん
13/07/04 NY:AN:NY.AN .net
単純にメモリコピー速度を32bitと64bitで比較するためにアレしてみただが

#define DIBBUFFERSIZE (1920*2048*4)
DWORD *Dib1;
DWORD *Dib2;
Dib1 = (DWORD *)::VirtualAlloc( NULL, DIBBUFFERSIZE, MEM_COMMIT, PAGE_READWRITE );
Dib2 = (DWORD *)::VirtualAlloc( NULL, DIBBUFFERSIZE, MEM_COMMIT, PAGE_READWRITE );
int ms = ::GetTickCount( );
for( int i = 0


394:; i < 100; i ++ ){  ::CopyMemory( Dib1, Dib2, DIBBUFFERSIZE ); } ms = ::GetTickCount( ) - ms; Panel1->Caption = ms; :: VirtualFree( Dib1, DIBBUFFERSIZE, MEM_DECOMMIT ); :: VirtualFree( Dib2, DIBBUFFERSIZE, MEM_DECOMMIT );



395:デフォルトの名無しさん
13/07/04 NY:AN:NY.AN .net
CopyMemory が原因みたいだな
*des++=*src++
で単純にコピーすると64bitの方が速いな

396:デフォルトの名無しさん
13/07/05 NY:AN:NY.AN .net
>>385
やってみた。
64bitの方が早くはならなかったが同じくらいの速度にはなった。

397:デフォルトの名無しさん
13/07/05 NY:AN:NY.AN .net
System::Move()とかmemcpyだとどうかな?

398:デフォルトの名無しさん
13/07/05 NY:AN:NY.AN .net
memcpyはCopyMemoryと同じだった
Moveは使ってないっぽ

399:デフォルトの名無しさん
13/07/05 NY:AN:NY.AN .net
Moveやってみた
forで回すのと同じくらいの速度で32も64も同じくらいの速度だった

400:デフォルトの名無しさん
13/07/05 NY:AN:NY.AN .net
Moveはx86だとfastcodeのアセンブラで、x64はfastcodeのpascalコードなので、同じくらいというのは
まぁそんなもんかという気はする。

401:デフォルトの名無しさん
13/07/06 NY:AN:NY.AN .net
::CopyMemory って WinAPI 呼ぶんじゃないの?

402:デフォルトの名無しさん
13/07/06 NY:AN:NY.AN .net
>::CopyMemory って WinAPI 呼ぶんじゃないの?
CopyMemory自体がWin32API

403:デフォルトの名無しさん
13/07/07 NY:AN:NY.AN .net
>CopyMemory自体がWin32API
じゃ遅くても仕方ないな。Win64 API 使えないのかよ。
使えねーつーるだな

404:デフォルトの名無しさん
13/07/07 NY:AN:NY.AN .net
さてどうしようか

405:デフォルトの名無しさん
13/07/07 NY:AN:NY.AN .net
またmalloc()やプリコンパイルヘッダの時みたいにユーザーが提案してきた
ルーチンを組み込むつもりなのかな

406:デフォルトの名無しさん
13/07/08 NY:AN:NY.AN .net
>>393
えっ?

407:デフォルトの名無しさん
13/07/08 NY:AN:NY.AN .net
64bitネタがでていたのでXE4にVUPしてから64bitでビルドしてなかったので試してみたら3倍速位になった
デジカメのRAW現像なのでshort変数ばかり使ってるんだけどなぜ速くなったのか全くわからん

408:デフォルトの名無しさん
13/07/09 NY:AN:NY.AN .net
exeのサイズは何倍になった?

409:デフォルトの名無しさん
13/07/09 NY:AN:NY.AN .net
32bitで3.4Mが64bitは9.8Mになってた
ランタイム不要のReleaseビルドでの比較です
2010で作成したソースをClipboardで使われているNativeUIntの部分を条件分岐追加してコンパイルしただけ

410:デフォルトの名無しさん
13/07/09 NY:AN:NY.AN .net
XE4 での 32bit 版の大きさも知りたいところだな

411:デフォルトの名無しさん
13/07/09 NY:AN:NY.AN .net
何の大きさ?チンポ?

412:デフォルトの名無しさん
13/07/09 NY:AN:NY.AN .net
XE4 での 32bit 版のチンポも大きさも知りたいところだな

413:デフォルトの名無しさん
13/07/09 NY:AN:NY.AN .net
だから32bit版の何の大きさを知りたいのさ?チンポ?

414:デフォルトの名無しさん
13/07/09 NY:AN:NY.AN .net
399は両方XE4です
2010だと1.2Mだった
サイズはあまり気にしないがやっぱりでかくなってるんだな

415:デフォルトの名無しさん
13/07/09 NY:AN:NY.AN .net
チンポ?

416:デフォルトの名無しさん
13/07/10 NY:AN:NY.AN .net
C++Builder XE4でandroidアプリって作成できますか?

417:デフォルトの名無しさん
13/07/10 NY:AN:NY.AN .net
出来ねーよ

418:デフォルトの名無しさん
13/07/10 NY:AN:NY.AN .net
雑魚は黙ってろよ

419:デフォルトの名無しさん
13/07/17 NY:AN:NY.AN .net
C++Builder5で質問なんだけど
最初はなんともなかったんだけど
フォーム数が増えてきてからコンパイルするとアイコンがデフォになってしまう
その状態になっても何度も再構築してたらちゃんと指定したアイコンになる時もあったんだけど
今はもう完全に何度再構築してもデフォアイコンのまま
しかもこの現象はXPだけでWin7だとちゃんとアイコンが表示されている。
このバグを回避してちゃんと指定したアイコンになる方法を教えてくださ・・・・

420:デフォルトの名無しさん
13/07/17 NY:AN:NY.AN .net
GDIオブジェクト数の制限が掛かってるんじゃね?
レジストリいじって再起動かも

421:デフォルトの名無しさん
13/07/17 NY:AN:NY.AN .net
レジストリどこ弄くればいいですかね?

422:デフォルトの名無しさん
13/07/17 NY:AN:NY.AN .net
URLリンク(technet.microsoft.com)

ここをよく読んで

URLリンク(factory.sakura.ne.jp)

これで変更

レジストリエディタでも変更できるけど間違えるとWindowsが起動しなくなったりして危険

しかし制限値は10000なのでこれが原因じゃないような気がするなあ

423:デフォルトの名無しさん
13/07/17 NY:AN:NY.AN .net
>>412
ありがとう。
よく読んでアレしてみます

424:デフォルトの名無しさん
13/07/17 NY:AN:NY.AN .net
プロセス毎に10000だよ?
Formにそれだけのコンポーネント乗っけてないよね?

425:デフォルトの名無しさん
13/07/17 NY:AN:NY.AN .net
1つのフォームに1万も乗せてないですが
フォーム数は100ちょいで合計してもコンポーネント数は1万も無いかもあるかもって感じですが

426:デフォルトの名無しさん
13/07/17 NY:AN:NY.AN .net
dfmファイルは116ありました。
ちなみにちなみに、浅いフォルダでコンパイルすると正常にアイコンが表示されます
と言ってもダメな時のフォルダ階層って4つくらいなんですけどね・・
ルートにフォルダ作ってそこでやると何故か大丈夫

427:デフォルトの名無しさん
13/07/17 NY:AN:NY.AN .net
>>416
それじゃあ>>412やっても変わらないだろうな・・・
俺の場合はJaneStyleで多量のJPGを一気に開くと画面が崩れるので設定を変えたんだが
他の原因だな

428:デフォルトの名無しさん
13/07/17 NY:AN:NY.AN .net
浅いフォルダだとおk?
もしかしてパスの長さがMAX_PATHを超えてないか?

429:デフォルトの名無しさん
13/07/17 NY:AN:NY.AN .net
>>417
やっぱ変わらないですか

>>418
浅いフォルダ階層だとおkですがしかし
しかし、フォーム数が少ない時やもっと深い階層で他のフォームが少ないのは大丈夫
階層深くてもフォルダ名が短いのでMAX_PATH超えることはないです256ですよね?
せいぜいあって100バイトあるかないかですね

430:デフォルトの名無しさん
13/08/05 NY:AN:NY.AN .net
C++Builder2009で作成したプログラムをWindows7で実行したのですが
リストビューのカラム幅を変更しようとドラッグすると、ドラッグ途中では
再描画されずに縦棒で位置を示す表示がされるだけで、ドラッグ終了で
位置が確定してやっと新しいカラム位置で再描画されます。
これは2009はWindows7をサポートしていないことが原因でしょうか?。
また2009でもドラッグ中に再描画できるようなウラ技(?)とかありますか?。
スプリッターはResizeStykeをrsUpdateにしておけば旧OSと同様に
処理されていますが、カラムの変更も同じような感じにしたいのですが・・・。

431:デフォルトの名無しさん
13/08/08 NY:AN:NY.AN .net
C++Builder2009なんですが、

TTreeview の LoadFromFile と SaveToFile メソッド

内部的にはUnicode だと思うんだけど、 SaveToFile で Unicode で保存まではいいんだけど
LoadFromFile で Unicode で読み込んでくれず、どうやらS-JISで読んでいるみたいなんです。

LoadFromFile で Unicode で読み込む方法か、
もしくは SaveToFile で S-JISで保存する方法があったら教えてください。

TStringList だと TEncoding で指定できるのに・・・。

432:デフォルトの名無しさん
13/08/08 NY:AN:NY.AN .net
overloadされたLoadFromFileが存在してない?

433:デフォルトの名無しさん
13/08/08 NY:AN:NY.AN .net
ないです。

E2227 _fastcall TCustomTreeView::LoadFromFile(const UnicodeString) の呼び出しに余分なパラメータがある

といわれます。

434:デフォルトの名無しさん
13/08/08 NY:AN:NY.AN .net
どうにも方法がないなら、TStringList→TStream系→TTreeviewでなんとかなりませんかね。
もしくは、TStringList.Text→TStringStream→TTreeviewとか。
当方Delphiかつ現在環境を用意してないので試してはいない。適当でスマソ。

435:デフォルトの名無しさん
13/08/09 NY:AN:NY.AN .net
>>424
TStream系に変換してみましたが、TTreeview のLoadFromStream の段階でダメのようです。

当面は原始的に各ノードに対して .StringOfChar('\t',Node->Level)+Node->Text; をTStringListに追加していって、それを保存という感じで対応しようと思います。
この方法で保存したものなら TCustomTreeView::LoadFromFile(const UnicodeString) でちゃんと読み込めましたので。

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

436:デフォルトの名無しさん
13/08/15 NY:AN:NY.AN .net
評価式についての質問なんですが。

int a=10,b=20;

if(a+=b && a==30) { }

こういう式があったとして、これって真になるということは保証されていましたっけ?
されてない?

if( (a+=b) && a==30) { }

こうすればOK?

437:デフォルトの名無しさん
13/08/16 NY:AN:NY.AN .net
変態コードだけど、いいんじゃね?

438:デフォルトの名無しさん
13/08/21 NY:AN:NY.AN .net
C++Builder6で作られたソフトのメンテやらされているんだけど
簡単な画像処理で
Image1->Canvas->Pixels[x][y]=color;
で512*512


439:ぶん回してるところがやたら遅いんだけど Canvasを実メモリ配列に吸い出して なんか処理してから 元に戻したいんだけど、どうすればいいんでしょ? サンプルコードでもあれば教えてください。



440:デフォルトの名無しさん
13/08/21 NY:AN:NY.AN .net
>>428
今日も面接いってきたよ 2012年の3月から147社正社員面接しているのに採用されないよ
正社員歴2年の高卒の27だよ 福岡市に一人で住んでるよ 身長174センチ体重55キロだよ
資格は 簿記3級 秘書検定3級 ITパスポート,運転免許 モスのエクセルとワードだよ
これはネタではないよ
事実だよ
コピペでもないよ

441:デフォルトの名無しさん
13/08/21 NY:AN:NY.AN .net
>>428
ScanLine()で一行分ゴッソリ取ってくるのが普通じゃないの?

442:デフォルトの名無しさん
13/08/21 NY:AN:NY.AN .net
>>430
ありがとうございます。
VC++ばかりやってたのでVCLのメソッドがよく判っていません。
明日やってみます。

ついでと言ってはなんですが、これ以外にcanvasのイメージを一気にxy配列で取り込む方法ってありますか?

443:デフォルトの名無しさん
13/08/22 NY:AN:NY.AN .net
>>431
CopyRect使えばTBitmapにコピー出来るけどそんな事したいのか?
配列に取り込むには一度TBitmapに変換してからじゃないと1ドット毎に
システムコールが起きるので遅くて仕方がない

444:デフォルトの名無しさん
13/08/22 NY:AN:NY.AN .net
だいたいWindowsのビットマップは丸っきり前後関係が逆なのでC言語の配列とは
相性が最悪なんだよな

C<=>FORTRANで行と列を交換するtranspose()位の手間がかかる

445:デフォルトの名無しさん
13/08/22 NY:AN:NY.AN .net
ここはくだすれ...

歴史的に Windows BitMap の内部フォーマットは千差万別。かつ、連続したメモリブロックになっていない場合もある(あった)
ので結構めんどくさい。ひとことで言うと例外が多い。
素性のはっきりしたデータを最新の OS で動かすのであればそんなに問題ないんだけど
どんな画像でも、ちょっとふるい OS でも、となるとね...

なので一ピクセル単位のアクセスってのが、とっても遅いんだけど、まぁ安全。ってこと。
もうちょい早く処理したいなら ScanLine を使えば水平一ラインごとに読み書きできるので
たいていこちらを使う。

446:デフォルトの名無しさん
13/08/22 NY:AN:NY.AN .net
千差万別って、DDBとDIB Sectionの2種類しかないじゃないか

447:デフォルトの名無しさん
13/08/22 NY:AN:NY.AN .net
フルカラーの24bit16万色が(+8bitα値がGDI+)当たり前の今は関係ないけど、
昔は少ないVRAMにパレットを割り当てる事によって原色に近い色を出してたろ

そういうのを全部VCLに吸収して表面から見えないようにしていたので、プログラム
によってはびっくりするような結果が出ていた

そこまで考慮するかどうかで対応策も違ってくる
無視していいと思うんだけどね

448:デフォルトの名無しさん
13/08/22 NY:AN:NY.AN .net
×16万色
○256^3≒1677万色

449:デフォルトの名無しさん
13/08/22 NY:AN:NY.AN .net
URLリンク(www13.plala.or.jp)

ここが分かりやすいな

俺はDelphi Graphic Secretsというすっげー古い本を読んでるけど
今でも関心するような事が書いてある

でもほとんど今では役に立たないような事が多いけどな
VCLがいかに初期Windowsのヒデエ場所を隠蔽して見えなくしているかも
だいたい分かる

450:431
13/08/22 NY:AN:NY.AN .net
皆様のご親切に感謝です。
全体の内容がわかってなくての質問でした。

よく見てみると今回の質問は
ネットワークからモノクロ8ビット


451:の画像データをメモリ配列に取り込んで このメモリ配列の画像データを小さいウインド画面でモニタするために  color=data*0x10000+data*0x100+data;  Image1->Canvas->Pixels[x][y]=color; // これをグルグル とやっているのを高速化したいのですがお勧めの手法はなんでしょうか? 単純に画像メモリ配列データをウインドに画像として出力したいということで 古いOSと古いマシンの対応は不要です。 勉強不足長文すみません。



452:デフォルトの名無しさん
13/08/22 NY:AN:NY.AN .net
URLリンク(www.geocities.jp)

こんな感じでScanLine()を行数分繰り返して出来たBitMapを
Imageに代入

453:デフォルトの名無しさん
13/08/22 NY:AN:NY.AN .net
ああそうだ、初めて知ったんだけど、ImageコンポーネントのPictureプロパティの
HandleからHBITMAP構造体へのポインタを得て、BITMAP構造体を
GetTObject()で取得しても、bmBitsはNULLになっちゃうのな
これどうすればいいんだろ

454:431
13/08/23 NY:AN:NY.AN .net
>>440

おかげさまで何とか理解出来ました。

初歩的な質問に付き合っていただきましてありがとうございました。

455:デフォルトの名無しさん
13/08/23 NY:AN:NY.AN .net
>>441
そっちには入っていない
MaskHandleの方に入っている
というかわざわざカプセル化されているVCLの中身を覗いてゴニョゴニョしたいのなら
初めからMFCで書けばいいだろ

456:デフォルトの名無しさん
13/08/30 NY:AN:NY.AN .net
TBitmap(もしくは、TCanvas)の2つを透過コピーするサンプルコード下さいorz


>>441

TImage->Picture->BitmapのWidthかHeightを設定するタイミングでアサインされるんでわ?

457:デフォルトの名無しさん
13/08/30 NY:AN:NY.AN .net
ScanLineでマスク画像の白の部分以外を描けばいいだけじゃない?
マスク画像使わないんなら設定した色以外の場合だけ描けばいいんじゃない?

458:デフォルトの名無しさん
13/08/30 NY:AN:NY.AN .net
AlphaFormatの事だとVCLは事情が異なるからなあ

GDI+をサポートしていないので、描画時に考慮するだけで他の動作は違うし

459:444
13/08/30 NY:AN:NY.AN .net
>設定した色以外の場合だけ描けば

調べても動作させても上手くいかなかったので、そうします。

460:デフォルトの名無しさん
13/08/30 NY:AN:NY.AN .net
ListViewでレポート表示させている場合に、ある行にフォーカスを設定すると
その行が画面に見えてない時には見える位置まで自動でスクロールしてしまうのですが
スクロールさせないようにすることは可能でしょうか?
スクロールしてしまった後に自力で戻すしかないでしょうか?

461:デフォルトの名無しさん
13/08/31 NY:AN:NY.AN .net
ある行にフォーカスを設定ってSelectedってこと?
だとしたらウチではそんなことにならないんだけど…

462:デフォルトの名無しさん
13/08/31 NY:AN:NY.AN .net
SelectedじゃなくてFocused
設定すると点線で囲まれる

463:デフォルトの名無しさん
13/08/31 NY:AN:NY.AN .net
ListView1->Items->Item[10]->Forcused=true;
にしても全然スクロールしないよ。XEだけど

464:デフォルトの名無しさん
13/08/31 NY:AN:NY.AN .net
その行が表示されていない状態でフォーカスを設定すると見える位置までスクロールしない?
ファイラーなんかでフォーカス行が見えていない時に↑↓キーでフォーカス行を変更すると
見える位置までスクロールするのと同じことなんだけど

465:デフォルトの名無しさん
13/08/31 NY:AN:NY.AN .net
>>451
描画の更新するとどうなる?

466:デフォルトの名無しさん
13/08/31 NY:AN:NY.AN .net
ListView1->Invalidate();しても移動しないよ

467:デフォルトの名無しさん
13/08/31 NY:AN:NY.AN .net
UpdateやRefreshは?
あと移動しないということは見えない状態のままということだよね
それで↑↓キーをどっちか押すと見える位置まで移動する?

468:デフォルトの名無しさん
13/08/31 NY:AN:NY.AN .net
いろいろ試してみた結果 「Forcusedをtrueにしたから」 というわけでもなく
再描画されたタイミングでフォーカス行までスクロールされているみたい
あと仮想リストビューを使っているのでその辺も違いがあったかもしれない
リストのデータを更新してCountに件数をセットしたタイミングでスクロールされていた
(フォーカスを設定していたタイミングではなかったので、ここで勘違いしてた)
なのでCountに件数をセットする前に表示されている一番上の行番号を退避しておいて
件数をセットした後でまた元の一番上の行番号が見えるように戻してやることで解決したっぽいです
ここまでお付き合いして情報を


469:寄せて頂きありがとうございました



470:デフォルトの名無しさん
13/09/05 17:36:57.52 .net
C++Builder6のIDEについて質問です。
IDE使用中にパソコンがフリーズしたことがあり、それ以来エラーが出るようになりました。
エラーのメッセージは下記リンク先と全く同じです。

URLリンク(www.functiont.info)
2005年9月18日(日) Delphiの本体でエラー?
--
モジュール 'vcl60.bpl' のアドレス 40110C48 でアドレス 00000018 に対する書き込み違反がおきました。
モジュール 'coreide60.bpl' のアドレス 0052700C でアドレス 000000B4 に対する読み込み違反がおきました。

私の場合は一応は使えるのですが、IDEのメニューで「開く」から別のプロジェクトを開くと
この上のエラーメッセージが出ます。そして検索やコンパイル結果が表示されるウィンドウが
ドッキングから外れて浮いた状態で小さく表示されます。この後このウィンドウを
ドッキングし直せば以降は普通に使えるのですが、また別のプロジェクトを開くと
同じ事象が発生します。
またこのウィンドウをドッキングから外したりして弄っていたら下のエラーメッセージが出ました。

リンク先では再インストールで直ったとあるので、修復インストールや、アンインストール後に
インストールし直してみたりしたのですが改善されませんでした。
ファイルが壊れたのなら上書きで直りそうですが、何かゴミデータでも残っているのでしょうか?。
そのウィンドウの位置やサイズ情報を読み込んで変な位置に表示しようとしてエラーが出ている
ようにも思えるのですが、何かお心当たりのある方いらっしゃいますか?。

471:デフォルトの名無しさん
13/09/05 17:47:04.84 .net
レイアウトファイルぶっ壊れてるんじゃね
デスクトップレイアウトとデバッグレイアウトを上書き保存したらどうだろうか

472:デフォルトの名無しさん
13/09/05 18:18:41.61 .net
レスありがとう。
「標準」という名称でデスクトップの配置を保存してみましたがやはり上のメッセージが出ますね。
また 表示→デスクトップの配置→標準 という感じで保存した名称「標準」を選択しようとしても
同じエラーメッセージが表示されて選択できず <未指定> にチェックが付いたままになります。
この配置の読み込みでエラーが出るということはその辺に問題点があるということなのでしょうけど
一体何を読み込んでしまっているのだろう・・・。
保存すると 標準.dst というファイルが作成されましたが、同じフォルダ内にある bcb.dsk と見比べて
みればいいのかな?。 dsk ファイルも散々書き換えて試したのですが、やはりこの辺を徹底的に
調べるしかないか。

473:デフォルトの名無しさん
13/09/05 19:59:35.35 .net
URLリンク(docwiki.embarcadero.com)

このあたりはどうなん
俺のXE4でも使えたけど

URLリンク(stackoverflow.com)

こんなのも発見した

HKEY_CURRENT_USER\Software\CodeGear\BDS\6.0\Session\DesktopName=Default Layout
HKEY_CURRENT_USER\Software\CodeGear\BDS\6.0\Session\RuntimeDesktopName=Debug Layout

壊れてないか?

474:デフォルトの名無しさん
13/09/05 21:22:19.99 .net
C++Builder6なので同じような項目を探してみたところ以下のような箇所を見つけました。

[HKEY_CURRENT_USER\Software\Borland\C++Builder\6.0\Session]
"DesktopName"=""
"RuntimeDesktopName"=""

現状では空欄になってますけど、これに各々 Default Layout と Debug Layout って入れるということなのかな?。

475:デフォルトの名無しさん
13/09/05 21:38:11.37 .net
古いパソコンにもC++Builderを入れてたので(こちらは問題なく動く、けどパソコンが�


476:ヘ) レジストリを見てみましたがその2つの項目自体が無いですね。関係ないかもしれないです。 >>459 で「標準」という名前でデスクトップ レイアウトとデバッグ時のレイアウトを作ったので その時に追加されたのかもしれない。そして症状が変わらなかったため削除したので 空欄になってるだけみたいです。



477:デフォルトの名無しさん
13/09/05 22:05:26.23 .net
参考にならないかも知れないですがXE4ではこうなっています

[HKEY_CURRENT_USER\Software\Embarcadero\BDS\11.0\Session]
"RuntimeDesktopName"="Debug Layout"
"DesktopName"="Default Layout"

478:デフォルトの名無しさん
13/09/05 22:26:56.87 .net
URLリンク(edn.embarcadero.com)
8.デスクトップレイアウトの設定

2009辺りからもプリセットで用意されてるみたいですね。
バージョン6の頃はまだ無いみたいです。

またアンインストールしてみるかなぁ。
多分レジストリに情報が残っていたんじゃないかと推測。
BCB6RegClean.exeをやればいいのかな?。

479:デフォルトの名無しさん
13/09/26 23:00:41.47 .net
XE2で、エントリーポイント(WinMain)があるファイルの
USEFORMマクロの上に気が付いたら空行を
どんどん追加されてるんだけど、これどうにかならないの?

480:デフォルトの名無しさん
13/09/28 19:03:52.62 .net
C++Builder2009Proを使っています。
.pas ファイルをコンパイルしようとしているんですが、Indy系のファイルが見つからないとしてエラーになってしまいます。

>[致命的エラー] F1026 ファイル 'IdBaseComponent.dcu' が見つかりません

cppのC++で書かれたフォームにIdHTTPを貼り付ける → コンパイルは通る。
pasのDelphiで書かれたフォームにdHTTPを貼り付ける → 上記のエラーが出る。

C++Builder2009に付属のdccコンパイラはお試し的なもので本格的にコンパイルできるようにするにはDelphi買えってことなんでしょうか?
それともなにか方法があるんでしょうか。
(まあC++BuilderだけでDelphiも利用できたら分ける意味が無いなとは思うのですが)

481:デフォルトの名無しさん
13/09/28 19:43:41.98 .net
>>466
Delphiユーザーですが、IdBaseComponent.dcuが存在するならば
そこへのライブラリパスが適切に設定されていないのでは?
という気がします。

482:デフォルトの名無しさん
13/10/08 16:46:16.13 .net
Delphi糞ユーザーは口をはさまないで下さい。うざいだけです。

483:デフォルトの名無しさん
13/10/08 20:14:26.21 .net
>>468
お前どこでも荒らしてるな
DelphiもC++Builderも持ってない癖に

484:デフォルトの名無しさん
13/10/08 20:45:58.37 .net
触らないほうが…

485:デフォルトの名無しさん
13/10/10 03:23:18.25 .net
エンバカってバグ取り=アップデート(要お布施)ってこと?
XE6が出ても、新規では10万するのかな

486:デフォルトの名無しさん
13/10/13 12:32:54.38 .net
リリースビルドの設定でパッケージを含んで動的リンクさせないような設定にしたいんだけど
毎回プロジェクト作るごとに設定するの面倒だからデフォルト設定にしたいんだけどそう言う設定ないの?

487:デフォルトの名無しさん
13/10/13 12:50:08.40 .net
よくわからんけど。
「プロジェクト」->「オプション」メニューから設定してない?
「ツール」->「オプション」から設定すればデフォにならない?

488:デフォルトの名無しさん
13/10/13 13:24:40.58 .net
ビルドの設定はわからなかったけど、フォーマッタって言うの見てたら
ソースの成形っていうメニューがあることを初めて知って設定して実行したらいい感じになった
VSだとある程度自動だけどこれいいな

489:デフォルトの名無しさん
13/10/14 10:02:24.58 .net
>>472
どのバージョンを使ってるのか分からないけど
プロジェクトのデフォルト設定はXEまではあったが、XE2からは廃止された
XE2からはオプションセットにプロジェクト設定を保存して、それを適用しろという事らしい

490:デフォルトの名無しさん
13/10/17 11:29:53.79 .net
Builder XE4でNMSMTPってみつからないんだけど?
なくなった?
Indy使えってこと?

491:デフォルトの名無しさん
13/10/17 19:24:33.34 .net
NM*とはずいぶん古いな。とっくに作ってた会社もなくなってる。Indyでどうぞ。

492:デフォルトの名無しさん
13/10/17 21:30:50.90 .net
入�


493:ヘ補完でキャストすれば行けるのに出てこない候補とかあるんだけど 設定とかあるの?



494:デフォルトの名無しさん
13/10/17 21:31:22.72 .net
あ、XEです

495:デフォルトの名無しさん
13/10/23 11:10:01.90 .net
XE4ってデフォでAPIがWCHARになってるんだけど
WriteFileって引数はWCHARで通るのに書き出されたファイルみると
ちゃんとなってない・・・
アスキーの"123"ってかきたかったのに"1 2 3 "ってなっちゃうんだけど
これcharでやろうとしたら逆にエラーでるし
どうしたらWCHARでちゃんとWriteFileでファイル作れますかね?

496:デフォルトの名無しさん
13/10/23 11:21:58.49 .net
あれ?
試しにサイズにsizeof(WCHAR)かけたらちゃんとかけた
lstrlenは文字数を返してるけどWriteFileのサイズってバイト数のままかこれ
でもサイズが半分しか指定してなくて何でWCHARの2バイトのままかかれるのかwからん

497:デフォルトの名無しさん
13/10/23 12:10:53.61 .net
内部は全部ユニコードだから

498:デフォルトの名無しさん
13/10/23 16:46:48.23 .net
XE4で質問
ソフトを起動してからボタンを押すとメインフォームのVisible=falseにしたらフォームが消えるんですが
コンストラクタでやっても消えてくれません。
Application->ShowMainForm = false;
これやっても消えてくれません。
起動時にどうやったらフォーム非表示で起動できますかね?

499:デフォルトの名無しさん
13/10/23 19:31:20.33 .net
ApplicationEvents配置して、OnActiveイベントに記述

500:デフォルトの名無しさん
13/10/23 19:35:46.81 .net
>>480-481
BOOL WriteFile(hFile, lpBuffer, nNumberOfBytesToWrite, lpNumberOfBytesWritten, lpOverlapped)

HANDLE hFile; /* 書き込み先のファイルのハンドル */

LPCVOID *lpBuffer; /* ファイルに書き込むデータのアドレス */

DWORD nNumberOfBytesToWrite; /* 書き込むバイト数 */

LPDWORD lpNumberOfBytesWritten; /* 書き込まれたバイト数のアドレス */

LPOVERLAPPED lpOverlapped; /* 重複I/Oに必要な構造体のアドレス */

これでしょ?
引数は 
LPCVOID だからもとからバイト数だよ。

501:デフォルトの名無しさん
13/10/23 19:42:04.47 .net
だよな

502:デフォルトの名無しさん
13/10/24 05:28:10.04 .net
MainFormが表示されてから、表示を消さないといけない
MainFormが表示される前のタイミングで、表示を消しても無意味
ノーマルなやり方は
MainFormのOnActivate()イベントで、消すのが普通だろうな

503:デフォルトの名無しさん
13/10/24 09:10:40.83 .net
どういうのを作りたいのかよくわからんがフォーム自体いるのかね
消えたまま起動して後からまた表示させることもあるんかな
トレイに入れておくとか、あるいはバックで動かしたいのか
フォーム使わないなら最初から無いまま作ればいいんだし

504:デフォルトの名無しさん
13/10/24 09:40:11.62 .net
まあ、オプションの自動生成フォームから、MainFormを外せばいいんだけどね

505:デフォルトの名無しさん
13/10/24 11:55:35.09 .net
>>487
そこでfalseしても消えてくれない

506:デフォルトの名無しさん
13/10/24 12:39:30.47 .net
XE4とwin8で一回目にダイアログを実行してなにかファイルを選択して、
二回目にダイアログを実行したとき、フルパスで表示されます
ファイル名だけを表示させる方法を教えてください。
昔はファイル名だけが表示されたと思うんですが、、、、
URLリンク(www.dotup.org)

507:デフォルトの名無しさん
13/10/24 14:03:31.99 .net
>>489
それやると次は、「プログラムを起動しても何も起きません」ってなるんじゃね?

508:デフォルトの名無しさん
13/10/24 15:46:08.57 .net
>>483
フォームの~.cppじゃなくて、プロジェクト名.cppのRun()の前で
Application->ShowMainForm = false;
やるんじゃないの?

509:デフォルトの名無しさん
13/10/24 17:14:19.35 .net
Application->ShowMainForm = false; はコンストラクタでおk

510:デフォルトの名無しさん
13/10/24 19:26:03.98 .net
>>483で、

> ソフトを起動してからボタンを押すとメインフォームのVisible=falseにしたらフォームが消えるんですがコンストラクタでやっても消えてくれません。
> Application->ShowMainForm = false;
> これやっても消えてくれません。

って書いてあったから流れ的にコンストラクタで Application->ShowMainForm = false; やっても消えないという意味だと解釈してしまったが
質問者は コンストラクタで Visible=false しかやってないってことなのか。

>>493
自動生成のフォームのコンストラクタはもとからRun()の前だよ。

511:デフォルトの名無しさん
13/10/26 21:50:00.84 .net
コンポーネント作ってるんだけど、ファイル名を格納するStringで
オブジェクトインスペクタにファイル選択ダイアログを表示させるボタンを表示させたいんだけど
どうやったらいいのでしょうか

512:デフォルトの名無しさん
13/10/26 22:08:36.95 .net
プロパティを文字列型じゃなくてTFileName型に変えたらどう?

513:デフォルトの名無しさん
13/10/26 22:29:04.51 .net
>>497
出ませんね

514:デフォルトの名無しさん
13/10/26 22:44:08.65 .net
あら。ごめん。俺あんま経験なくてw
なんか、プロパティエディタ登録すればいいらしいんだが、
DesignIntf.pasやDesignEditors.pas,VCLEditors.pasのデフォルトや標準のエディタが
登録されてて、これで間に合わなければ自分で作るらしい。
登録にはRegisterPropertyEditorとかいう関数で。
って、俺じゃあれだから、プロの意見の待った方がいいな。

515:デフォルトの名無しさん
13/10/26 22:51:17.03 .net
VCLEditors.pasにTMPFileNamePropertyというTMediaPlayer用の
File Open Dialogを表示するプロパティエディタがあるから、これを真似れば
いいんじゃないかと思う。

516:デフォルトの名無しさん
13/10/27 15:44:18.10 .net
初歩的な質問ですみません。
for文やwhile文などでくりかえし処理をすると,繰り返しの回数が99回目までは問題ないのですが
必ず100回目で「sqrt domain error」が必ず出ます。
数値を色々変えてみても必ず起きます.
ssqrt domain errorはルートの中身が負のときでるエラーだと思うのですが
それ以外に出る原因はありますか?

517:デフォルトの名無しさん
13/10/27 16:20:24.52 .net
そう言う場合はまず作ってるプログラムから離れて間違っているのか確認してから
そうでは無いなと確信してから自分のプログラムを疑う物ですよ

518:デフォルトの名無しさん
13/10/29 13:52:21.53 .net
>>501
√に入れる変数にunsigned入れたらいいんじゃね?

519:デフォルトの名無しさん
13/10/29 14:24:43.48 .net
何でもassert

520:デフォルトの名無しさん
13/10/29 15:07:07.12 .net
デバッグすればいいだけじゃん
ループの100回目でブレークポントを張って
変数の値を確認すればよい

521:デフォルトの名無しさん
13/10/29 23:49:47.28 .net
スタックでも壊してたりしてな

522:デフォルトの名無しさん
13/11/05 17:38:05.77 .net
void __fastcall TForm2::ButtonWRClick(TObject *Sender)
{
char *tmp;
CamRegInfo ci;
ci.devaddr = 0xba; // dev addr

unsigned short val[3];
int addr = 0;
int data = 0;

tmp = strdup(EditAddr->Text.c_str());
sscanf(tmp,"%02x",&amp;addr);
free(tmp);

tmp = strdup(EditData->Text.c_str());
sscanf(tmp,"%02x",&amp;data);
free(tmp);

ci.devaddr = addr;
ci.data = data;
USBWriteData((unsigned char *)&amp;ci,6,0x07); // to I2C Controller
}

2010年くらいにいただいたビルダーのサンプルプログラムを今,実行しようとしていますが
[BCC32 エラー] Unit2.cpp(204): E2034 'wchar_t *' 型は 'const char *' 型に変換できない
[BCC32 エラー] Unit2.cpp(204): E2342 パラメータ '__s' は const char * 型として定義されているので wchar_t * は渡せない
というエラーがtmp = strdup(EditAddr->Text.c_str());に出ます.
調べるとこうするとエラーが取れました.tmp = strdup(AnsiString(EditData->Text).c_str());
しかし,新たに[ILINK32 エラー] Fatal: ファイル 'K.OBJ' を開けません
というエラーが出て困っています.

523:デフォルトの名無しさん
13/11/06 00:38:50.77 .net
それは困りましたね。

524:デフォルトの名無しさん
13/11/06 09:22:42.32 .net
Unicodeの意識が無さ過ぎ

525:デフォルトの名無しさん
13/11/06 10:02:11.48 .net
>>507
URLリンク(docwiki.embarcadero.com)
URLリンク(docwiki.embarcadero.com)


526:%E3%81%8A%E3%81%91%E3%82%8B_Unicode http://marupeke296.com/CPP_charUnicodeWideChar.html http://www.watercolor-city.net/ct_delphi/delphi_tiburon/



527:デフォルトの名無しさん
13/11/06 10:14:53.13 .net
>>509 スレタイ読め

528:デフォルトの名無しさん
13/11/06 10:23:07.10 .net
>>511
オマエのクソレスの方が何の役にもたってないことに気付けボケ

529:デフォルトの名無しさん
13/11/07 15:24:59.71 .net
仮想デストラクタをcppに書くと必ず、
「ここには記憶クラス"virtual"は指定できない」ってエラーが出るんだけど
どうしたらよいの?

530:デフォルトの名無しさん
13/11/07 17:28:29.26 .net
>>513
ヘッダに宣言書いているでしょ?
CPPに書くデストラクタの本体には virtual はつけない。
       ~~~~~~~~~~~~~~~~~~
もしCPPに書いているのがclass宣言で、その宣言に virtual をつけるのはOK

もしそのようにしているのに怒られると言うなら具体的にコードを書いてみて

531:デフォルトの名無しさん
13/11/07 17:32:54.63 .net
>>514
ありがとう!ヘッダに宣言書いていました

532:デフォルトの名無しさん
13/11/07 22:21:46.25 .net
System.DateUtils.hppをインクルードすると、
W8058 ヘッダーに初期化データが含まれているためプリコンパイルヘッダーを作成できない
ってエラーが出るのは、回避不可能なの?

533:デフォルトの名無しさん
13/11/07 22:38:52.41 .net
>>516
そんなのしょっちゅうだよ
インライン展開はほんとうに控えめだし

534:デフォルトの名無しさん
13/11/11 13:09:32.22 .net
継承される可能性のあるクラスは、仮想デストラクターを置けって言うけど、
ヘッダーファイルに↓の置いておくだけでよいの?
virtual __fastcall ~TSample();

535:デフォルトの名無しさん
13/11/11 13:32:23.26 .net
>>518
それでもコンパイルエラーは出ないけど、いざ実行されるとランタイムエラーが出るんだっけ
確かそんなはず

536:デフォルトの名無しさん
13/11/11 15:07:57.54 .net
>>519
特にエラーは何も出ずに実行できるのだが

537:デフォルトの名無しさん
13/11/11 16:58:02.35 .net
>>518
本体(デストラクタの実体)がないからエラーになるはずだけど

[ILINK32 エラー] Error: 未解決の外部参照 '__fastcall TSample::~TSample()' が x:\xxx\xxxx\xxxx.OBJ から参照されました

宣言したけど使っていない場合はエラーも出ないし実行に支障はない
これはメンバ関数も同じだよね

ヘッダーに書きたいなら宣言にあわせて実体も書いておくものじゃないだろうか。

virtual __fastcall ~TSample() { }

抽象クラスでの純粋仮想デストラクタを考慮するなら

virtual __fastcall ~TSample() = 0;

になるだろうし。
仮にその(>>518)宣言で問題にならないにしても、継承したクラスで問題起きるかもしれないから書いておいたほうが無難だとは思う。

538:デフォルトの名無しさん
13/11/11 16:58:31.24 .net
アプリの起動時に、しなきゃならない処理がたくさんあるんだけど
(INIファイルの読み込みとか)
メインフォームやスプラッシュフォームのコンストラクターとかに
書くと気持ち悪いから、アプリケーション初期化関連のメソッドを
並べたクラスを一つ作って、メインフォームのコンストラクターから
インスタンス作って全部やらせるのって、汚いやり方?
1つの仕事を順番にやるだけのクラスになるんだけど。

539:デフォルトの名無しさん
13/11/11 17:01:13.43 .net
>>521
これだと、"純粋関数定義の構文が正しくない"と怒られてしまうのだけど。。
virtual __fastcall ~TSample() { }

540:デフォルトの名無しさん
13/11/11 17:46:35.14 .net
>>522
別の関数作ってそこにたくさんの処理を書いてコンストラクタからその関数を呼び出すだけじゃだめなの?

>>523
そのエラーがどういう状況で発生するのか良くわからないのでお役に立てない感じ。
どういうクラス宣言しているのかちょっと気になります。

541:デフォルトの名無しさん
13/11/11 17:52:53.52 .net
>>524
ありがとう。

> >>522
> 別の関数作ってそこにたくさんの処理を書いてコンストラクタからその関数を呼び出すだけじゃだめなの?
メインフォームに関係ない処理を、メインフォームクラスに置くのは気が引けて。。

> >>523
> そのエラーがどういう状況で発生するのか良くわからないのでお役に立てない感じ。
> どういうクラス宣言しているのかちょっと気になります。
ごめん。IDEを再起動してみたら、普通にコンパイルできた。謎だ。

542:デフォルトの名無しさん
13/11/11 18:15:55.83 .net
共通なグローバルな初期化はメインのデータモジュール作って、データモジュールのコンスタラクタとかでやれば??
で、各フォーム特有の初期化は各フォームのコンストラクタでやる。
「プロジェクトオプション」の「フォーム」で指定する作成順序はメインデータモジュール->メインフォームの順で。
俺はだいたいそうやって作ってるけど。

大抵、データベースアプリとかで、グローバルな接続コンポはデータモジュール作って、そこに置くように、
その延長でそうしてる。

543:デフォルトの名無しさん
13/11/11 18:47:50.47 .net
>>526
TSQLDataSetとかTSQLConnection とかでなく、
自作のクラスを包含させるっていうこと?
ド素人で申し訳ない。。

544:デフォルトの名無しさん
13/11/11 18:59:36.66 .net
まず、データモジュールってコンポーネントはしってるんだよね??

グローバルな設定の初期化(終了化)するタイミングはデータモジュールのコンスタラクタ(デストラクタ)なわけで、
後は、君が書いたクラス次第でしょ。ここが何をして、どう使うクラスになってるのか全く想像できないから、
どう説明したらいいか・・

545:デフォルトの名無しさん
13/11/11 19:02:26.66 .net
えらそうに言わないでください

546:デフォルトの名無しさん
13/11/11 19:05:13.57 .net
それか、>>572はこういうことか。
もちろん、君のクラスはTComponent派生して、別にIDEに登録して使うわけじゃないと思うから、
TSQLConnectionみたく、IDEから貼り付けできないけど、そのクラスがインスタンスが
アプリの開始から終了までずっと、
存在する必要があるなら、データモジュールに、フィールド(プロパティ)を追加して、データモジュールの
コンストラクタ(デストラクタ)で作成・破棄してもいいし。そこはやっぱ、君のクラスが何してるか、どう使うか次第・・

547:デフォルトの名無しさん
13/11/11 19:14:23.95 .net
>>528
> まず、データモジュールってコンポーネントはしってるんだよね??
知らないんだ。リファレンスを見たところ、別のコンポーネントを一括管理するのかと思っているのだけど。

WinSocketの初期化、INIファイルのロード、各種スレッドの起動等を
メインフォームの表示前に終わらせてしまうのが目的。
元々やろうとしてたのは、この各処理を順々にやっていくパブリックメソッドを持った
アプリ初期化用クラスのインスタンスをメインフォームクラスで生成して、
そのメソッドをコールしようと思っていたのだけど。。

548:デフォルトの名無しさん
13/11/11 19:29:42.48 .net
>>リファレンスを見たところ、別のコンポーネントを一括管理するのかと思っているのだけど。
そう、それで、別にコンポーネントのためだけに使わなくてもいいわけで、そこに、グローバルなコンポーネント以外にも、
自作のグルーバルなクラスのインスタンスをプロパティ経由とかで、外部に公開してもいいわけで。そこはご自由にと。

>>元々やろうとしてたのは、この各処理を順々にやっていくパブリックメソッドを持った
>>アプリ初期化用クラスのインスタンスをメインフォームクラスで生成して、
>>そのメソッドをコールしようと思っていたのだけど。。
これをそのまんま使うなら、インスタンスの生成とメソッドコールを単にデータモジュールのコンストラクタに移動するだけ終わりじゃ?


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch