1 名前:デフォルトの名無しさん [2007/09/01(土) 09:41:22 ] C++Builderに関する質問・回答や議論等を行う相談室スレッド。 【前スレ】 C++Builder相談室 Part17 pc11.2ch.net/test/read.cgi/tech/1162918887/ 過去スレ・関連サイトは>>2-7 あたり。 ※Borland C++ Compiler 5.5.1についての質問は以下のスレへ タダで使えるBorland C++ Part5 pc11.2ch.net/test/read.cgi/tech/1135127048/ ※BDS(Borland Developer Studio)の総合スレはこちら Borland Developer Studio 2006 No.13 pc11.2ch.net/test/read.cgi/tech/1175861395/ ※CodeGear(Borland)関連はこちら 【Borland】CodeGearオッチャ その5【(ノ∀`)アチャー】 pc11.2ch.net/test/read.cgi/tech/1186333161/
152 名前:デフォルトの名無しさん [2007/11/06(火) 00:12:06 ] ユニットってどういう意味ですか? たとえば、クラスを書く場合ユニットを作成し、 Unit.h,Unit.cpp に書いたほうがいいのですか?
153 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 00:50:55 ] >>152 死ね役立たず。 人の足引っ張って楽しいかゴミクズ。 今すぐ死ね。 死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。 死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。 死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。 死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。 死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。 死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。 死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。 死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。 死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。 死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。v死ね。死ね。 死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。 死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。 死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。 死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。 死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。 死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。 死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。ね。死ね。 死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。 死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。 死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
154 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 00:58:26 ] もちつけw
155 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 01:03:33 ] どうしたんだ ファビョってる朝鮮人でも来てるのか?
156 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 01:25:38 ] なんかC++スレのコピペw
157 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 08:01:28 ] >>152 本来はObjectPascalのソース単位。Unit*.pas = 1ユニット。 BCBだとUnit*.hとUnit*.cppに相当。新規作成>ユニットは同名のヘッダファイルとソースファイルをまとめて作るくらいの認識でおk
158 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 14:03:05 ] unko
159 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 01:16:58 ] なんでC++勉強したいのにObjectPascalまで覚えないといけないのかと最初は思ってたけど Delphiの知識もついて一石二鳥だったなと今なら思える
160 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 07:50:07 ] 使い道あんまりないけどな
161 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 10:19:49 ] C++の勉強用にはclosureだのDelphiRTTIだのイベントハンドラ適当に定義すれば動いちゃうだのVCLの疑似GCだの弊害が多すぎる予感。
162 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 10:27:34 ] そうでもないよ。 MFCなんかだとスケルトンコードが大きすぎるし、 かつそれがC++じゃない化け物コードみたいなものだし、 コーディングしてて自分が何したいのか分からなくなるくらい。
163 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 11:59:07 ] C++の勉強にクラスライブラリは直接関係無いというか 本質的な事ではないな
164 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 12:04:44 ] >C++の勉強にクラスライブラリは直接関係無いというか あの、C++での開発っていうのはクラスライブラリの派生なんだから、 勉強っていうのはクラスライブラリの勉強だお。
165 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 12:20:38 ] それなら環境はおのずと決まるだろう
166 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 12:26:08 ] イミフメ
167 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 14:38:01 ] わかってないな
168 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 14:42:53 ] わかってないな 勉強なんだから、特定の環境、例えばWindowsで良質なクラスライブラリを使う勉強をしても構わない。 本番では、その良質な設計の部分のみを参考にして、別の環境でやれば良い。
169 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 14:44:45 ] 良質な設計例: >ttp://mag.matrix.jp/mag/queen/log/soft/eid153.html >結局,真のRADはDelphiで.それ以外ではGUIツールはサンプルコード生成ツールくらいにとらえた方が良いかも. >(特にパラメータをコードに埋め込むタイプ)
170 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 14:55:08 ] わかってないな
171 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 15:32:02 ] わかってなくても使えるC++Builderが好きです
172 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 15:57:48 ] その事に関してだけはC++コンパイラ中最強。
173 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 16:23:49 ] わかってないな コンパイラじゃないIDEだ
174 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 16:27:57 ] わかってないな C++Builder製品の分類はコンパイラ
175 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 16:58:40 ] わかってないな ボーランドがOS作ればウィンドウズもここまで糞にはならなかったってことだ
176 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 17:02:32 ] わかってないな Windowsは良いよ。悪いのはヴィジュアルスタジオドットネット(笑)。
177 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 17:12:51 ] 少しはわかれよお前らw
178 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 17:23:12 ] わかってないな オラ、悟空だ!
179 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 17:26:16 ] てっきり天津飯だと思ってた
180 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 17:48:49 ] わかってないな ほんとはクリりん
181 名前:デフォルトの名無しさん [2007/11/08(木) 18:08:25 ] VisualC++が真にヴィジュアルな開発環境じゃなかったのが全ての原因ニダ!
182 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 18:11:26 ] マイクロソフトではアレでいっぱいいっぱいだったんですよ
183 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 18:17:26 ] 初めてVC使ったときの衝撃は忘れられないな 既にVB使った後だったから更に倍って感じだった
184 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 21:57:02 ] 見た目は似てるからなw ぱっと見リソースエディタの画面なんか見ると RADツールじゃないかと勘違いできる
185 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 22:59:17 ] 3,4の当時C++BuilderはヘルプがMSにくらべて丁寧で使いやすかった。 今でもC標準ランタイムのヘルプなんかはBuilderのを見てしまう。
186 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 01:29:46 ] ところでJ#常用してる方いますか?
187 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 02:21:09 ] 居ませんよ
188 名前:デフォルトの名無しさん [2007/11/09(金) 09:34:05 ] BCB6なんですが、FastMMのインスコ手順をお教え下さい。
189 名前:188 mailto:sage [2007/11/09(金) 09:46:58 ] もう一つ教えて欲しいのですが、 C++Builder6→C++Builder2006だと、 2000増えていますが、 FastMM導入で高速化、 STL差し替えで低速化、 であってますか? 具体的にはSTLは何から何に変わったのでしょう? 何で変わったんだろ。
190 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 23:26:05 ] FastMMはダウンロードしてプロジェクトファイルのあるフォルダに展開、ではだめですか? STLは昔はSTLPortだったのがDinkumwareになったらしい。 MLか公式newsgroupで聞いてみたら?
191 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 03:55:05 ] >>187 やっぱり居ないですか。 僕もあれは幻かなにかだと思っていたんですよ。J#。
192 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 08:24:58 ] .NETなんかに手を出したのが失敗の始まりだったな
193 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 08:32:03 ] >>188 FastMM4BCB.cppのコメントに書いてある
194 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 18:39:26 ] 良質なライブラリやパッケージ設計を知ってないと良質な設計は出来ない。 VCLはロジック系は凝りすぎずに素直だし、UI系の継承関係とイベント処理は見事だよ。 ロジック、継承だけならJavaのAPIもいいんだけど、UIのイベント処理が不便。 .Netのは基本概念はいいんだけど、ロジック系はJavaのデッドコピー(っても良い 設計はにかよるからこれはOK)だし、UI部品に到ってはあの腐れVBの部品の デッドコピーorz Javaにせよ、.Netにせよ、まともなGUI組める機構+ライブラリがありゃ、更に普及するのに。 >>186 .NetになくてJavaにあるクラスのパチモンを使用したいときだけ呼び出していたよ。 常用は居ないでしょう。
195 名前:デフォルトの名無しさん [2007/11/15(木) 14:27:27 ] Variant u; u=u+pDS1->Fields->Fields[0]->Value; Edit6->Text=u; u=""; コンパイルは通るのですが、バリアントに対する演算が正しくありません。 と言うエラーがでます。 どうすればいいでしょうか?
196 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 14:31:41 ] >>195 Variant u;って初期化しなくてもおkなの?
197 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 14:38:38 ] Variantはふつー使わない。 Edit6->Text = Fields[0]->AsString(); じゃね?
198 名前:デフォルトの名無しさん [2007/11/15(木) 14:50:06 ] >>196 >>197 ご教授のとおり 初期化しAnsiStringになおすとエラーもなくなりなした。 ありがとうございました。
199 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 14:59:24 ] VariantってのはCOMとかActiveXを扱う専用みたいな。 オブジェクトの値の抽象型って意味では既にTFieldってのが機能する。 AsString、AsInteger、とか。
200 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 15:07:26 ] そういやVariantなんてあったっけか 使った事ないや
201 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 15:31:25 ] Excelのセル範囲にまとめて値を代入する時だけVariantの配列を使った。
202 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 15:33:45 ] いや、それがVariantの唯一の用途だから
203 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 16:26:51 ] 僕がVariantです
204 名前:デフォルトの名無しさん [2007/11/15(木) 16:31:10 ] じゃあ私はLPSTR 。
205 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 16:36:32 ] それならボクはUTF8String
206 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 16:43:01 ] しかたがない、俺がvoid *だ
207 名前:char* mailto:sage [2007/11/15(木) 16:56:15 ] >>206 あ、あなたがvoid*!! われらポインタの主!!へへー!
208 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 17:10:31 ] void氏って香具師?
209 名前:デフォルトの名無しさん mailto:mailto:sage [2007/11/15(木) 17:23:38 ] for(int i=0;i<10;i++) Series1->AddXY(random(10),random(10),"",clTeeColor); TPointSeries、Zoomを何回か繰り返すとポイント消える。 何でなの?
210 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 18:30:09 ] 僕はTPointSeriesじゃありませんから
211 名前:デフォルトの名無しさん [2007/11/15(木) 20:34:12 ] 僕はchar 3倍速いんだぜ
212 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 21:38:19 ] >>211 でも、全部赤い文字になるし、角も生えるし…
213 名前:デフォルトの名無しさん [2007/11/20(火) 15:34:44 ] 半角カナを全角に変換する方法を教えてください
214 名前:デフォルトの名無しさん mailto:sage [2007/11/20(火) 15:36:25 ] 冬休みはまだのはずだが、とにかくbuilderと関係ない
215 名前:デフォルトの名無しさん mailto:sage [2007/11/20(火) 16:09:29 ] BCB6(SP2)でTClientSocketを使用してTCP接続を行った時に、 大量の接続エラーを繰り返すと以下のエラーが発生して 止まってしまいます。 NonBlockingで接続しています。 ”Windowsソケットエラー:システムのバッファ領域が不足 しているか、またはキューがいっぱいのため、ソケット操 作を実行できませんでした。(10055)” 対処方法をご存じの方は教えてもらえますでしょうか。 TCPClient1->Open(); これの繰り返しです。 OnError()イベントで接続エラーが発生後再度、Open()を 繰り返しています。 最終的に上記のエラーが出ますがOnError()イベントには 飛んでこないで、OnDisconnect()イベントに飛んできてそ の後BCBが上記エラーを表示します。 上記エラーはcatchもできません。
216 名前:デフォルトの名無しさん [2007/11/20(火) 16:09:53 ] 知らないならレスしないで下さい!ウザイだけです!
217 名前:デフォルトの名無しさん mailto:sage [2007/11/20(火) 22:02:45 ] >>213 無変換キー あるいは F7キー
218 名前:デフォルトの名無しさん [2007/11/21(水) 04:42:21 ] >>213 先頭から順に文字を見て置換していけばいいだけ。 WideStringにぶち込んだ方が文字単位で処理できて楽だった。
219 名前:デフォルトの名無しさん mailto:sage [2007/11/21(水) 08:16:04 ] >>215 非同期をイベントで処理するのが間違いでは?
220 名前:デフォルトの名無しさん mailto:sage [2007/11/21(水) 10:45:35 ] >>213 C++Builderだろ?AnsiStringで出来るんじゃなかったけ?
221 名前:デフォルトの名無しさん [2007/11/21(水) 10:51:02 ] 知らないならレスしないで下さい!ウザイだけです!
222 名前:デフォルトの名無しさん mailto:sage [2007/11/21(水) 11:05:35 ] LCMapString
223 名前:デフォルトの名無しさん [2007/11/22(木) 17:04:33 ] エクスプローラーからネットワークで他のPCのフォルダを閲覧に行く場合にユーザー名とパスワードが要求される場合がありますが プログラムでユーザー名とパスワードを自動的に入力して他PCのフォルダを閲覧しに行く方法はありますか?
224 名前:デフォルトの名無しさん [2007/11/22(木) 17:54:51 ] ある
225 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 23:25:03 ] お前いったい何が目的だ
226 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 23:45:01 ] >>216 >>221 まだそのキチガイレス流行ってたのかwww
227 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 12:37:02 ] >223 WNetAddConnection2
228 名前:デフォルトの名無しさん [2007/11/24(土) 18:11:44 ] >>226 コピペなんだろうね。 なんかデジカメ板でも見た気がするしww
229 名前:デフォルトの名無しさん [2007/12/10(月) 18:37:40 ] TListViewで質問ですが 設計時にリストに値を登録しておいてるのですが フォームのコンストラクタでListView->Items->Clear()をしてもリストがクリアされません フォームのShowイベントでListView->Items->Clear()をするとクリアされるのですが これバグですか?仕様ですか? できればコンストラクタで1回だけやりたいのですが
230 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 23:24:01 ] >229 仕様ですね。コンストラクタの段階ではウィンドウが生成されていないのが原因です。
231 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 08:03:03 ] コンストラクタの段階でウィンドウはハンドルは既にあるし、ListView->Items->Clear()すれば消えてるけど。 バージョンの違いか?
232 名前:デフォルトの名無しさん [2007/12/11(火) 10:39:42 ] >>230-231 お答えありがとうございます 言い忘れていましたが、C++Builder5 proです。 たぶんこのバージョンだと>>230 さんの言うとおりだとおもうのですがいまいち使いづらいですねこれ 例えば今はForm1のコンストラクタでFormをnewして作成 Form1のグリッドがクリックされるとForm2を表示として Form2はListViewしかなくここのコンストラクタでiniファイルを読んでリストを作成しているので・・・ Showイベントでリストを作るとグリッドをクリックされるたびに毎回無駄にiniファイルを読んでリストを作ってって するのを回避したかったのですが・・・
233 名前:デフォルトの名無しさん [2007/12/31(月) 09:25:57 ] すいません、求人の採用条件にVC++経験者が多いのですが、 TurboC++とかBDS2006とかの経験持ちで採用している会社を 探してます。 教えてください。
234 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 09:50:15 ] アンチ乙
235 名前:初心者 [2007/12/31(月) 15:30:39 ] C++builder2007 だけど installaware でインストールプログラムをつくったら vista で システムポリシーがどうのこうの このインストールはできないのこうの とインストールを拒否された。 xp はだいじょうぶなんだけどなぁ。 どないしたらいいねん?
236 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 15:40:16 ] >>233 確かにVC++経験じゃないと嫌だ!と言う面接官もいるかも知れないが 受かりたいなら嫌でも経験者だと言うだろ そして経験者ってのも曖昧だ
237 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 16:32:24 ] >>233 そういう条件の会社は使い捨て派だから止めといたほうが無難かと
238 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 18:24:31 ] それでも誰かが消費されなければならないのだから、あえて突貫する漢を止める事もあるまい。
239 名前:デフォルトの名無しさん mailto:sage [2008/01/02(水) 03:46:28 ] VCも覚えればいいだろ
240 名前:デフォルトの名無しさん [2008/01/08(火) 12:33:18 ] フォームにEdit1をおいてFormMouseWheelイベントを取得すると、 フォームとEdit1でイベントを取得してしまって、 計2回呼ばれてしまいます。どうすればいいのでしょうか
241 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 12:43:53 ] bool &Handled
242 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 12:45:16 ] >>233 会社に入ってしまえば、C++Builderに変更可能だお。 そうこうしてるうちに、MFC禁止令を出せばみんな納得する。 MFCはプロジェクトを越えてダイアログを使いまわせないことを理由に社内禁止しますた。 但し、受託は除く。
243 名前:240 mailto:sage [2008/01/08(火) 12:56:39 ] Handled = True; でうまくいきました。ありがとうございました! #ShowMessage(((TComponent*)Sender)->Name);で表示させると、 #Form1から3回も呼ばれてました。。
244 名前:デフォルトの名無しさん [2008/01/08(火) 14:11:13 ] スクロールバーをプロポーショナルにしたいのですが、 Pagesizeの算定方法で定石ってありますでしょうか?
245 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 17:44:36 ] >>244 ある
246 名前:デフォルトの名無しさん [2008/01/14(月) 21:33:01 ] C++Builder 2007、Visual Studio 2008 ずばり、どっち買ったらいい?!!
247 名前:C++Builderスレなんだから mailto:sage [2008/01/14(月) 22:13:00 ] C++Builderに決まってるだろ、常識で考えて。
248 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 23:03:37 ] うむ
249 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 23:05:10 ] >>246 マジレスするとVisual Studio 2008。
250 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 08:10:30 ] VSは無料版で十分。買う必要はない
251 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 08:24:18 ] そりゃぁ君はそれで十分だけど。
252 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 18:31:52 ] 買うことに関しては意見が割れますたが、 使うべきは C++Builder 2007 です。
253 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 20:37:05 ] C++Builder 2007買って シェアウェア作って VS2008を買う。 これ最強!
254 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 21:19:50 ] ノンノン VS2008買う→シェア作る→儲かる(゚д゚)ウマー
255 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 21:37:21 ] それは、まあ夢。 まだ、 Delphi無料版→シェア作る→儲かる→C++Builder 2007買う→シェア作る→もっと儲かる こっちの夢の方が現実味がある。
256 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 21:42:47 ] シェアウェア(笑)
257 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 00:02:53 ] まてまて BCB、Delphiでアプリ作るのと MFCで作るのは労力が10倍くらい違うぞ 幾ら最新版の2008買おうが VC+MFCの面倒さは微塵も変わらん それにVCLみたいな便利なパーツもないよ Win32のもってるベースパーツのみ それともマネージドでつくったもんがシェア?w だいたいシェアで儲かるとかどこの国の話だよ どこかのおっさんがVBでアドレス帳つくって それを1000円のシェアにしてたのを思い出したよ だれが買うんだよ >250 ExpressとStandardでは雲泥の差があるんだが 特にVCやるんだったらMFCいるだろうが 安いんだからStandardくらいは買えや
258 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 09:15:02 ] BCB IDEでMFCのスケルトン作成してですね‥‥
259 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 09:16:27 ] MFCで画面作成はカンベン
260 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 09:18:48 ] MFCで画面作成は簡便
261 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 10:09:38 ] * * * うそです + n ∧_∧ n + (ヨ(* ´∀`)E) Y Y *
262 名前:244 mailto:sage [2008/01/16(水) 14:57:54 ] 勘違いして他のですが、PageSize = 1; で勝手にプロポーショナルになりました;;
263 名前:デフォルトの名無しさん [2008/01/16(水) 15:10:08 ] 勘違いしないでください
264 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 15:13:05 ] ScrollBar1->Position = 0; としたときに ScrollBar1Change イベントを発生させたくないのですが、 どうしたらいいのでしょうか。
265 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 15:15:42 ] TNotifyEvent a = ScrollBar1->OnChange; ScrollBar1->OnChange = NULL; ScrollBar1->Position = 0; ScrollBar1->OnChange = a;
266 名前:264 mailto:sage [2008/01/16(水) 15:18:32 ] おお、イベントハンドラを一時的に退避させるのですね。。 速レス謝謝です!
267 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 15:22:48 ] どういたしました
268 名前:デフォルトの名無しさん [2008/01/18(金) 19:49:24 ] ListViewで特定の行の特定のサブアイテムの値を変更する方法が解りません;; ListView1->Items->Item[SelectedRow]->SubItems->SetText("###"); だとだめですた
269 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 19:58:18 ] AnsiString TListItem::SubItems::Strings[int]
270 名前:268 mailto:sage [2008/01/18(金) 20:06:15 ] 毎度ありがとうございます。。 Visual StudioはIDEが助けてくれるのですが、 C++ Builderは情報も少なくて難儀しています;;
271 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 07:12:27 ] 結局、Pascal側のソースを読まないとね。
272 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 15:10:23 ] それくらいはヘルプ見れば分かるでしょ
273 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 21:12:23 ] まあそうだね。 BCBだとポインタだから直接[]が使えないんで、Strings[]とかItems[]とかになる、ということが わかってないとPascal読んでも解決しないし 逆に、わかってればヘルプのプロパティで見当つくしね。 補完に頼るといらいらするし。
274 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 22:07:54 ] BCBは補完に頼る軟弱物は斬り捨てる。 逆にVSのオートマシンはすばらしく軽い。
275 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 20:56:35 ] ResizeKit1.5 C++Builder6 これ使ってる人いんの?
276 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 23:42:40 ] それだけのために1万円は出せねーな
277 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 01:44:15 ] 画面の解像度なんてめったに変えないだろ 液晶使ってたら固定されてるようなもんだし
278 名前:デフォルトの名無しさん mailto:age [2008/01/21(月) 16:47:18 ] 2006でD&Dの部分を HDROP &Drop = (HDROP)Message.Drop; と書いていたのですが、2007だと [BCC32 エラー] Unit1.cpp(143): E2357 参照は 'void *' で初期化されているが 'void *' 型の左辺値が必要 のエラーが出てしまいます。なぜでしょうか
279 名前:278 mailto:sage [2008/01/21(月) 16:58:21 ] HDROP &Drop = (HDROP)Message.Drop; int Files = DragQueryFile( Drop, 0xFFFFFFFF, NULL, 0 ); と書いていたものを、 int Files = DragQueryFile( (HDROP)Message.Drop, 0xFFFFFFFF, NULL, 0 ); とすればコンパイル通りました。むむむむ
280 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 17:54:12 ] よく知らないけど typedef void *HDROP; だろうとすると わざわざHDROP(=void*)を参照で受ける意味がわからん。 エラーは、「キャストした型は左辺値じゃない」から出てるんだろうし。
281 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 17:56:02 ] つまり、 >HDROP &Drop がポインタ評価されてたのが2006、 参照とポインタとちゃんと別にしたのが2007ってことだね。
282 名前:278 mailto:sage [2008/01/21(月) 18:57:08 ] なるほどー。ちなみに、 www.geocities.co.jp/Milano/8000/cbuilder/dragdrop.html を参照してました。
283 名前:278 mailto:sage [2008/01/21(月) 19:00:11 ] さらに質問なのですが、2007で、 #difine NAME "わっしょい"; Form1->Caption = NAME "前田"; ってことはできないんでしょうか。gccではできました。
284 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 19:06:12 ] わっしょいのセミコロンいらんべ
285 名前:デフォルトの名無しさん [2008/01/21(月) 19:15:44 ] できません
286 名前:278 mailto:sage [2008/01/21(月) 19:16:25 ] ハッΣ(゚Д゚;)セミコロンがあると、 Form1->Caption = "わっしょい"; "前田"; と置換されて後ろの文字りてらるが無視されるのですね! レベルアップした鐘の音が聞こえます。
287 名前:デフォルトの名無しさん [2008/01/21(月) 19:18:20 ] どっちみちできません
288 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 19:25:05 ] え? できないの?
289 名前:278 mailto:sage [2008/01/21(月) 19:30:00 ] セミコロン外したらできました
290 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 19:34:59 ] あ、できないって書いてる奴の言いたいことわかった #difine じゃだめだな
291 名前:デフォルトの名無しさん [2008/01/21(月) 23:06:52 ] Cプログラマの為に、ポイントをまとめたドキュメントを販売しています。 プロのプログラマでもあまりにレベルが低い人が多すぎます。 そんな人に限って、自分のレベルの低さを自覚していない、、、 本人は構わないかもしれませんが、その下についた新人プログラマは たまったものではありません。(私が経験しました。) 今になって分かりました。 彼らもまた、理解できていなかったのです。 プログラミング言語の一番の習得の近道はきちんと理解している人にアドバイスをもらうこと。です。 私のC言語に取り組んだ7年間をすべてぶつけたつもりでテキストを作りました。 私の会社の後輩からは、どんなテキストよりもわかりやすかった!や、 今まで教えてくれていた先輩や、テキストたちが、ちゃんと理解できていないことがわかりました。 と、嬉しいコメントをたくさんもらいました。 そしてなにより、彼らの社内での評価がとても高いということが、私の誇りです。 興味がある方はどうか、下のサイトをみてみてください。 mori.eco.to/
292 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 03:32:54 ] たけーよ
293 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 09:12:05 ] TurboC++(C++Builder2006) Explorerは\0です
294 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 13:05:38 ] 今さらCってどうなのよw
295 名前:デフォルトの名無しさん [2008/01/22(火) 13:26:05 ] 今更Cってどうなのよって言う奴ってどうなのよw
296 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 14:02:24 ] 少し興味はあるけど、Cマガジンの春の特集程度かも
297 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 15:14:56 ] \8800って高杉 誰が買うかよカス
298 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 15:26:02 ] 構造体、もしくはクラスをTObjectListで管理したいのですがうまくいきません。 class test { public: AnsiString fileName; AnsiString fullPath; } foo; foo.fileName = "momomo"; TObjectList *list = new TObjectList; list->Add( foo ); なコードを試したのですが、 [BCC32 エラー] Unit1.cpp(28): E2034 'test' 型は 'TObject *' 型に変換できない [BCC32 エラー] Unit1.cpp(28): E2342 パラメータ 'AObject' は TObject * 型として定義されているので test は渡せない と出てきてしまいます。何処がいけないのでしょうか。 またTObjectListから格納した構造体に list->Items[0]->fileName なんてあくせすできるのでしょうか?
299 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 15:34:00 ] TListには静的確保したオブジェクトは格納できない。 test* foo = new test()で確保してポインタを渡すか、std::vector<test>を使う。 test foo; list->Add(&foo); はスコープ抜けた時点で実体が消滅するからやっちゃダメ。
300 名前:デフォルトの名無しさん [2008/01/22(火) 15:36:57 ] list->Add( (TObject*)&foo );
301 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 16:38:39 ] 上記で追加されたようですが、取り出し方が解りませんT-T list->Items[0]->fileName; では取り出せませんでした。 test でキャストするのでしょうか。。?
302 名前:デフォルトの名無しさん [2008/01/22(火) 17:00:44 ] >>299-300 は無視なの? お礼なし?聞くだけ?基地外?
303 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 17:12:34 ] ええー無視なんかしてないですよー「上記で追加されたようですが」って引用してますし、 最初の質問でアクセス方法も書いたので、 アクセスできてからまとめてお礼をしようと思ってました……
304 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 17:39:15 ] >今更Cってどうなのよって言う奴ってどうなのよw せめてC++だろ。
305 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 19:24:14 ] >>304 Linuxとかの/usr/binの中の多くはまだまだ、そしてこれからもCな現実。
306 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 19:26:17 ] TObjectListがどうしても理解できなかったので、 std::vectorを使うことにしました。ありがとうございました。 って>>302 、あなた誰なのよ
307 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 21:06:10 ] >>302 たまに出てくるあれだな、 自分が答えてないのにえらそうな態度とりたい香具師
308 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 21:18:11 ] 303 != 301 と打ち間違ったのだと思ってた
309 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 21:41:49 ] ( 303 != 301 ) == True;
310 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 00:50:32 ] >>305 Cなんて誰でもできる もっと他のがいい
311 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 09:49:53 ] じゃあDelphiやれば
312 名前:デフォルトの名無しさん [2008/01/23(水) 15:12:02 ] すでにフォームに貼り付けてあるTImageにpublicな変数を追加したいのですが どうやったらできますか?
313 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 15:19:26 ] TImage継承してフォーム上のTImageを置き換えてしまう。 置き換えるのは delwiki.info/?%A5%B3%A1%BC%A5%C9%C1%D2%B8%CB%2F%A5%B3%A5%F3%A5%DD%A4%CE%C9%D5%A4%B1%C2%D8%A4%A8 コレを書き直すか、パスカルユニット新規作成してプロジェクトに追加する
314 名前:デフォルトの名無しさん [2008/01/23(水) 15:25:14 ] >>313 あー! こんなことできるんですね。 つかやっぱTimageを継承してクラス作る以外にないですよね ありがとうございました
315 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 15:36:46 ] >>314 Tag プロパティでは足りないの? 文字列ならCaption・Hintに突っ込むとか ポインタなら Components に突っ込むとか
316 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 15:40:13 ] 自分なら、ポトペタするときはTPanelを貼り付けておいて、 TImageEx *ImageEx = new TImageEx(this); ImageEx->Align = alClient; ImageEx->Parent = PanelImage; とかする。
317 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 15:40:15 ] 32bit幅の値ならproperty TComponet.Tag : Integerを使うという手も
318 名前:デフォルトの名無しさん [2008/01/23(水) 15:45:33 ] >>314 Tagの他にもう1つほしかったんですよ! >>316-317 みなさんいろいろ工夫してるみたいですね んで、Tagじゃ足らんからHelpContextも使おうっておもってたんですが TImageにそれないんですよね・・・ ちなみに、Hintも使ってます・・
319 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 15:54:55 ] この際、Tagにクラスポインタを‥‥
320 名前:デフォルトの名無しさん [2008/01/23(水) 16:01:02 ] Tagにポインタをぶち込むのも考えてましたが・・・ できればTImageだけの閉じたあれでしたかったので ちょいと皆様に良い知恵があったら戸おもいかきこみいいfなsんふぁ
321 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 16:02:46 ] >Tagにポインタをぶち込むのも考えてましたが・・・ たしかに、これではクラス派生のOOPにならないから良くない。 316の場合、綺麗にファイル単位でクラスを分けれて作成&メンテしやすいお。
322 名前:デフォルトの名無しさん [2008/01/23(水) 16:09:46 ] >>321 えーっと>>316 さんの策はとりあえずフォームに Imageを貼り付ける場所にPanelを貼り付けて んで実行時にPanelをコンテナとしてその上にTImageを継承したクラスを のっけるってことでいいですか?
323 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 16:18:38 ] >>322 その通りです。 コンストラクタでのっけてます。 deleteはしなくてもおk。 TImageクラスとかの名前を、 TImage_(用途).cpp とか T(用途)Image.cpp にしてまつ。
324 名前:316 mailto:sage [2008/01/23(水) 16:19:57 ] >コンストラクタでのっけてます。 の場合もありますし、 何度もデータを入れ替えしたい場合は、 キッチリ削除したいので、 Form::init メソッドでのせる場合おあるかな。
325 名前:デフォルトの名無しさん [2008/01/23(水) 16:33:05 ] >>323 なるほどなるほど。 しかしこの場合はイベントハンドらはどうしていますか? 予めダミーっぽいTImageでClickとか設計時に作っちゃってから TImageExのnewしてからわりあててますか?
326 名前:316 mailto:sage [2008/01/23(水) 16:57:30 ] >>325 そうそう、目が効いてますね。 イベントハンドラがちょっぴりテクニックです。 TForm1に、 >void __fastcall Event_OnClick(TObject *Sender); みたいな感じで手書きでイベントハンドラ作っておきます。 そうしてTImageExをnewしたあとに、イベントハンドラを外からセットします。 ちょっと読むと、え”ーという感じかもしれませんが、意外にこれに利点があります。 1.イベントハンドラの無い派生クラスなので、複数画面で共有しても全く弊害無し 2.Form1のイベントハンドラとして書くので、TImageExと他の例えばTGridExと それらのオブジェクトが連携するように記述できる上、 それらのオブジェクトが互いに参照しない
327 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 17:02:03 ] 派生クラス作るんなら派生クラス内にイベント書いてコンストラクタで入れちゃえばいいんじゃないん? class TxxImage : public TImage { public: TxxImage() : TImage() { OnClick = TxxImageClick; } private: TxxImageClick(TObject* Sender) { ... } };
328 名前:316 mailto:sage [2008/01/23(水) 17:04:56 ] >>327 いや、やっぱ、イベントハンドラはForm1のものとして書いたほうが、色んなオブジェクトにアクセスできるお。 逆にTxxImageに色んなオブジェクトアクセス参照用にプロパティ付けようもんなら、 TxxImageが依存するものが増えちゃう。
329 名前:デフォルトの名無しさん [2008/01/23(水) 17:08:48 ] >>326 なるほろ。イベントハンドらの指定はわかりました 利点についてはまだ納得できるレベルに到達していないので精進致します >>327 それならイベントからフォームをアクセスしたい場合に困ったりしないですか?
330 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 17:11:07 ] あー、イベントから他のコントロールへのアクセスは考えてなかったわ/ ,' 3 `ヽーっ
331 名前:316 mailto:sage [2008/01/23(水) 17:13:40 ] 氏ぬんじゃない
332 名前:デフォルトの名無しさん [2008/01/23(水) 17:18:43 ] しかし皆さん色々とうまい方法を持っていますよね 久々に良い勉強になりますた(;´Д`)
333 名前:デフォルトの名無しさん [2008/01/23(水) 18:23:00 ] BCB5で起動直後メインウィンド以外のフォームをShowModalで表示するとき 一番いいと思われる方法はどんなものがありますか? おしえてエロい人!
334 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 18:27:55 ] 起動直後に、 Form2->ShowModal();
335 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 18:31:40 ] >>334 ありがとうエロい人! Application->Run();の直前あたりに書くの? そうするとメインウィンドは表示されるの?
336 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 18:36:18 ] マルチスレッドじゃないんだから、Runの前じゃそこでダイアログが表示されるだけだろ フォームにタイマーでも入れて、最初の1回目でやればいいじゃない
337 名前:デフォルトの名無しさん [2008/01/23(水) 19:01:25 ] Idle
338 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 09:12:55 ] OnCreateでメッセージ投げるとか
339 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 00:39:40 ] >333はきっとスプラッシュウィンドウを出したいんじゃないかな、と勝手に考えてみたり。 Delphiならそのフォームをinitialization部でCreate/Show/Updateして、そのフォームの OnDeactivateイベントでReleaseとするのが定石なんだが。C++Builderだと initialization部にあたるのはどこなんだろう?
340 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 08:42:09 ] スプラッシュなら、それこそ何時でも好きなタイミングで表示してくれって感じだが。
341 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 09:58:47 ] initialization部相当は クラスのインスタンスをグローバル領域で定義して、そのコンストラクタでやるとか
342 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 19:25:47 ] >>339 WinMain関数のApplication->Initialize();の後ろ辺りでnew/Show/Update。 表示後にメインフォームとか作ってApplication->Run();の前辺りでClose
343 名前:デフォルトの名無しさん [2008/01/29(火) 20:02:10 ] だからcloseはIdleでやるつってるだろ!!このばかちんが!
344 名前:デフォルトの名無しさん [2008/01/29(火) 21:02:43 ] C++Builder 6を使っているのですが。 TPageControlで最後のページを削除した後、 先頭のページがアクティブになってしまいます。 そうでなくて、削除したページの一個前をアクティブに したいのですが、どうすれば良いでしょうか。 以下のコードだと、一瞬変な表示になってしまいます。 ちなみに最後のページ以外は、普通にdeleteすれば そのような現象はおきません。 //最後のページを削除 TTabSheet *pLastPage = PageControl1->Pages[PageControl1->PageCount -1]; delete pLastPage; //先頭のページがアクティブになってしまうので、 //最後のページがアクティブになるように選択 PageControl1->ActivePageIndex = PageControl1->PageCount -1;
345 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 03:38:47 ] 一個前のページをアクティブにしてから削除してもダメ?
346 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 08:40:05 ] スプラッシュウィンドウごとき、そんなに凝ったり議論したりするものでない。 出て消えれば、おk。
347 名前:デフォルトの名無しさん [2008/01/30(水) 10:01:09 ] >>345 344です。 一個前をアクティブにしても、結局先頭がアクティブになってしまいます。 C++BuilderのIDE自体は何気に出来てるのに、そのコンポーネントで出来ないとは、 いやな感じだ。
348 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 10:13:34 ] TPageControl::RemovePage()をオーバーライドしないと無理っぽい
349 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 10:22:34 ] delete pLastPageの前に、pLastPage->PageIndex = pLastPage->PageIndex - 1 を入れれば?
350 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 10:36:25 ] >>349 VCLのソース見るとタブ削除時にページ切り替え動作やってるから駄目だと思うお
351 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 10:37:23 ] いや。ソース見た上で言ってるよ。
352 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 10:45:53 ] ああ、削除前に最後のページを後ろから2番目に移動させるのか。
353 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 10:50:09 ] 削除前にタブの順番が変わるけど即時描画じゃないから、入れ替え動作は全く見えないはず。
354 名前:デフォルトの名無しさん [2008/01/30(水) 14:39:38 ] 役に立たない答えばっかりですね・・・
355 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 14:44:27 ] 君が役に立つ答えを言ってもいいんだよ
356 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 14:53:09 ] 349ので何か不満あんのか
357 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 14:54:52 ] >>356 それでいけるはず。 C++Builder6って結構モッサリした仕様のコンポーネント多いよなぁ。
358 名前:デフォルトの名無しさん [2008/01/30(水) 16:09:43 ] 344です //最後のページを削除 TTabSheet *pLastPage = PageControl1->Pages[PageControl1->PageCount -1]; pLastPage->PageIndex = pLastPage->PageIndex - 1 delete pLastPage; >>349 のやり方ですが、大体の場合はうまく行くのですが、 タブをたくさん作って、最後のタブをユーザの操作などで何回も消していくと タブが表示されなくなり、その状態でタブ表示のスクロール見たいのを 操作すると、中途半端にタブが描画されてしまいます。 Refresh()やInvalidate()などを使っても描画されません。 やはり、最後のタブを消したときに、先頭がアクティブになるのは、 この辺がうまく行かないから、そうしたのではないと考えてしまいます。
359 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 16:45:16 ] そういえばIDEのエディタのタブもそうなるな
360 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 17:00:29 ] 最後のタブ消した時だけ PageControl1->ScrollTabs(1) とか
361 名前:デフォルトの名無しさん [2008/01/31(木) 20:25:56 ] 344です >>360 の内容を参考にして見てソースを修正したところ、 一瞬表示がびくつくのと、右端で最後のタブの表示が半分隠れる 場合があるのですが、描画の不具合などがなくなりました。 もう少し、きれいに動作すればいいのですが。 ScrollTabsの引数は -1 の方が良いみたいです。 //最後のページを削除 TTabSheet *pLastPage = PageControl1->Pages[PageControl1->PageCount -1]; pLastPage->PageIndex = pLastPage->PageIndex - 1 PageControl1->ScrollTabs(-1); delete pLastPage;
362 名前:デフォルトの名無しさん [2008/02/02(土) 21:10:47 ] ビルダー落としたんだが 各サイトの説明が詐欺でできません。 XPのコントロールパネルからのシステムなんて項目ありませんが どうするん?
363 名前:デフォルトの名無しさん [2008/02/02(土) 21:30:01 ] もういいやめたクソが シネよ
364 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 21:33:18 ] >>362 PC初心者 pc11.2ch.net/pcqa/
365 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 23:23:26 ] 春かと思った
366 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 23:26:50 ] うちの大学は春休みだよ
367 名前:デフォルトの名無しさん [2008/02/03(日) 10:56:49 ] まったく初心者に回答すらやらないなんてお前ら醜態をさらしているのか? 俺が醜態を晒しているんじゃない、答える側はお前らだからな。 器の小ささを披露している書き込みが二つだな、恥ずかしい。
368 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 10:59:29 ] そのコピペいただき
369 名前:デフォルトの名無しさん [2008/02/03(日) 11:02:45 ] コピペじゃねぇよ お前がいただくならお前がコピペすんだろ? まったく、上の奴は相談室で回答しないならここに来るなよ
370 名前:デフォルトの名無しさん [2008/02/03(日) 11:03:26 ] 上の奴ってのは>>367 とかだよ
371 名前:デフォルトの名無しさん [2008/02/03(日) 11:04:33 ] >>366 だよ
372 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 11:06:50 ] おっと知的障害の方でしたか 失礼しました
373 名前:デフォルトの名無しさん [2008/02/03(日) 11:10:04 ] >>372 はい身障者差別発言、 まったくどこまで・・・
374 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 11:11:06 ] いや文盲か
375 名前:デフォルトの名無しさん [2008/02/03(日) 11:12:40 ] 他所でやれ
376 名前:デフォルトの名無しさん [2008/02/03(日) 11:16:35 ] 相談室に俺相談者、俺は場違いじゃないけど、チャチャ入れは場違いだ 普通の初心者レベルの質問に春だとか言う場違いな人は荒らしだな
377 名前:デフォルトの名無しさん [2008/02/03(日) 11:20:23 ] 他所でやれ
378 名前:デフォルトの名無しさん [2008/02/03(日) 11:22:31 ] もう自演で言い返すのはやめろ、また醜態さらしか。 見ててくだらなすぎる。もともとお前は場違いなんだから、 もう言い返しに必死になってないで去れよ
379 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 11:26:39 ] Windowsのコントロールパネルの話ならPC初心者板の範疇だろ。常識的に考えて。
380 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 11:27:03 ] 暇なの?俺も暇。
381 名前:デフォルトの名無しさん [2008/02/03(日) 11:33:30 ] まだ突っかかってくる辺りがもう・・・ もう最後な、回答してやるのは。 >>379 そんなもん書き方だろ、ボーランドの初期設定からのコントロールパネルの話だし、何言っちゃってるの? >>380 公言して相手に見せるために言っている辺りがもう・・・ はいここでもうお前らみたいなのとの会話終了、 二度と来るな、書き込みしても放置する
382 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 11:36:29 ] (・∀・)
383 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 11:38:07 ] ここまで俺の自演
384 名前:デフォルトの名無しさん [2008/02/03(日) 11:43:34 ] ああ、最後にもう一つだけ言っとく。 先に突っかかってきたのはお前らだ。 俺は質問しただけだから、いい迷惑だ。 お前らは醜態から始めちゃったわけだ。 自分で招いておきながらそれに言い返したりして、まったくアホか。
385 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 11:52:14 ] 362 名前:デフォルトの名無しさん[] 投稿日:2008/02/02(土) 21:10:47 ビルダー落としたんだが 各サイトの説明が詐欺でできません。 XPのコントロールパネルからのシステムなんて項目ありませんが どうするん? 363 名前:デフォルトの名無しさん[] 投稿日:2008/02/02(土) 21:30:01 もういいやめたクソが シネよ 364 名前:デフォルトの名無しさん[sage] 投稿日:2008/02/02(土) 21:33:18 >>362 PC初心者 pc11.2ch.net/pcqa/ ----------------------------- これで完結してるやん
386 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 12:29:09 ] >362とか書いてあることがマジ理解不能なんだけど、俺の日本語能力はここまで落ちてしまったのか?
387 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 12:41:14 ] >>386 少しはエスパー能力を磨いてみては?
388 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 13:06:41 ] 春かと思った
389 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 13:13:06 ] ほいで、誰か質問の意味がわかったのか?
390 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 13:28:53 ] >>389 WindowsXPのコントロールパネル内のシステムのアイコンが見つけられません>< じゃないん?
391 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 13:32:37 ] あ、それでいいのか。ボーランドのどうこうって言うからまた別物かと思ってた。
392 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 22:05:28 ] 開発環境はTurboC++Builderで、 DirectXを使うのにお勧めな環境やライブラリを教えてください
393 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 22:25:42 ] Direct3Dとかでゲーム開発するならVisualStudioがおすすめかな>環境 あくまでもBCBでやりたいならとりあえず↓あたり ttp://www.clootie.ru/cbuilder/index.html
394 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 22:33:00 ] >>393 ありがとう 調べてみます
395 名前:初心者 [2008/02/05(火) 21:00:06 ] Button に Color プロパティがありませんぞ。 どうやって色を設定するのでしょうか。
396 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 21:47:38 ] TButtonをOwnerDrawするかTGraphicControlを派生して自作
397 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 21:48:32 ] TButtonをOwnerDrawする方法はぐぐればDelphiのソースが簡単に見つかる
398 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 22:47:16 ] >395 まぁそういうことなのだが、Microsoft的にはそういうことをしてほしくないらしい。 VisualStyleを適用するとOwnerDrawもうまくいかないような。
399 名前:デフォルトの名無しさん [2008/02/06(水) 12:00:36 ] TImageListで設計時にイメージを追加するとイメージがTImageListのWidthやHeightより 大きい場合縮小して格納とかできますが これをコードで追加する場合はどうすればいいですか?
400 名前:デフォルトの名無しさん [2008/02/08(金) 10:32:26 ] エクスプローラのフォルダツリーのようにTListViewにフォルダツリーを作ったのですが そこで指定したパスのノードを開く方法を教えてください
401 名前:395 [2008/02/09(土) 14:14:51 ] いろいろありがと。>396 >397 >398 visual studio だと簡単にできるのになぁ。 XMLだとか ドラッグアンドドロップだとかも 簡単にはできないのはちょっと不満。
402 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 14:36:48 ] Visual StudioってかC#だろう?簡単に出来るのは。
403 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 14:38:31 ] C# つか.NETか。
404 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 14:48:49 ] >>401 VSでVC++とMFCでそのセリフを吐いてみろ 自分がどれだけラクチンにC++を書いてるのかわかる
405 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 14:59:18 ] ダイアログベースならよゆーっすよw
406 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 15:19:56 ] 配置が楽なだけじゃん
407 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 16:31:18 ] いや、でも、VCLより確実に楽
408 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 16:39:25 ] 色ボタンなんてコンポ拾って張りゃいいじゃん
409 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 16:45:52 ] それかえって手間だと思う。 コンポーネントの管理がやりづらいからなぁ。
410 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 16:53:30 ] 一回登録するだけじゃん。てかそんな事のためにVC使うとか自体あほらしいけど。
411 名前:401 [2008/02/09(土) 17:18:45 ] >>404 それそれ。 MFCのウワサは聞いてるから 最初から手を出してない。だから C++ は C++ builder に手を出した。 でも C# はホント、楽だよ。
412 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 17:43:42 ] 日本語より英語は楽、とかいっても意味はないね
413 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 17:55:33 ] ( ゚д゚ ) マアマア
414 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 18:08:35 ] 言語仕様にライブリラリを含めた総合的な生産性で判断して楽とか 言ってんじゃないの? 何、その日本語より英語は楽とかとう例え。頭悪そう。
415 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 18:13:11 ] 楽とかとう ( ゚д゚ ) マアマア
416 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 19:49:34 ] >>411 .NET系の生産効率の高さは周知だよ C#に限らずVBでもC++/CLIでもね WinForm使う限りGUIはラクチン CGもついてるし なんだけどね…… 初学者がいきなりVC+MFCは敷居高すぎるのは確か BCBなんかでC/C++に慣れてから MFC+Win32APIの海へ漕ぎ出した方がいい
417 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 20:44:03 ] コンポーネントを1回登録するだけ マジでそれが理想だけど色々と面倒だよね、あるプロジェクトだけで使えるコンポーネント とか簡単に指定できればいいのに
418 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 21:31:36 ] 色々ってナニよ。1回登録したら再インストールするまで何もしてないぞ。
419 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 22:00:36 ] ぜーんぶまとめて1つのパッケージに入れちゃう人もいるみたいだねぇ。
420 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 01:06:34 ] BCBを再インスコしてコンポーネントを入れてたときに作ったコンポーネントを使ってないプロジェクトを開くとエラーになる
421 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 02:52:19 ] 名前ぶつかったり、コンポーネントは厳選しないとろくなことがないよ。
422 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 08:03:03 ] >MFC+Win32APIの海へ漕ぎ出した方がいい これをやる必然性が0。 >.NET系の生産効率の高さは周知だよ 大丈夫、ドトネトの事は世の中に知られてないから。 >C#に限らずVBでもC++/CLIでもね これもウソ。 C丼のバージョンうp嵐どころか、managed C++がヒックリかえったね。 ブビに至ってはユーザーがいないから、スクリプトブビ@ドトネトを復活させるとか、割るいとこ鳥。
423 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 09:17:21 ] 門外漢がドトネトを語るとこんな事言ってしまうという好例
424 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 14:18:49 ] VCLの方にろくな進歩がないからストレス溜まってるんだよ 次こそはやっと完全にUnicode対応するそうだけど、おせーよw
425 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 14:25:28 ] IBXでUTF-8を楽に扱えるようになるのかい?
426 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 14:29:25 ] IBXはーどーだろ、あれそもそももう期待しない方がいいんじゃね
427 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 17:58:28 ] >IBXでUTF-8 今でも使ってるよ。
428 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 00:03:36 ] 再インストールする羽目になった・・・。 また、いちいちプロジェクトファイル編集しなきゃ駄目なのか。 必要ないのに使ってないコンポーネントのlibまで追加するのやめてくれないかなぁ、うざすぎる。
429 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 00:20:13 ] TntのDBコントロールにShiftJIS外の文字ぶち込むと盛大に文字化けしてくれる‥‥>UTF-8
430 名前:デフォルトの名無しさん [2008/02/11(月) 00:20:44 ] bprファイルをIDEから編集してもちゃんと保存されないし酷い仕様だよな 後からのことまーったく考えられてないw
431 名前:デフォルトの名無しさん [2008/02/12(火) 15:15:59 ] おしえてください
432 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 15:16:50 ] // 1 . {. . .ヽ. . ヽ. . ',. .ヽヽ / .:/ ハ: :!: :.:ト、:.:. :\:...l:.. :}: : |_⊥ 、 j . {: .:{ :l、:l、: :.ト-ヽ、_:..`ヽ、j__イ_つノ l 1:ハ.::{ゝl=くヽ:.ヽ トィjr}Tァ┬ァ:.:´| |ハ :ヽlァ{トィrj \i ー_'っ /:.イ-、:。:| ヽ。ハ^rぅ' 丶 ` ノ', く } }:.ol゜ o 。 `ハ 。 {ァ´ヽ ,ー o':.へl お客様の中にエスパー様は ゜ ´ノi\ ー' ィ:;:.ィ/|/゜ 。 いらっしゃいませんか?? 。 o 。 ゜ハヘ;:>ー--<_rv〈、_ / ̄ヽ \/ll }l}`'^'ト、 / ::Y77l j l !_`7 l, ---::、〉 jl l ハゝ-i ヽ Vi } ,' ノ, ー_ヽ } , -‐ァl ノ / レ´,.- j j イ !l / / ハ -,.く!
433 名前:デフォルトの名無しさん [2008/02/12(火) 15:23:58 ] いいからさっさと教えやがってください
434 名前:初心者 [2008/02/15(金) 13:57:33 ] vista + builder2007 だけど デバッグモードで実行して open dialog を開いて 詳細表示にすると builder が落ちちゃう。
435 名前:デフォルトの名無しさん [2008/02/15(金) 14:04:58 ] そうですか
436 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 00:33:19 ] Vistaを窓から投げ捨てろ
437 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 19:35:04 ] C++Builder 2007の体験版みたいなのないですか? RAD Studioは今更JSharpのランタイムが必要とか、トチ狂ったことぬかすので あまり入れたくありません
438 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 23:17:33 ] 単独のトライアルはないけど、いずれにせよIDEが使ってるんでJ#ランタイムと.NETは必要だからなぁ。 Turbo C++ Explorerでも同じこと。あきらめれ。
439 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 12:06:26 ] しかし、なんでJ#なんて使ったんだろうね MSですら早々に見捨てたのにw
440 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 15:10:16 ] IDEのリファクタリングでMS-Javaをつかった流れらしい。APIを呼び出せるのがMS-Java→J#となった理由だと。
441 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 09:03:08 ] Lazarusでさえネィティブでリファクタリング搭載してるのにね
442 名前:デフォルトの名無しさん [2008/02/25(月) 14:45:13 ] Indy10 TIdTcpServerの使い方が解らないです。 codezine.jp/a/article.aspx?aid=197 ここを参考にIndy9のdelphiソースをIndy10とBuilder2007に置き換えようとしています。 TCPサーバの例 以下行をどう記述すればよいのでしょうか。詳しい人教えてください。 // 接続しているクライアント全員に str を送信する procedure TForm1.BroadcastMessage(str : string); var Count: Integer; List : TList; begin List := IdTCPServer1.Threads.LockList; try for Count := 0 to List.Count -1 do try TIdPeerThread(List.Items[Count]).Connection.Write(str); except TIdPeerThread(List.Items[Count]).Stop; end; finally IdTCPServer1.Threads.UnlockList; end; end;
443 名前:デフォルトの名無しさん [2008/02/26(火) 17:55:53 ] TListViewで任意のカラムを非表示にする方法を教えてくださいよ
444 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 22:54:58 ] WinXP BCB5でこんなコードを書くと意図しない結果が返ってくるんですけど、 使い方が悪いんでしょうか? 型を変えてみようとは思うけど、知ってる方いたら教えていただきたい std::vector< bool > vectorbool; for( int i = 0 ; i < 12 ; i++ ) vectorbool.push_back( true ); vectorbool.insert( vectorbool.begin(), false ); bool test = vectorbool[12]; ← falseが帰ってくる。
445 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 23:44:17 ] >443 簡単にはいかないんじゃないかなぁ。ListView_DeleteColumn/ListView_InsertColumnの 組み合わせで頑張るしかないと思う。
446 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 10:47:50 ] >>443 Width=0 >>444 あたりまえの結果じゃん。 マジで理解できなのか、それとも釣りなのか? マジで理解できないのなら、初心者スレに逝った方が良し。
447 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 10:55:47 ] 目が悪いなら眼科池。頭が悪いなら仕方ないけど。
448 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 11:08:47 ] >>446 当たり前の結果なの? もう一度勉強してみるよ・・。
449 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 11:16:19 ] 6はちゃんとtrue返すから、5のバグだと思うけど、 それとは関係なくvector<bool>は使わないほうがいいと、 なんかの有名な本に書いてるらしい。
450 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 11:23:24 ] >それとは関係なくvector<bool>は使わないほうがいいと、 kwsk
451 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 12:06:02 ] >>450 &v[0] が bool* ではない
452 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 13:25:42 ] >>449 Effective STLの第18項だな vector<vool>はproxy classを使っているのでよくないんだと
453 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 13:26:49 ] >proxy class サンクス & kwsk
454 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 13:36:38 ] proxy class=代理クラス More Effective C++ 項目30 一般的にはクラスの中にクラスを作って普通ではできないような 操作を行う。
455 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 14:56:53 ] 442です。Web検索で中華サイトや英文サイトを彷徨った結果、なんとか解決しました。
456 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 16:47:15 ] 結局おまえらって糞の役にも立たなかったね。あばよ
457 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 22:48:08 ] >>449 ありがとう。 VCでやってみてもtrueでした。 なんとなくわだかまりが取れました。
458 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 22:49:50 ] つまりRogue Waveのバグか こいつバグ多いねえ
459 名前:デフォルトの名無しさん [2008/02/28(木) 14:15:17 ] std::fstreamはstd::iostreamから派生しており、std::iostreamは std::ostreamとstd::istreamから多重継承しています。 しかしstd::ostreamを受け取る関数にstd::fstreamのオブジェクトを 渡してCodeGuardを掛けると多量のエラーメッセージが実行時に 出ます。これって仕方ないのですか?
460 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 15:04:15 ] はい
461 名前:デフォルトの名無しさん [2008/02/28(木) 15:19:28 ] 糞仕様だな。アップキャストにも対応してないのか
462 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 15:32:24 ] はい
463 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 22:36:44 ] もしかして、BCBってboost::trim()使えない?
464 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 14:12:27 ] はい
465 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 08:23:42 ] いいえ
466 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 09:36:59 ] バージョンくらい書けよ
467 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 10:12:33 ] BCB5でTQueryを使って2秒おきにデータを取得しているのですが 数分放置しておくとソフトが落ちてしまいます。 やっていることは Query->SQL->Clear( ); Query->SQL->Add( "select * from table1" ); Query->Open( ); Query->First( ); Query->Next( ); 30件くらい Query->SQL->Clear( ); Query->SQL->Add( "select * from table2" ); Query->Open( ); ここで落ちます Query->First( ); Query->Next( ); 10件くらい と1つのモジュールで同じTQueryで2つのテーブルを読んでいます TQueryを使う際になにか注意事項とかありましたら教えてください
468 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 10:15:17 ] >>467 例外とかチェックした?
469 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 10:17:18 ] 2秒でデータを取得が終わる前に、QueryのOpen() を実行したらデータセットがメモリから破棄されて、そこにアクセスしたr落ちるんじゃね? >TQueryを使う際になにか注意事項 2秒以内に処理が終わらなかったら、処理をスルーするって工夫要るけど。 それに加えてQuery使いまわすんじゃなくて、作り直したら? Query = new TQuery(this); try { Query->SQL->Clear(); //処理 __finally { delete Query; }
470 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 10:27:48 ] >>468 try内でやっているのですがcatchにはいかずにそのまま落ちてしまいます >>469 TTimerで2秒間隔でやっていてTimerに入るとタイマーを止めているので 一応DB読み込みが再度呼ばれることはありません。 Queryでテーブル2つを読むより毎回newしたほうがいいのでしょうか?
471 名前:467 mailto:sage [2008/03/03(月) 10:37:14 ] ちなみに、Query1でtable1、Query2でtable2と Queryを2つにしてやってみたのですがやっぱり強制終了してしまいます ソフト起動時に設定 Query1->SQL->Clear( ); Query1->SQL->Add( "select * from table1" ); Query2->SQL->Clear( ); Query3->SQL->Add( "select * from table2" ); { Query1->Open( ); Query1->First( ); Query1->Next( ); Query1->Close( ); ここで必ず強制終了します Query2->Open( ); Query2->First( ); Query2->Next( ); Query2->Close( ); }
472 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 10:40:44 ] レコード件数は可変? 1回多くNextしたりするとドカンと落ちる現象はあったような。
473 名前:467 mailto:sage [2008/03/03(月) 10:50:50 ] >>472 可変ではありますが query->First( ); for( int i = 0; i < query->RecordCount; i ++ ){ query->FieldByName query->Next( ); } としています・・・ ちなみに落ちる場所は同じなのですがタイミングはそれぞれで 1分で落ちる時もあれば5分で落ちる時もあります。 1回目で落ちるということは今のところありませんが・・・
474 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 10:52:56 ] >for( int i = 0; i < query->RecordCount; i ++ ){ これ、マズイとオモ。 >while (!Query->Eof) { みたく、次が有るか無いかの判定じゃないと。 上にも書いたが無いのにNextすると、catchできずにドカンと落ちる。
475 名前:467 mailto:sage [2008/03/03(月) 10:56:59 ] >>474 うわー やっぱりTQueryがまずいんじゃなくて処理がまずいですか・・・ 今はレコード数に変化がなくその処理でレコード数が同じだったからいいとおもってましたが 見方がわるかったんですね、ありがとうございます。 その方法で試してみます。
476 名前:467 mailto:sage [2008/03/03(月) 11:06:02 ] うう、やっぱりCloseで落ちてしまいます・・・ しかし>>474 さんのやりかたはヘルプにも書いてあったので参考になりました。 ちなみにtable1の方のQueryをためしにnewして動的に作成してやってみたところ 今のところ落ちてないです。 うーん、設計時に追加したのと動的にnewしたものと何が違うのかなあ・・・ これtable2もnewで作成したqueryを使う方が安全なのかな・・・
477 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 11:11:49 ] >query->FieldByName してる最中に、該当レコードが消えてる可能性は無いの? 該当レコードが消えるなら、RequestLive を falseにしてる方が良いかなぁ。
478 名前:467 mailto:sage [2008/03/03(月) 11:30:19 ] >>477 レコードが消えることはありませんがRequestLiveはtrueにしてます・・・ やっぱりnewで作ったqueryでやると落ちないのですが これってRequestLiveがfalseだからなのでしょうか??? ちょっと試してみます
479 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 11:33:28 ] >newで作ったquery >RequestLiveがfalse 落ちる原因は分からないが、上記2つを揃えるQueryは氏ぬ程安定する。
480 名前:467 mailto:sage [2008/03/03(月) 11:43:17 ] >>479 確かにnewでつくったqueryでは全く落ちなくなりました。 ちなみに、試しに当初のに戻して設計時に追加したqueryで RequestLiveをfalseにしてやっているのですが これもまた今のところ落ちていません。 これ2秒毎にDBを読んでいるのですが、DB読み込み時にnewするのと 起動時の最初にnewするのとどちらがいいでしょうか?
481 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 11:55:35 ] >DB読み込み時にnewするのと 起動時の最初にnewするのと Queryをグローバルとして使いまわしはソース読みにくかったりするが、上記2つは大差無いんでわ?
482 名前:467 mailto:sage [2008/03/03(月) 11:56:07 ] 皆様いろいろありがとうございました。 RequestLiveをfalseにするだけで落ちなくなりました。 なんかこれ片方向しかあれとか書いてたからこれをtrueにしないと 書き込めないとおもってtrueにしてたのですが(この同じQueryで別タイミングで書き込みもしてます) これselect時のみのあれだったんですね。 ちなみにUniDirectionalはtrueでいいのでしょうか? メモリ節約になるとかかいてますので
483 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 11:57:26 ] >ちなみにUniDirectionalはtrueでいいのでしょうか? メモリ節約になるとかかいてますので 聞いた事歩けど、気にしたことは無い。
484 名前:467 mailto:sage [2008/03/03(月) 11:58:23 ] >>481 そうなんですよね、グローバル化は見づらくなるのですが なんというか2秒毎にnewしてdeleteしてって繰り返しても大丈夫なのかなとか・・・ 1ヶ月とか放置するので何か昔のmallocのイメージがあってちょっと不安になったので
485 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 12:05:13 ] >なんというか2秒毎にnewしてdeleteしてって繰り返しても大丈夫なのかなとか・・・ 大量のnewや大量のdeleteは性能に関係するかも知れないが、 2秒にnewとdelteの嵐なんてC++ではちょーふつーできごと。
486 名前:467 mailto:sage [2008/03/03(月) 13:08:40 ] >>483 これはtrueのままでも落ちるのとは無関係みたいなのでそのままにしておきます。 >>485 あ、そうなんですか。それを聞いて安心しました。 まあVCL使ってると内部で山ほどしてるでしょうし問題ないですよね。
487 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 13:10:45 ] >大量のnewや大量のdeleteは性能に関係するかも知れないが、 正しくは、 >超大型メモリのnewやdeleteは かな。
488 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 01:01:59 ] 心配してるのは断片化だろ? サイズの違うメモリーを確保・開放を続けると メモリの利用箇所が虫食いになって最後は使えなくなるという。 これは今の組み込みや、昔のPCのようにメモリ容量の制限がキツイと困る問題だけど 必要なメモリの何10倍もある現代のパソコンでは問題にならない。
489 名前:デフォルトの名無しさん [2008/03/04(火) 02:14:05 ] Windowsなら・・・きっとWindowsなら何とかしてくれる・・・ そう信じてnew-deleteしまくってます。。。
490 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 03:19:28 ] newとdeleteをオーバーロードしてオブジェクトプールから取り出すようにする
491 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 07:24:38 ] >>488 こういう例もありましてね ttp://www.yoshidam.net/diary/200410.html#d05
492 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 08:44:15 ] >心配してるのは断片化だろ? サイズの違うメモリーを確保・開放を続けると >メモリの利用箇所が虫食いになって最後は使えなくなるという。 コンパイラが、スタックエリア、ヒープエリアを確保しているだろうから、それはない。
493 名前:デフォルトの名無しさん [2008/03/04(火) 18:18:24 ] ForceDirectoriesが未解決ってエラーが出るのですが#include <FileCtrl.hpp>以外に何か必要なことってありますか?
494 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 08:15:12 ] ヘルプを見なさい
495 名前:デフォルトの名無しさん [2008/03/05(水) 10:24:54 ] 知らないならレスしないでウザイだけです
496 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 16:44:19 ] そうですね。知らないなら回答すべきではないです。 でも俺は知ってるからレスしました。ヘルプを見なさい。
497 名前:デフォルトの名無しさん [2008/03/05(水) 22:30:41 ] >>495 ヘルプ読めないなら来ないで邪魔です
498 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 08:03:09 ] わからない七大理由 1. 読まない ・・・説明書などを読まない。読む気などさらさらない。 2. 調べない ・・・過去スレ、ググるなど最低限の内容も自分で調べようとしない。 3. 試さない ・・・めんどくさいなどの理由で実行しない。する気もない。 4. 理解力が足りない ・・・理解力以前の問題で理解しようとしない。 5. 環境のせいにする ・・・自分が悪いのではなく環境が悪いと責任転嫁する。 6. 人を利用することしか頭にない ・・・甘え根性でその場を乗り切ろうとする。 7. バカだから ・・・バカだから。
499 名前:デフォルトの名無しさん [2008/03/06(木) 10:31:56 ] へたれな事ですみません。。 BorlandC++Builder6を使用しています。 コンポーネントの端に「Office2k」があって、Work,Excel,Access等の制御ができそうなものがあります。 ヘルプやキーワードにも見当たらず、使い方がいまいちわかりません。 田舎にしては大きな本屋で調べても、「Office2k」に関するものはみあたりませんでした。 てか、Borland自体少ないですし。 どこかにリファレンスや参考になる資料はないでしょうか。 教えてください。 お願いします。
500 名前:デフォルトの名無しさん [2008/03/06(木) 10:35:15 ] 1つ抜けていたので追記します。 使用したいOfficeはAccessです。 ごめんなさい。。
501 名前:デフォルトの名無しさん [2008/03/06(木) 10:52:26 ] グg(ry
502 名前:デフォルトの名無しさん [2008/03/06(木) 10:59:07 ] 各種検索サイトも見たのですが、リファレンスらしきものは発見に至りませんでした。 Excelの使用サンプルはあったのですが、Accessで使用したいことに応用はできませんでした。 どのコンポーネントをどう使えば、どうなるのかさっぱりなんです。 皆様からみればアホみたいな事ですみませんが、なにか知っていることがあれば教えてください。 お願いします。
503 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 11:28:38 ] 具体的に何を実現したいのかを聞くのが当たり前だと思うのだが。 具体的に何を実現したいのかさえわからないのかね。
504 名前:デフォルトの名無しさん [2008/03/06(木) 11:31:31 ] 何がしたいのかは上にも書きましたが、使い方を知るためのリファレンスを探しています。 解りにくくてすみません。
505 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 11:40:44 ] www.google.co.jp/search?hl=ja&q=TAccessApplication&btnG=%E6%A4%9C%E7%B4%A2&lr= ぐぐったらいっぱい出てくるじゃん
506 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 11:56:00 ] 微妙じゃね
507 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 12:25:30 ] ググって実質80数件しか出ないコンポは茨の道な気ガス
508 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 12:27:57 ] まあCOMコンポーネントだから、リファレンスならMSDN見るのが一番でない。 ぱっと見VBAのしか見当たらないけど。オブジェクトやメソッドの意味は調べられるし、 タイプライブラリから機械的にクラス作ってるだけだから、出来る事は同じはずda。
509 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 12:35:23 ] ACCESS扱うだけならコンポーネントなんて通さなくても自分でソース書いた方が楽
510 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 12:43:39 ] やることはほとんど同じだけどな
511 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 12:50:31 ] C++Builderのコンポーネントは単なるOfficeのオートメーションサーバーのラッパークラスに すぎないから、ラッパークラスのメソッド名やプロパティ名は元のオートメーションサーバーのそれと ほぼ同じはず。つまりは、VBやVBAとほぼ同じ。 ttp://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/arch_default.asp から、「MSDN ライブラリ アーカイブ」->「Office ソリューション開発」たどれば、よろし。
512 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 13:04:21 ] COM関係は自分で理解して書いた方が楽だね そもそも付属のコンポ、マトモに動作するかすら疑わしい
513 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 13:49:22 ] 人が手で書いたものじゃないんだぜ。getter/setterをプロパティにしたり、インターフェースを スマートポインタで包んだだけのもの。
514 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 14:01:46 ] まぁ、アーリーバインディングを行う場合は、C++Builderのタイプライブラリ インポーターを使ってラッパ作成しないと死ぬが、 実際はそこまで速度要求するとは思えないからバリアントを使ったレイトバインディングで十分だとは思う。 アーリバーインディングはサーバーの特定のバージョンに依存しちゃうしね。
515 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 14:29:26 ] 514だけど、514の発言は気にしないでくれ。ここは、C++Builderのスレね。Delphiメインな 俺はC++Builderにバリアントなんてあるのか知らん。めんご。
516 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 14:50:10 ] 拡張キーワードみたいのはなくて、クラスで表現してるから見た目はいまいちだけどあるよ。 Variant v = Variant::CreateObject("Access.Application"); v.OlePropertySet("Visible", true);
517 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 15:00:52 ] 普通のサンプル利用するならTVariantの方がわかりやすいかもしれん Variant、OleVariant、TVariant、好きなの使えw
518 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 15:09:53 ] 504は既にみんなが何を書いてるのかすら理解に苦しんでるかもしれんw
519 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 15:39:16 ] すみません、他のモジュール書いてました。。 VB等とプロパティが同じなら、そこから追えそうです。 ありがとうございました。m(_ _)m
520 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 18:35:05 ] C++Builder2007にはIBXついてますか?
521 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 18:37:24 ] え”、付いてなかったら、自分自滅するお!
522 名前:デフォルトの名無しさん [2008/03/11(火) 10:39:39 ] DBGridで行毎に色を変える方法を教えてください
523 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 16:40:12 ] InterBaseのコンポーネントは一通りあるよ。C++Builder2007 Professional。 使ったこと無いけど。
524 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 18:16:20 ] >>522 TDBGrid使ったことないけど、多分TDBGrid::OnDrawDataCellで記述する。
525 名前:デフォルトの名無しさん [2008/03/12(水) 18:37:11 ] >>524 確かに色を付けることはできるのですが イベントに来たときのRowはどうやって取得したらいいですか?
526 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 21:02:04 ] >>525 こういうことをしたいのかな? ttp://dn.codegear.com/jp/article/28144
527 名前:デフォルトの名無しさん [2008/03/13(木) 10:04:57 ] >>526 そうそうそれです! 色の塗り方はわかるのですがイベントに入った時のRow又はレコード位置がわからないので 奇数行ならっていう条件がわからなくて・・・ それと色を塗るとテキストが消えてしまうのでStringGridみたいに Cellsから値をとってTextOutできないのでやはりレコード位置から データを持ってくる必要がありますか?
528 名前:デフォルトの名無しさん [2008/03/13(木) 10:06:55 ] と、思ったのですが>>526 さんのリンクにしっかりやりかた書いてますね・・・ ありがとうございました。 参考にさせていただきます
529 名前:デフォルトの名無しさん [2008/03/13(木) 10:38:43 ] うーん・・・ やっぱりColumn->Field->DataSet->RecNoが常に-1になってしまって 行の判別ができないです・・・ 何故RecNoが-1になっちゃうのでしょうか?
530 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 12:35:54 ] データベースによってはRecNoは無効になる。というかそういうRDBMSのほうが多いのでは?
531 名前:デフォルトの名無しさん [2008/03/13(木) 13:19:28 ] ヘルプにも-1になるって書いてますねこれ。 TQuery使ってるのですがどうやってレコード番号というか グリッドの行を識別したらいいんでしょうか
532 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 15:37:18 ] RDBのテーブル設計で、Int型のレコード番号つけてそれをプライマリキーにするだろ、jk。
533 名前:デフォルトの名無しさん [2008/03/13(木) 15:46:02 ] そんな頭の悪いレスを望んではいません
534 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 17:36:52 ] イベントハンドラでセルのTop座標が受け取れるので、それをセルの高さで割って見てはどうだろう
535 名前:デフォルトの名無しさん [2008/03/13(木) 17:40:14 ] す、スクロールしていたら・・・
536 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 21:40:07 ] VCLコンポーネントでマルチスレッドをする方法はないでしょうか。 TImageがフォームに二つあり、極端に大きな画像を両方に読み込ませたいとか。
537 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 07:49:21 ] 互いに別の空間で動いていたら問題ないけどね 同じメモリをアクセスする場合は1wordアクセスにするか、出来ないなら排他処理する。 メソッドポインタが2wordになる事に注意して書けば大丈夫でしょう。 Loadする場合は、 1, まずParentを外し、フォームの参照をnilにしておく。 (フォームでそのImageを間違って参照しないように) 2, LoadFromFileまでは別スレッドで行う為の 1word のグローバル変数のフラグを立てる 3,読み終わったら、そのスレッドからフォームにメッセージを送る。 メッセージでフォームの参照とParentを元にも戻す A,B 2つある場合は、それぞれフラグを別にして、読み込みスレッドは1つで 片方が処理終わってからフラグを見てBを読む。
538 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 08:02:57 ] ここはBuilder相談室。
539 名前:デフォルトの名無しさん [2008/03/14(金) 08:25:35 ] >>536 JPEGやらPNGやらで展開処理が重くてマルチスレッド(マルチコア対応)化したいというのなら 展開用スレッド作ってそれぞれ展開してsynchronizeだかなんだかでVCL割り込んでフォームのTImageに紐づければよくね?
540 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 18:24:15 ] いつも御世話になります。 フォームを徐々に透明化して行きフェードアウトするコードを書いています。 for文がPCの処理に依存している為、 どんな環境でも(ある程度)同じ間隔で 透明度の変化を希望しています。 なにか良い手はないでしょうか? システム版画利案が痛いですが。ソース晒します。 for(int it=100;it>0;it--){ fmShow->fcfmShowTransparency(it); Sleep(1); Application->ProcessMessages(); } void __fastcall TfmShow :: fcfmShowTransparency(int intTransparency){ //ツールチップの透明度を設定 int intMyTransparency=(int)((double)intTransparency*2.55); // *255/100 fmShow->AlphaBlendValue=intMyTransparency; } 環境winXP bcb2007
541 名前:デフォルトの名無しさん [2008/03/16(日) 19:44:40 ] >>540 ::Sleep()で時間稼ぐとか
542 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 19:51:31 ] >>540 フェードアウトに掛ける時間を決めて、経過時間から不透明度を設定するというのは? // 1000msでFO(簡略化コード。※バグあり) DWORD dwStart = ::timeGetTime(); while( 1 ){ int nOpaque = 255 - ( ( ::timeGetTime() - dwStart ) * 255 ) / 1000; if( nOpaque < 0 ){ break; } Form->AlphaBlendValue = nOpaque; Application->ProcessMessages(); ::Sleep( 1 ); } Form->AlphaBlendValue = 0; 時間が厳密じゃなくてもいいのなら、タイマイベントでいいと思うけど。
543 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 20:05:48 ] ::AnimateWindow(Handle, 1000, AW_HIDE | AW_BLEND);
544 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 20:32:44 ] >>541 >>542 >>543 氏 ありがとうございます。 AnimateWindowが正解でした。 レベルが低くて申し訳ないです。
545 名前:デフォルトの名無しさん [2008/03/16(日) 22:01:36 ] AnimateWindowなんてAPIあったのか・・・俺も使おうかな。
546 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 22:03:37 ] ::Sleep( 1 ); この「::」ってなんですか?
547 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 22:29:55 ] Global scope
548 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 22:33:15 ] つけなかったらどうなるの? どんな影響が。。。 気が向いたらオシエテ
549 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 22:35:02 ] そのコードの書いてある名前空間内(グローバル名前空間内でないとする)に Sleep という名前の関数なりなんなりを作った場合に そちらが使われてしまう。
550 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 22:54:09 ] なんとなくわかりました。
551 名前:デフォルトの名無しさん [2008/03/17(月) 01:22:12 ] Vista用の256x256アイコンを含ませる方法ってないですかねー・・・ PNG圧縮のかかった形式でicoに含ませてからbrcc使うとコケちゃうし・・・
552 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 07:37:48 ] >>551 VisualStudioを使ってください。中途半端な部分がたくさんあるので CodeGearの製品はお勧めできません。
553 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 11:47:07 ] M$の製品は完璧でうらやましいです
554 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 12:10:41 ] VCはいいけどVBは糞だったなぁ
555 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 09:49:27 ] AnimateWindowの質問したやつですが、 AlphaBlendValueで半透明状態からの フェードアウトアニメーションはできるものでしょうか? AnimateWindowは255から0にしかならないものですか? ちょっと確認したくて。BCB2007 winXP
556 名前:デフォルトの名無しさん [2008/03/20(木) 11:47:32 ] >>555 XP使ってるなら自分で確認できるんじゃね?
557 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 12:17:15 ] もちろんそうなんですが、できないと思ったからです。 AnimateWindowの仕様かもしれませんが、 もしできないのであれば、>>542 さんの ソースでやるしかないので、確認です。 ぐぐってもピンとこなかったので。 void __fastcall TForm1::Button1Click(TObject *Sender) { Form1->AlphaBlend=true; Form1->AlphaBlendValue=200; } void __fastcall TForm1::Button2Click(TObject *Sender) { ::AnimateWindow(Form1->Handle,1000, AW_HIDE | AW_BLEND); } 自己中で申し訳ないです。
558 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 13:41:28 ] >>529 ClientDataSetを使えばいいんじゃなかったか。
559 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 20:24:13 ] Builder2007使ってるならフォームのAlphaBlendValueを タイマーとかでループで減らしていけばいいんじゃね?俺はそうしてるよ
560 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 23:23:18 ] そうなんです。はじめはループさせてフェードアウトさせていいたのですが、 アニメーションを教えてもらったが、 半透明だとうまく動かない。 やっぱり動かないの?っていうことです。 お騒がせしました。 次の相談どうぞ
561 名前:デフォルトの名無しさん [2008/03/24(月) 10:07:35 ] Builder2007ってXP Homeじゃインスコできませんか?
562 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 20:11:16 ] >>561 いけるんじゃね? 試して報告よろ www.codegear.com/jp/downloads/free/cppbuilder
563 名前:デフォルトの名無しさん [2008/03/25(火) 14:52:15 ] HomeでもSP2ならいけますた。SP1はインスコ途中でダメって出てインスコできんかった
564 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 20:47:25 ] よくできました!
565 名前:デフォルトの名無しさん [2008/03/27(木) 10:59:13 ] 2007って以前の5とか6みたいな画面にできない? 画面構成変わってめんどいんだけどこれー
566 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 12:13:41 ] BCB6をインストールして、コンパイラとライブラリ一式だけBCB6上に上書きするとか
567 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 12:16:47 ] 埋め込みデザイナのチェックを外せ
568 名前:デフォルトの名無しさん [2008/03/27(木) 13:29:21 ] >>566 いや6もってないし >>567 とりあえずデザイナだけは埋め込みじゃなくなったけど・・・ デザイナとオブジェクトインスペクタとソースは別窓にしてOK しかしツールバーとかあの辺がうざいー しかもこれつねに他の窓の下にくるからツールパレットがソースの下に隠れてつかえね かといって横表示にしたら文字があれしてうざいし 以前のようにタブで選択できればいいんだが・・・
569 名前:デフォルトの名無しさん [2008/03/27(木) 13:41:56 ] うーん、エディタ窓を切り離したい
570 名前:デフォルトの名無しさん [2008/03/27(木) 13:45:27 ] あ、さっき別窓であれしたらだめだったのに今度でけた
571 名前:デフォルトの名無しさん [2008/03/27(木) 13:49:14 ] あ、やっぱダメかあ これソースを別窓でひらいたらそのソースだけかよ めんどくせー
572 名前:デフォルトの名無しさん [2008/03/27(木) 13:58:29 ] ソースを別あれにするのは諦めた、この糞仕様は涙を飲んで我慢しよう しかし、しかしだ! VCLデザイナを分離させると常に前面表示なのは納得いかねえ!! これソースにかぶるとみえねーじゃないか!! エロいおっさんVCLデザイナがソースの背面にいく方法をおしえてくれ
573 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 17:40:10 ] とりあえず、埋め込みデザイナをオフにして慣れるのが一番。 そうすれば、いつでもVisual Studioに移行できる。
574 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 21:08:29 ] ある外部DLLを使ってるのですが、 このDLLは内部でスレッドを作っていて、更にそのスレッド内で例外が起きてもcatchしてないようで 本体のEXEまで巻き添えになって死亡してしまいます。 こういうヤヴァイDLLでもEXEが巻き添えになって即死しない方法はありますか? EXEはBCB製ですが、DLLは何で作ったか解らずソースもないので変更できません。
575 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 21:26:45 ] >>574 DLL呼び出し部を別プロセスに分けて、共有メモリとかプロセス間通信を使って本体とデータをやりとりするとか・・・
576 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 00:14:01 ] プロセス間通信ってむずかしいですか? プラグ印をつくるには、dllで提供されるとおもうのですが、 素人にはexeが作りやすい。 できるだけ気軽にプラグ印開発するのに、 親exe+dllではなく、親exe+子exeという格好に 実装したフリーorシェアってありますか? 用途は親が小難しいことやって、プラグ印フォームで 情報表示。ユーティリティーなんて実現可能なものでしょうか?
577 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 10:58:11 ] >プロセス間通信ってむずかしいですか? 別にそれほど 設計を間違えなければ >実装したフリーorシェアってありますか? さぁ? コントロールパネルのスクリーンセーバーのプレビューはそれに近いかも >情報表示。ユーティリティーなんて実現可能なものでしょうか? 可能かどうかっていうと、可能だろう
578 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 11:48:19 ] Winampはプロセス間通信で、他のアプリから再生制御したり、情報取得したり出来るようにしてるな。 プラグインというかフロントエンドだけど。
579 名前:デフォルトの名無しさん [2008/03/28(金) 12:01:05 ] ちょwwwwwwww InternetOpenとかなんだけどBuilder5でちゃんとコンパイルできてたのに 2007でやるとリンカエラーになる・・・ とおもってヘルプみたらlibファイル変わってるじゃん馬鹿!! まあファイル名を変えたらちゃんとできたんだけど、ころころ変えるなやなあ
580 名前:デフォルトの名無しさん [2008/03/28(金) 12:10:15 ] ちょwwwwwwwwww Builder5でTPanelのColor変えたら背景色変更してたのに2007じゃ変わらない・・・ これマジでわかんないです、エロい人TPanelの背景色の変え方教えてください
581 名前:デフォルトの名無しさん [2008/03/28(金) 12:10:26 ] >>579 BCBクオリティだな
582 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 12:30:31 ] >>576 です。 一度調査してみます。 情報ありがとうございました。
583 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 12:40:14 ] ニコ堂厨キター
584 名前:デフォルトの名無しさん [2008/03/28(金) 13:21:20 ] ちょwwwwwww うへwwwww変わったwっうへうへwwwww オブジェクトインスペクタで一度Color変更してから実行したら動的に変更してもちゃんと色変わったwwwww なにこの糞仕様wwwwwwwwwwwwwwwwwwwwww これ他のコントロールも危険っぽいwwwwwwwwwwww
585 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 14:06:09 ] 書き込みキター
586 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 17:16:51 ] >>580 ParetBackgroundやTransparentかな? ついでに私も質問・・・ Graphics::TBitmap *bitmap = new Graphics::TBitmap(); bitmap->SetSize(SpeedButton1->Width, SpeedButton1->Height); bitmap->Canvas->Brush->Color = clRed; bitmap->Canvas->FillRect(TRect(0, 0, bitmap->Width, bitmap->Height)); SpeedButton1->Glyph = bitmap; こんな感じでやって見ましたがボタンの色が何一つ変わりません。 どなたか教えてくらさい・・・
587 名前:586 mailto:sage [2008/03/28(金) 17:30:13 ] あ、超初心者用スレが別に存在するんですね。 向こうで質問しようと思います。 スレ汚しスンマセン・・・
588 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 17:45:40 ] > 注意 ビットマップの左下のピクセルは「透過」色用に予約されています。 > ビットマップで左下に位置するピクセルはすべて透過になります。
589 名前:デフォルトの名無しさん [2008/03/28(金) 18:51:04 ] >>586 いやwwwwwwwwwww>>584 ですたよ 5からまんま移植してやってたんだけどね つかSpeedButtonなら予め用意したビットマップを設計時にあれするとかじゃだめなの?
590 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 19:24:27 ] >>588 ありがとうございます。 おかげさまで実現できました。 >>589 把握シマスタw ビットマップは、ボタンのサイズより少し小さく色づけしたいので、今の方法にしようと思います。
591 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 23:00:00 ] >>576 です プロセス間通信についてですが、 WM_COPYDATA と tp://gimite.net/bcbqtree/qtreemain.cgi?mode=thread&thread=628 共有メモリ tp://ww4.tiki.ne.jp/~yonyon/programing/bcb/tips/tips-api.htm を拝見して、動作確認できました。管理者に感謝 前者はウィンドウハンドル、後者は任意のユニークなID 1.使い勝手としては後者が使いやすいのでしょうか? 2.また、前者は受け取り側フォームひとつにつきひとつなのでしょうか? ところで、複数のデータcharとintが4つくらい送りたい場合、 3.やはり、送信側・受信側も4つのID(後者)が必要なのでしょうか? ひとつのIDでは複数遅れないのでしょうか? 4.また、それが一般的なのでしょうか? ちょっと世間一般の意見をお伺いしたくて。よろしくお願いいたします。
592 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 23:00:52 ] 4つのID->5つのID
593 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 07:33:51 ] 共有メモリと言うと普通は[ファイル マッピング]を使う [名前付き共有メモリ]だと思う。 これなら読み書き出来るメモリを共有する事になる。 2番目はアトム(GlobalAddAtom) グローバルアトムなら確かにプロセス間で渡せるけど これはメモリ共有というイメージではない。 構造体を送りたいという場合、 アトムで送る場合は、構造体をシリアライズ=文字列化して送ればいい WM_COPYDATAで送るなら構造体のポインタを送ればいい。 文字列を含む場合は、その構造体にインスタンスが完全に含まれるようにする。 ポインタや参照を含む形では駄目。 WM_COPYDATAは1対1の通信に便利だけど1対1でしか使えない。 グローバルアトムを使う場合も、相手の窓ハンドルを使う限りは1対1になる ファイルマッピングなら、複数で通信出来る。 他にwindowsにはメールスロットというのがある。CreateMailslot して後はファイルと同じようにするだけ これは同じPC上のプロセスだけではなく別のパソコンにでも送れる。
594 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 07:55:27 ] ああごめん。 2番目は HWND_BROADCAST で全部の窓アプリにメッセージを送ってるから 1対多通信が出来るんだね。
595 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 10:31:02 ] たたたいへん参考になりました。 受信側が実装しやすいものを精査して 組み込んでみます。感謝。 MyTipsとして残しておきます。
596 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 11:10:52 ] メールスロット、メッセージが来るタイミングを窓へのメッセージで受け取れたら最高なんだけどな
597 名前:デフォルトの名無しさん [2008/03/31(月) 10:25:49 ] >>595 落ち着けw
598 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 13:44:41 ] プロセスと通信するより、女の子と通信したいです。
599 名前:デフォルトの名無しさん [2008/03/31(月) 14:18:35 ] TSQLQueryでMySQLからデータの読み書きをしてると そのうちSQLQuery->OpenやSQLQuery->ExecSQLでEAccessViolationが出るのですが・・・ これを使う際に何か気をつける点はありますか? Builder2007です
600 名前:599 [2008/03/31(月) 16:13:48 ] どうやらTSQLQueryでselect文を発行するとダメっぽい。 updateやinsertならなんぼやっても大丈夫なんですがselectを1回でもするとダメですね。 やっていることは・・・ SQLQuery->SQL->Clear( ); SQLQuery->SQL->Add( "select * from testtable" ); SQLQuery->Open( ); if( !SQLQuery->Eof ){ val = SQLQuery->FieldByName( "VAL" )->AsInteger; } なんですが、突っ込むところはありますか?
601 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 16:17:52 ] もうちょっと詳しくデバッグしてどのメソッド読んだ時に落ちてるか 調べなさい。
602 名前:599 [2008/03/31(月) 16:40:48 ] >>601 知らないならレスするなクズが
603 名前:599 [2008/03/31(月) 17:53:23 ] >>602 は僕ではないですよ 今までの検証結果でわかったことは・・・ 1.select文だけ 2.update又はinsert文だけ 1,2は各々なら共に何回やってもOKで updateやinsertをやってから1回でもselectを行うとエラーになります。 このエラーはソフト終了時にコードガードが リソースリーク: メモリブロック (0x14DB5B0) が解放されていません。 メモリブロック(0x014DB5B0) [長さ: 64 バイト] は SysGetMem によって確保されました。 と出るのですが・・・
604 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 19:05:48 ] あー、それ俺もなったよ。2ヶ月くらい悩んだ。 結果的に自分のプログラムが原因じゃなかった。 よく分からないけどUpdateを当ててからか?なんかそれからおかしくなってたのかも。 解決するか分からないけど30万円で情報を提供してやるw
605 名前:599 [2008/03/31(月) 19:22:33 ] >>604 確かに自分のソースはどう考えてもおかしくないですねこれ。 やってることは単純だし、どちらか片方コメントにしたら全く落ちないし とりあえず、定期的にinsertを行ってる状態でselectするために SQLQuery->Open( )でこける(何事もなかったかのように素通りしソフト終了時にエラー) これをSQLTableにかえてみたんだけどやっぱりエラー(´・ω・`)
606 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 20:26:04 ] SQLの事はよく分からんけど、俺の場合はプログラムが半フリーズしてて なんでだろうと、プロジェクトを調べ回ったあげく、とりあえず俺は以下のでリソースリークも半フリーズも直った。 プロジェクトソースの SetApplicationMainFormOnTaskBar(Application, true); をコメントアウトしてみて
607 名前:599 [2008/03/31(月) 20:29:00 ] >>606 コメントにしてもかわりませんでした><
608 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 20:31:36 ] ワロスwww残念だったなw まぁ頑張ってくれw
609 名前:599 [2008/04/01(火) 10:47:52 ] と言うか、try〜catchでcatchに入るだけで終了時にコードガードのエラーが出る なんですかこれ?Builder2007のバグですか?
610 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 11:12:10 ] ヒント:メモリ破壊
611 名前:599 [2008/04/01(火) 12:20:24 ] >>610 馬鹿はレスしないで下さい。うざいです。半年ROMってろクズ
612 名前:599 [2008/04/01(火) 14:20:34 ] >>611 も俺じゃないっす とりあえず解決しますた try〜catchは謎だけどSQLQueryはExecuteSQLがあれですた これ引数省略できるんだけど省略するとコードガードエラーになります(デフォfalse) 問い合わせがパラメータをまったく含まないあれなんでtrueでずっとfkさおf
613 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 18:21:48 ] 自分証明したければ捨てでいいからトリップつけれ
614 名前:599 [2008/04/01(火) 18:38:24 ] >>613 馬鹿はレスしないで下さい。うざいです。半年ROMってろクズ
615 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 00:29:40 ] 2007使ってるけど、実行したら、 時々オーエスごとフリーズする。 一分後動作しやがる
616 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 05:14:43 ] >>615 それ以前に、ちゃんとした日本語で的確な説明ができるように訓練しなさい。
617 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 07:07:14 ] >>612 =>>611 >>614 日頃の行いが悪いとそういうバグだらけのくそな製品をつかまされる。 builder2007に無駄金。 おめでとさん。
618 名前:デフォルトの名無しさん [2008/04/02(水) 21:13:14 ] CoShellWindowsの使い方を教えてください。 delphiで下記のコードをBuilderに移したいのですがうまくいきません。 sw : IShellWindows; Count : Integer; 途中省略 sw := CoShellWindows.Create; Count := sw.Get_Count; CoShellWindows* sw=new CoShellWindows(); Shdocvw::IShellWindows* is=sw->Create(NULL); int Count=sw->Count; とすると、コンパイラは通るのですが、3行目でEAccessViolationが発生します。
619 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 22:33:24 ] >>616 んーん、実行F9で実行すると、 下のウインドウでぴこぴこっと 複数行出てきて、さぁ、実行だと言う矢先、 フリーズ。タスクバーのブラウザさえ表示できない。 まぁ、結構むちゃなソース実行しているからかもしれないが。 とりあえず、2007の新規プロジェクト立ち上げ、 いちから構築するつもり。bcb5のソースをそのまま使ったのが いけないのか? それに、開発しているPCでは動くのに、ゲストOSでも動くのに、 ノートPCに入れたら、動的可変フォームのTImageがうまく描画できない。 ラベルがいいのかなぁ。 はぁ。ま、どうでもいいか
620 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 22:47:08 ] >>618 BCB6だとヘッダいじらないとコンパイルすらできないな。 で、コンパイルして実行した結果は問題なかったけど。 Get_Countでも出るの?
621 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 22:57:48 ] >>618 TShellWindows *sw = new TShellWindows(NULL); int Count= sw->Count; でどうよ
622 名前:618 mailto:sage [2008/04/02(水) 23:10:54 ] >>620 そうですかぁ。BCB6ではOKですか。 こちらの環境は、BDS2006です。 自分は、delphiは全然使ったことがないので delphi のコードは試していないのですが、ぐぐると同様の霊がいっぱい出るので delphiでは問題ないのだと思います。 ぐぐっても、Builderでの例が1件もないので、悩んでいます。 BCB6でいけるということは、たぶんちょっとした違いなんでしょうから もう少し試行錯誤してみます。
623 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 23:12:20 ] >>621 で良さそうだけど、>>618 のエラーの原因を一応言っとくと、CreateはCOM用のスマートポインタを 返してるんだけど、それを生ポインタで受けてる事だな。次の行では既にReleaseされてて無効になってる。 _di_IShellWindows is = ... とでもすればいいはず。
624 名前:618 mailto:sage [2008/04/02(水) 23:19:55 ] >>621 いけました。 >>623 その通りでした。 TShellWindows *sw = new TShellWindows(NULL); あるいは CoShellWindows* sw=new CoShellWindows(); _di_IShellWindows is=sw->Create(NULL); とすれば、ちゃんと Countを取得できました。 どうもありがとうございます。
625 名前:デフォルトの名無しさん [2008/04/04(金) 17:12:27 ] TImageかTPaintBoxでスクロールする折れ線グラフ(パフォーマンスグラフみたいなの)を 描画したいのですが、どういうやり方をしたらスムーズにスクロールできますか?
626 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 17:35:39 ] つ TScrollBox もしくは、TFrameにTImageをはっておいて、 TFormにはってあるPanelの上に、 実行時にはる。
627 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 17:40:27 ] >>625 ダブルバッファリング
628 名前:デフォルトの名無しさん [2008/04/04(金) 18:02:02 ] >>626 TScrollBoxでどのようにやればいいですか? >>627 DoubleBuffered?
629 名前:デフォルトの名無しさん [2008/04/07(月) 10:26:52 ] Paintイベントでこんなことやってるんですがコピーされません。なぜですか? TRect r = PaintBox->BoundsRect; Canvas->CopyRect( TRect(0, 0, r.right-2, r.bottom-1), Canvas, TRect(1, 0, r.right-1, r.bottom-1) );
630 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 18:25:46 ] パッと見だけで適当に答えるけど、 BoundsRect.Right = Left + Width BoundsRect.Bottom = Top + Height というのは大丈夫か? PaintBoxのOnPaintでもFormのOnPaintでも、Canvasを直接参照すると FormのCanvasになるというのは大丈夫か? CopyModeも大丈夫か? TBitmapに描画して、PaintBoxにコピーした方が良くないか? PaintBoxは描画するエリアを用意するだけで、描画した内容を保存してくれるわけではないよ。 (PaintBox->OnPaintの中だけが全て)
631 名前:デフォルトの名無しさん [2008/04/08(火) 18:28:26 ] >>630 TBitmapからCanvasにアレするようにしました
632 名前:デフォルトの名無しさん [2008/04/09(水) 15:08:52 ] TGraphicControlを継承して描画するアレを作ったのですが クリックされた時のイベントがほしいのですが記述の仕方がわからないので教えてください
633 名前:デフォルトの名無しさん [2008/04/09(水) 15:27:48 ] クリッコイベントできますた(;´Д`)
634 名前:デフォルトの名無しさん [2008/04/11(金) 16:02:33 ] TImageに背景が白の画像をよみこませて表示しているのですが この背景を透過する方法を教えてください
635 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 23:16:39 ] 答えは君の心の中にきっとあるさ・・・・
636 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 12:18:45 ] ファイルの列挙を再帰処理で行っています。 _findfirst、_findnextを使用し、ファイル一覧の取得方法はわかりました。 しかし、カレントディレクトリを開始位置としているようです。 指定フォルダを開始点としたいのですが、カレントディレクトリを変更するにはどうすればいいでしょうか?
637 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 12:48:18 ] chdirとかSetCurrentDirとかSetCurrentDirectory。 でも、"C:\\Windows\\*.*"みたいな文字列渡せば、別にどこからでも列挙できるよ?
638 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 12:55:39 ] >>636 フルパスを渡すのが簡単
639 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 13:22:58 ] >>637 なるほど、「*.*」と指定してたのが駄目だったみたいです ありがとうございました
640 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 17:24:18 ] BCB pro 6 なんですが、アプリ実行中にメモリ破壊が発生したかどうか?っていうの調べる方法ありますか? 1万レコードくらい演算してるんですが、演算結果がてきとーに異なるんですよねorz (今手元にデータがないので結果報告できないんですが、 調べる手段とか手法を今のうちに検討しておきたいんです)
641 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 17:51:17 ] CodeGuardは報告してくれない?
642 名前:640 mailto:sage [2008/04/14(月) 17:53:02 ] じ、じつは、Del ---> BCBを超長年使いながら、 CodeGuardしたことありませんorz
643 名前:640 mailto:sage [2008/04/14(月) 18:09:04 ] CodeGuard のログファイルってどこにできるんでしょうか? 分厚い開発者にもCodeGurad について触れられてないような。。。
644 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 18:22:55 ] つーかリアルタイムでIDEにつらつらと出てくるよ
645 名前:640 mailto:sage [2008/04/14(月) 18:27:35 ] あ、本当だ。 memcmpでAccess overrun 出まくりなんですが、これ、マズイですか?
646 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 18:28:44 ] バグだらけじゃん
647 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 18:29:24 ] そりゃマズイさ
648 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 18:34:08 ] ありえんw
649 名前:640 mailto:sage [2008/04/14(月) 18:41:18 ] 逆に言うと、CodeGuardが止まらないプログラムだとメモリ無問題なんだぁ。 なんていうか、こんな便利なものだったとは>CodeGurard memcmpのAccess overrun でプログラムのメモリを破壊という道筋は思いつかないんですけど、そんな事あるんですか?
650 名前:640 mailto:sage [2008/04/14(月) 18:43:09 ] だって、memcmpってメモリに書き込みしないから、スタック壊すなんて無いですよね?
651 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 18:45:12 ] なぜ、memcmpのとこだけおかしてく他のwriteしているところは完璧だと思い込めるのだ。 それが最大のナゾだな。
652 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 18:46:09 ] バグだらけじゃん
653 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 18:48:34 ] 今はたまたま動いているかもしれんが エリア外の参照なんて普通にAccessViolationじゃないか
654 名前:640 mailto:sage [2008/04/14(月) 18:48:47 ] バグだらけじゃなくて、memcmpのAOって本当に1行だけですよ。 じゃ、そこ直せばって言われると思うんですが、 実データじゃないとバグ出ないんですよね。 開発マシンじゃ無バグ(現象出てないだけかorz)なんです。 件数多くなれば、memcmpがメモリを破壊する???
655 名前:640 mailto:sage [2008/04/14(月) 18:49:41 ] >エリア外の参照なんて普通にAccessViolationじゃないか あ、なるほど。 でも、読み出しだけなら無問題じゃないの???
656 名前:640 mailto:sage [2008/04/14(月) 18:51:33 ] 今日のところは、これで失礼いたしますが、 CodeGuardを使えるようになったのは大収穫でした。 有難うございましたorz
657 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 18:52:01 ] もう少しOSの事も勉強した方がいいと思うぞ
658 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 18:53:02 ] 現象だけから見たら、ブチ壊れたポインタ使いながら走ってる典型。
659 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 19:03:14 ] 特定条件でポインタの初期化が抜けているに90リラ
660 名前:デフォルトの名無しさん [2008/04/14(月) 19:24:55 ] >>659 m9(^Д^)プギャーーーッ
661 名前:デフォルトの名無しさん [2008/04/15(火) 10:09:57 ] 質問です よくウィザード画面てありますよね? 次とか戻るとかの、あれってあたかあも1つのフォームでやってるように見えるのですが 一般的にはどうやってるのでしょうか? 1.同サイズのフォームを用意して次を押されると次のフォームを表示して前のフォームを非表示に 2.PageControlで実行時にタブを非表示にして次を押されると次のタブに移動 これ以外に方法があったら教えてください
662 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 10:17:12 ] 親フォーム内に子フォーム埋め込んで、次へを押すと子フォームを次のフォームに切り替え。
663 名前:デフォルトの名無しさん [2008/04/15(火) 10:45:44 ] >>662 すみません。どうやって埋め込むんですか?
664 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 11:13:48 ] >>663 ボーダーをbsNoneにして TForm2 *subform = new TForm2(this); subform->Parent = Panel1; //埋め込みたい位置にパネルなりを配置しておく。 subform->Top = 0; subform->Left = 0; subform->Visible = true;
665 名前:デフォルトの名無しさん [2008/04/15(火) 11:29:52 ] >>664 なるほど。 んで次や戻るでフォームを動的にnewして埋め込むと その場合は次に進んだ時には前フォームの情報は失われるので 自分でファイルなりに保存しておくんですよね?
666 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 19:47:09 ] >661 CreatePropertySheetPage() ただし相当な修羅場を潜り抜けないと使いこなせない。 少なくともリソースについての理解が必要。
667 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 22:27:22 ] PageControlでいいじゃん
668 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 22:31:33 ] >666の関数をググってみると VCLはやっぱり神。って思った。
669 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 10:48:37 ] >>661 非標準ライブラリの使用がOKならば、JVCLのTJvWizardは?
670 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 18:04:29 ] 名前を指定してコントロールを取得したいのですが、方法がわかりません ご教授お願いします
671 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 18:21:39 ] 名前がわかってんなら、それがコントロールだべや。 なにを聞いているのか意味わかんね。
672 名前:デフォルトの名無しさん [2008/04/16(水) 18:23:28 ] FindComponentってことだろ?このブタ野郎が!
673 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 18:27:11 ] 説明不足ですいません for (int i=0; i < 10; i++) { AnsiString name = txtID + IntToStr(i); // 名前からコントロールにアクセス } フォームに連番のついたテキストボックスがあるのですが 大量にあるためループで処理できれば、と考えています。 VB.NETのFindControlみたいなことがしたいのです。
674 名前:デフォルトの名無しさん [2008/04/16(水) 18:41:54 ] >>673 お前みたいなクズは始めてた お前>>672 だけ100回見て1年ROMってろくず
675 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 18:45:40 ] 配列にすればええねん
676 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 20:46:56 ] メモリリークってプログラムの途中じゃ見ることできないですよね? やっぱ、終わったときだけ?
677 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 21:02:23 ] >>674 カルシウム不足 不摂生な生活
678 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 22:38:08 ] 大学でBorland C++ Builder version.4を使用しています。 自宅でもプログラムを組みたいので、Borland C++ Builder 2007の体験版を使っているのですが、 *.dfmの互換性がないため、大学側のC++ Builderで使用するのに一々フォームを組み直す必要があって非常に面倒です。 *.dfmに下位互換を持たせることはできるのでしょうか?教えてください。
679 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 02:16:57 ] >>678 BCB4を大学からコpうわなにをするやめr
680 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 03:09:32 ] >>678 両方にTurbo C++ Explorerをインスコ
681 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 22:05:05 ] お世話になります。 ファイルマッピングの実装が完了しました。 で、複数のデータをひとつの文字列で送る予定なんですが、 数字であれば、カンマ仕切りで分ければいいのですが、 数字と任意の文字列も含んでおり、任意の文字列の中にカンマがあれば、 受信側で処理ができにくいと考えています。 " "や"|"や","など考えましたが、できるだけ、任意の文字列に例外文字・予約文字? を作りたくありません。 こんな場合、どういう方法があるのでしょうか? もちろん、仮想メモリーを別に設ければいいだけなんですが、 良い方法があれば教えてください。 ちょっとスレ違いです。すみません。
682 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 23:44:53 ] 任意の文字列に"があったら\"に、\があったら\\に変換すればいい
683 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 01:56:37 ] 普通に考えれば','じゃなく\x9を区切りに使うんじゃね?
684 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 09:17:58 ] 文字列長も一緒に送るなら\0で区切っても‥‥
685 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 09:34:53 ] 普通、ファイルマッピングならバイナリーをやり取り出来るわけでわざわざシリアライズする必要はないと思うけどな もしかして文字列の最大サイズを設けたくないのかな? あるいは読み出し側でストリームとして読み出してるんだろうか? ならパイプでいいと思うけどな。 とりあえず、文字列の問題は送信時に文字列の部分をエンコードするのが普通 >>682 さんの方法のほかに特殊文字は全部 %xx と%の後に2桁の16進数にしてしまう方法がある。 これがエンコードもデコードも簡単。 文字列の部分をエンコードしてからTStringListにAddで入れて CommaText で1行にして送るだけ エンコードは、1文字づつみて英数字以外は全部 %xx に置換してしまえばいい デコードは %を見つけたら次の2文字を取ればいいだけ
686 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 14:07:50 ] TChartのSeriesCountが1、軸にAutomaticを設定 この状態で最初のデータに2859以上のデータを追加するとエラーになるのはBCBの仕様?
687 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 00:54:11 ] シリアライズの件ですが、 難しいです。 検討してみたいと思います。 レスありがとうございました。
688 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 16:38:01 ] 静的リンクを設定したのですが、BCB非インストール端末にて動作させるとエラーが発生します。 当方BCB6のProを使用しております。 解決方法があれば教えていただきたいです。 以下エラーメッセージ vclx60.bplが見つからなかったため、このアプリケーションを開始できませんでした。アプリケーションをインストールし直すとこの問題は解決される場合があります。
689 名前:デフォルトの名無しさん [2008/04/24(木) 16:42:47 ] リンカとパッケージ
690 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 16:53:28 ] >>689 リンカの共有RTL DLL、パッケージの実行時パッケージを使って構築 この二つはチェックをはずしてありますが、他にも設定する部分があるのでしょうか?
691 名前:デフォルトの名無しさん [2008/04/24(木) 17:11:41 ] コードガードとデバッグ情報
692 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 17:20:46 ] >>691 CodeGuardは対象無し、デバッグ情報はリリースで再構築しているためチェックが外れています どうも他の人がやるとエラーの出ない実行ファイルが作成されたので、プロジェクトでなく処理系の設定じゃないかと思っています
693 名前:デフォルトの名無しさん [2008/04/24(木) 17:23:56 ] exeのサイズはそれなりのサイズになっとるかね? ディレクトリ・条件で無駄なあれがあったら削除してみるとか
694 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 18:10:39 ] 1.2Mくらいの実行ファイルが出来てます 他の人に作成してもらったものとは30kくらい大きいです 条件は不要なものがあったので削除してみましたが、変化無しでした
695 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 19:15:13 ] obj tds dsk とか不要ファイルを全部消してみたら?
696 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 19:39:56 ] BDS2006/2007は、単独実行exeを作成するにはオプション3箇所変更する必要あるけど、 Builder5/6は2箇所でいいのかな? オプションをもう一度目をこらして確認してから、再構築かな。
697 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 23:02:39 ] プロジェクトファイルが変になってるとか 新規プロジェクトで再構築はどうかな
698 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 09:02:21 ] うおおありがとうありがとう いろいろやってみたけどどうも上手くいかなかったです とりあえず再インストールしてやってみます
699 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 14:15:13 ] FindFirstでファイルの列挙を取得しています 自分のPCだと問題なく取得できるのですが、ファイルサーバだと取得できません。 調べてみたところTSearchRecのAttrがものすごく大きい値になってしまっているのが原因のようです。 回避策などあればご教授お願いいたします。 TSearchRec sr; int attr = faAnyFile; if (FindFirst(Edit1->Text + "\\*.EXE", attr, sr) != 0) { return; } do { if ((sr.Attr & attr) != sr.Attr) { continue; } // 処理 } while (FindNext(sr) == 0); FindClose(sr); }
700 名前:699 mailto:sage [2008/05/07(水) 14:19:19 ] うお、字下げがひどい TSearchRec sr; int attr = faAnyFile; if (FindFirst(Edit1->Text + "\\*.EXE", attr, sr) != 0) { return; } do { if ((sr.Attr & attr) != sr.Attr) { continue; } // 処理 } while (FindNext(sr) == 0); FindClose(sr);
701 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 14:41:59 ] TSearchRec.Attrは実装的には0x7FFFまで取りうるはず。 (winnt.h 5208行以降とWindowsSDK WIN32_FIND_DATAのドキュメント参照)
702 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 15:22:44 ] Attrってフラグの組み合わせなのに、大きさがどう関係あるの? > if ((sr.Attr & attr) != sr.Attr) あとこれの意図は?
703 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 15:29:07 ] ああfaAnyFileが全部のフラグカバーしてないじゃないかって事か
704 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 15:36:38 ] >>701 確認しました。 圧縮ファイルになっていました。 >>703 ご指摘のとおりです。 顧客の設定がわからないため、とりあえず属性の条件部分をコメントにして動くようにします
705 名前:デフォルトの名無しさん [2008/05/07(水) 17:02:28 ] C++Builder6で、 膨張処理 細線処理 のプログラムをおしえてください。
706 名前:デフォルトの名無しさん [2008/05/07(水) 19:24:26 ] borland C++Builder6からgnuplotを実行し、 グラフを書かせたいのですが、 以下のコードではエラーが出てしまいます。 (pgnuplot.exeを認識しない。) ご指摘をお願いします。 ----------------------------------------------------- FILE* gp; gp = _popen("C:/Gnuplot/bin/pgnuplot.exe","wt"); if(gp == NULL){ ShowMessage("I can't find PATH"); exit(EXIT_FAILURE); } fprintf(gp, "plot sin(x)\n"); fprintf(gp, "pause -1"); fflush(gp); /* Don't forget to flush the buffer. */ getchar(); _pclose(gp); exit(EXIT_SUCCESS); ----------------------------------------------------
707 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 19:55:59 ] >>706 ディレクトリ区切り記号を\\にしては? シェル上だとスラッシュでも動作する事多いけどDOS/Windowsの本来のディレクトリ区切り記号はバックスラッシュ。
708 名前:デフォルトの名無しさん [2008/05/07(水) 20:28:56 ] >>707 コメントありがとうございます。 \\でやってみましたが、動きませんでした。。 そもそもC++builderからgnuplotは起動できないのでしょうか・・・。
709 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 23:14:36 ] んなことはなかろう。
710 名前:デフォルトの名無しさん [2008/05/09(金) 13:36:24 ] んなことはないつってんだろっ!
711 名前:TOM [2008/05/09(金) 14:21:20 ] // interface class Interface { public: virtual int getValue() const = 0;}; // print class Print { public: void out(const Interface& interface) { cout << "## " << interface.getValue() << endl; }}; // class A class A : public Interface { public: virtual int getValue() const { return 0; }}; // class B class B : public A { private: Print p; public: virtual int getValue() const { return 1; } void out() { // オブジェクトがコピーされて、class Aの値が表示される p.out((A)*this); // class AのgetValueが呼び出される p.out((A&)*this); } }; オブジェクトをコピーすることなく、クラスAの値を表示できませんか?
712 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 01:14:22 ] Turbo C++ Explorerを使っています。 TEditで文字の右寄せを行いたいのですが、Turbo C++ Explorerでは コンポーネントの登録ができないため、登録せずに実現する方法があれば 教えていただけないでしょうか? XP以降ならSetWindowLong()で実現できますが、2000などにも対応したいのです。
713 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 11:01:33 ] スレ違い
714 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 13:18:25 ] TMemoで代用とかって話があったような
715 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 13:20:50 ] >コンポーネントの登録ができないため、登録せずに実現する方法があれば new して、Parentプロパティに貼り付け先のコンポーネントを設定汁!
716 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 14:19:36 ] test
717 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 20:05:08 ] >716がBCBで2chブラウザを作るそうです
718 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 20:09:20 ] プロジェクトソース部分だけ書けば既存のJaneのソースがそのまま使えそうな>BCBで2chブラウザ
719 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 23:50:45 ] スレッドを別に分けて作成しているんですが、 別スレッドからmainの中にあるimageコンポーネントに絵画したいんですが、 どうやら駄目なようです。 このような場合の特殊なやり方教えてください
720 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 10:07:54 ] >>719 なんか質問が抽象的杉。 何がダメなんや。 調停入れて描画すればええだけだろ。
721 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 16:43:33 ] ビルダーで作っているんですが、 ShellExecuteで他のプロセスを実行させていますが、 自前のプロセスが終了したとき、実行させたプログラムも 一緒に終了させたいのですが、良い方法ありませんか? 今はハンドルを一生懸命さがして PostMessage で終了させてます。 ShellExecuteの段階でハンドルがわかればいいとおもうんですが。 いろいろ教えてください。
722 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 19:51:04 ] ちょっとお尋ねしたいのですが、 #include <string> #include <sstream> #include <fstream> using namespace std; int main() { stringstream test; test << (char)0x12 << (char)0x11 << (char)0x10 << (char)0x00 << (char)0x00 << (char)0x09 << (char)0x09 << (char)0x09 << (char)0x09 << (char)0x09; ofstream fout("test.txt"); fout << test.str(); return 0; } このプログラムが吐き出すtest.txtをバイナリエディタで見てみると、後ろから2バイト目に謎の0Dが出てくるのですが、この0Dは一体なんなのでしょう?? コンパイラはMinGWです。
723 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 19:54:41 ] すいませんソースコードが間違ってました。 正しいのはこっちです。 #include <cstring> #include <sstream> #include <fstream> using namespace std; int main() { stringstream test; test << (char)0x12 << (char)0x11 << (char)0x10 << (char)0x00 << (char)0x00 << (char)0x09 << (char)0x09 << (char)0x09 << (char)0x09 << (char)0x09; int aa = test.str().length(); string uu; uu = aa; test << uu; ofstream fout("test.txt"); fout << test.str(); return 0; }
724 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 21:56:54 ] >>721 CreateProcess使えば?
725 名前:722 mailto:sage [2008/05/18(日) 23:38:08 ] 誤爆失礼しました。。
726 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 23:42:07 ] tp://akky.cjb.net/mfc/appclose.html これをもう少しスマートにならないものでしょうか?
727 名前:デフォルトの名無しさん [2008/05/19(月) 02:36:18 ] >>722 それテキストモードで開いてないか?
728 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 18:05:35 ] void __fastcall TForm1::Button1Click(TObject *Sender) { try { Chart1->BottomAxis->Automatic = true; Chart1->LeftAxis->Automatic = true; TChartSeries *cs = new TLineSeries(Chart1); Chart1->AddSeries(cs); cs->AddXY(30000, 0, "", (TColor)clTeeColor); } catch (Exception &ex) { Application->ShowException(&ex); } } これ実行するとEInvalidPointerになるんだが意味がわからんとです
729 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 00:16:29 ] よくわからんけど、 > Chart1->AddSeries(cs); これいらなくね?あと > EInvalidPointerになるんだが どの行で?デバッガで例外を発している処理をちゃんと確認してみたら?
730 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 10:11:40 ] >>729 > これいらなくね? これないと表示されないんだ… > どの行で?デバッガで例外を発している処理をちゃんと確認してみたら? ブレークかけてるけど、イベント終了まで例外は発生されなくて、終了後に例外が発生
731 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 10:20:04 ] こっちで試した限りじゃ空文字列がまずいようだ
732 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 11:52:56 ] 空文字を適当な文字列にしたらいけました ラベルが例外の温床なのかと思い、軸のLabelStyleをtalValueに変えてやってみたら例外発生 あとは実際のプロジェクトで試してみたら例外は変わらず コンポーネント追加してるのが悪いのかもしらん
733 名前:デフォルトの名無しさん [2008/05/21(水) 21:55:24 ] BCBの64ビット環境への対応に関して情報あれば教えてください。
734 名前:デフォルトの名無しさん [2008/05/22(木) 03:20:42 ] >>733 とりあえずDEP切っておけば動くんじゃね?
735 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 16:01:31 ] フォームを持たないプログラムを作るにはどうしたらいいですか? プロジェクトソースのWinMainにどうやってかけばいいですかね?
736 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 16:09:43 ] ウィンドウ持たない常駐型アプリはWindowsの仕様上無理。 メインフォームのVisibleをfalseにすればおk。 起動時に処理してそのまま終了ならコンソールアプリと同じ処理をすればいい(mainをWinMainに置き換えるだけ)
737 名前:デフォルトの名無しさん [2008/05/22(木) 16:32:25 ] TPNGObjectを探してるんだけどこれって本家HPが見れないー どっかDLできるとこある?
738 名前:デフォルトの名無しさん [2008/05/23(金) 23:10:10 ] >>737 ほんとだねー。 どこかにアップする?
739 名前:デフォルトの名無しさん [2008/05/24(土) 05:24:00 ] Delphiくだすれで見つけた。 www.codeplex.com/PNGImage/Release/ProjectReleases.aspx?ReleaseId=13294 fcしてみたけど手元のv1.564と全く同じだったからこれでいいんじゃないかな。
740 名前:デフォルトの名無しさん [2008/05/24(土) 17:53:43 ] 以下のようなエラーが出て、原因がわかりません。。。 エディターはBCC Developerで -W オプションにはチェックをいれています。 初歩的な質問ですみません > C:\borland\bcc55\Bin\make.exe -fDebug\testWin.mak -B Debug\testWin.obj MAKE Version 5.2 Copyright (c) 1987, 2000 Borland brcc32 -W -3 -Od -w -AT -pc -H- -k -b -v -y -DDEBUG -nDebug -c D:\util\bccdev1221\bccdev1221\DATA\testWin\testWin.cpp Borland Resource Compiler Version 5.40 Copyright (c) 1990, 1999 Inprise Corporation. All rights reserved. Illegal Parameter: -W
741 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 17:59:45 ] リソースコンパイラにC++ソースコンパイルさせるな
742 名前:デフォルトの名無しさん [2008/05/24(土) 18:02:32 ] brcc→bcc32
743 名前:デフォルトの名無しさん [2008/05/24(土) 18:04:50 ] >>741 さん どういうことでしょうか? もう少し詳しく教えていただけると助かります。
744 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 18:14:34 ] >>743 付属の「Borland C++ Builder ツール」ってヘルプファイルを読みましょう。 結論から行くとmakefileの記述ミスじゃね?BCBIDEだとmakefileいじる機会ほとんどないから予測だけど。
745 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 18:15:25 ] >>743 >>742 を百万遍嫁
746 名前:デフォルトの名無しさん [2008/05/24(土) 18:19:34 ] >>745 さん 百万遍読んだんですが、どこで設定すればよいのか分からないのです。。。 教えて教えてですみません。
747 名前:746 [2008/05/24(土) 18:22:53 ] すみません、解決しました。 ご迷惑お掛けしました。
748 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 19:54:47 ] BCB 5を使っているんですが、ブレークポイントから動きを追っていると いきなり上の行に戻ったりおかしな挙動をすることがあります。 どっかでメモリ壊してるんじゃないかとは思うんですけど、同じような現象起きることありませんか? ちなみにCodeGuardでは何も検出されませんでした。
749 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 20:06:38 ] マルチスレッド使ってるだろ。
750 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 20:59:07 ] 意図的なマルチスレッドは使っていませんでした。
751 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 21:06:31 ] マルチスレッドか最適化ぐらいかな。ありえそうなのは。それ以外は経験した事無いな。
752 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 22:17:38 ] >>748 最適化だろ
753 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 23:10:53 ] 効率よくデバッグするときは最適化をOFFにするのがセオリー。 そうしないと、変数のレジスタ割当てやループの最適化や重複コードの最適化 などの影響であっちこっちに飛ばされるよ。
754 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 00:30:40 ] コピーしたフォルダがあるとか
755 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 06:46:27 ] ってか、デバッグするときは、 プロジェクト-オプション-コンパイラの デバッグ(F)を押した設定にする。 これ常識あるね。
756 名前:デフォルトの名無しさん [2008/05/26(月) 11:31:17 ] bmpを読み込んでTJPEGImageに変換してTJPEGImageのCompressionQualityを設定して Timageに表示したいのですがいまいちうまくいきません。 CompressionQualityはファイル書き出し時に有効みたいなことが書いてたので jpg->Assign( bmp ); jpg->CompressionQuality = 10; TMemoryStream *ms = new TMemoryStream( ); jpg->SaveToStream( ms ); jpg->LoadFromStream( ms ); Image->Picture->Bitmap->Assign( jpg ); としてみたのですが、↑で実行時にエラーになります。 SaveToFileでファイルに書いてそれをLoadする分には正常に処理されるのですが ファイルを作らずにやるにはどうしたらいいですか?
757 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 12:11:48 ] StreamはPositionを意識しないといけない。SaveToStream後のPositionを見てみるといい。 LoadFromStreamはその位置からデータを読もうとする。
758 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 13:38:07 ] >>757 あなたは神ですか? まさにその通りでした!! それでちゃんと読めるようになりましたありがとうございます! し、しかし・・・ CompressionQualityってSaveToFileにのみ反映されるんですね・・・ SaveToStreamでは効果がなかった・・・
759 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 13:41:14 ] あ、違った(;´Д`) SaveToStreamがうまくいってなかったからコードをアレしてたんだった SaveToStreamでもちゃんとCompressionQuality処理されてましたー
760 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 13:54:09 ] つーかVCLのLoadFromFile/SaveToFileってメソッド内でTFileStream作成して〜Stream呼ぶだけだかんねぇ
761 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 20:42:01 ] しかしVCとは違って各種ビルドオプションが切り替えられないのが面倒。 6使ってた頃にはリリースビルド専用のmakefile作ってた。
762 名前:デフォルトの名無しさん [2008/05/27(火) 05:00:24 ] >>761 意味不明 切り替えられるじゃん
763 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 06:24:46 ] >>761 はDelphi6と勘違いしているのじゃねえの
764 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 08:03:49 ] ひょっとして[デバッグ][リリース]ボタンでオプション設定する機能を 構成切り替え機能だと思ってるの?
765 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 18:35:11 ] で、みんなどのバージョンを頭に置いて書き込んでるの?
766 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 18:46:36 ] 6Pro
767 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 19:20:35 ] >>766 あれ? >>761 はわざわざ「6使ってた頃には〜makefile作ってた。」って書いてあるんだから、 対象は6以外ってことで、2006以降の話なんじゃないのか?
768 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 19:36:34 ] はぁぁ?
769 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 19:55:19 ] >>761 今はどうしてるんだ? 今は6使ってないんだろ?
770 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 20:06:44 ] 今は5使ってます
771 名前:748 mailto:sage [2008/05/27(火) 21:22:14 ] う〜ん、最適化でそういう動きするのか。 でもデバッグを押して再構築してもまだそういう動きをしました。 テンプレートを多用してあまりにサイズが大きくなったので #pragma option push #pragma option -vi- 〜 #pragma option pop でインラインを止めてみたんだけど、これが問題なのかなぁ。
772 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 00:09:41 ] ていうかテンプレートそのものが原因だろw
773 名前:デフォルトの名無しさん [2008/05/29(木) 10:28:29 ] ODBCを経由せずにアクセスデータベース(mdbファイル)とやり取りする方法を教えてください
774 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 10:33:32 ] つ Win32API
775 名前:デフォルトの名無しさん [2008/05/29(木) 10:41:29 ] 関数名は?
776 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 14:02:25 ] それくらい自分で探したら。 大ヒントもらったんだから。
777 名前:デフォルトの名無しさん [2008/05/29(木) 14:10:49 ] 知らないならレスしないで下さい。ウザイだけです。
778 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 14:32:06 ] 知らない場合はレスしないよ。 知ってるけど自助努力の余地を残してあげてるだけ。 ここで努力して見せれば次は回答あげたりするわけだけど、 いきなりキレたりしたら、馬鹿にして見捨てるわけ。 今回は見事にキレたから、馬鹿にして見捨てた次第です。ばーかw
779 名前:デフォルトの名無しさん [2008/05/29(木) 14:53:16 ] 見事に知らない奴がするレスの手本だ
780 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 15:49:44 ] と言いつつ、本当に「知らない奴」かどうかは一度も確認したこと無いよね。 初めて見た時からずっと「これは知らない奴がするレスの手本なんだ!」ということにしてきただけw
781 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 19:34:09 ] コピペにマジレス(ry w
782 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 19:25:16 ] delfusa.blog65.fc2.com/blog-entry-40.html のやり方でTMemoを継承して、SetWindowLongで追加できないES_CENTERを持つメモコンポーネントを作成したいのですが、 CreateParamsで設定したスタイルが反映されません。どこに問題があるのでしょうか? class TMemoEx : public TMemo { protected: void __fastcall CreateParams(TCreateParams& param); public: __fastcall TMemoEx(TMemo* original); }; --------↑ヘッダ--------↓ソースファイル--------------- __fastcall TForm1::TForm1(...) : TForm(...) { Memo1 = new TMemoEx(Memo1); } void __fastcall TMemoEx::CreateParams(TCreateParams& param) { param.Style = param.Style | ES_CENTER | ES_NUMBER; TMemo::CreateParams(param); } __fastcall TMemoEx::TMemoEx(TMemo* original) : TMemo(original->Owner) { Parent = original->Parent; TMemoryStream* ms = new TMemoryStream(); try { ms->WriteComponent(original); delete original; ms->Position = 0; ms->ReadComponent(this); } __finally { delete ms; } SendMessage(Handle, ES_SETRECT, ....); }
783 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 19:42:36 ] param.Style = param.Style | ES_CENTER | ES_NUMBER; TMemo::CreateParams(param); ↑逆
784 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 20:22:05 ] >>783 行けました。感謝です。
785 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 14:35:52 ] いま、簡単に書けば void __fastcall TForm1::FormCreate(TObject *Sender) { loadInifile(Sender); } void __fastcall TForm1::loadInifile(TObject *Sender) { Panel1->Show(); Panel2->Show(); } のように、FormCreateでIniファイルを読み、 その結果でフォームのスクロールバーを表示したり、ステータスバーを消したりしています。 ここの処理をできる限り速くしたいと思います。 C++ Builderの場合、タイミング的にはloadIniFileが完了してからフォームが表示されるのでしょうか?
786 名前:デフォルトの名無しさん [2008/06/04(水) 15:02:24 ] CreateよっかコンストラクタかShowでやったほうがいいんじゃね?
787 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 15:13:55 ] てかBCBではOnCreate使わずにコンストラクタでやれってヘルプに書いてあるね
788 名前:785 mailto:sage [2008/06/04(水) 15:35:34 ] >>786 >>787 すみません、そのヘルプの場所を教えていただけないでしょうか?
789 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 15:40:50 ] >>788 TCustomForm::OnCreate > 注意 フォームのコンストラクタとのやり取りが不良になる可能性があるので, > C++Builder で OnCreate イベントを使うことはお勧めできません > (OldCreateOrder を参照)。かわりに,フォームコンストラクタをオーバーライドすることをお勧めします。
790 名前:785 mailto:sage [2008/06/04(水) 15:49:03 ] >>789 ひぃ〜!ありがとうございます! 早速先のloadIniFileをコンストラクタに移動してみました。 が、動作をみると、まだフォーム表示後にフォームのサイズが変更されたりしてるようです。。 理想でいえば、ウィンドウのサイズや位置や、各コントロールのプロパティに値が設定された後、 フォームを表示したいのですが、どうすればいいのでしょうか。。?
791 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 15:53:41 ] TForm1::Visibleの初期値をfalseにして、コンストラクタの最後でtrueにすればいいんじゃね?
792 名前:デフォルトの名無しさん [2008/06/04(水) 15:54:28 ] loadInifileでやってるPanel1->Show();の意味がわからんのだが
793 名前:デフォルトの名無しさん [2008/06/04(水) 15:55:57 ] つーかフォーム操作はコンストラクタでやっとけばフォーム表示時には変わってるとおもうんだがー 他のコントロールならまだ作成されてない可能性はあるとおもうが
794 名前:785 mailto:sage [2008/06/04(水) 16:13:12 ] >>791 新規プロジェクトでForm1のVisibleを見るとfalseでした。 フォームのVisibleはフォームの表示には関係ないのではと思ったり。。
795 名前:785 mailto:sage [2008/06/04(水) 16:15:12 ] >>792 すみません、適当に書いたのであんまり意味はないです。。 >>793 なんか処理をコンストラクタに移したらうまくいったようなないような。。 フォームにActiveXのコンポーネントが乗ってるので、 そちらのちらつきが目立つようになってしまいました。。
796 名前:デフォルトの名無しさん [2008/06/04(水) 17:11:29 ] C++Builder5 ProでMDBファイルから直接レコードを読んだりしたいのですがどうやったらできますか?
797 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 22:05:33 ] >MDBファイルから直接 なにゆえ直接読む必要があるのだろうか・・・
798 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 23:10:05 ] ODBC
799 名前:デフォルトの名無しさん [2008/06/05(木) 10:54:37 ] ODBCを経由したくないからに決まってるだろぼけが
800 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 13:16:32 ] 普通にファイルオープンして読み書きすりゃいいじゃん
801 名前:デフォルトの名無しさん [2008/06/05(木) 13:26:53 ] 馬鹿はレスするなよ
802 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 15:13:53 ] くだすれ行けよ
803 名前:デフォルトの名無しさん [2008/06/05(木) 15:20:14 ] お前らの馬鹿なレスに期待してんだよクズ
804 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 10:12:27 ] >>796 マジレスすると、BCB6なら、プロジェクトに「タイプライブラリの取り込み」ってあるはずだから、 それでADOの対象DLLを取り込んで、COM経由で読めたような気がする。 確か、BCB5でもOKだったような。 それが無ければ、#import文でも取り込めた気がする。 この辺の作法はVC++と同じはず。
805 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 15:51:24 ] 直接レコードを読むってのは、ADO接続するってことなのか?
806 名前:デフォルトの名無しさん [2008/06/06(金) 16:14:00 ] むしろDAOで
807 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 20:35:06 ] つまんないことですけど、 std::sortで比較関数を書く場合、 bool sortNameAsc(const FI& left, const FI& right) { return left.Name < right.Name; } bool sortNameDesc(const FI& left, const FI& right) { return left.Name > right.Name; } で std::sort( vec.begin(), vec.end(), sortNameAsc ); // 名前昇順 std::sort( vec.begin(), vec.end(), sortNameDesc ); // 名前降順 と、 std::sort( vec.begin(), vec.end(), sortNameAsc ); // 名前昇順 std::sort( vec.begin(), vec.end(), -1 * sortNameAsc ); // 名前降順 は同じことですよね。。?自分に自信がなくて。。
808 名前:デフォルトの名無しさん [2008/06/06(金) 21:09:10 ] ちがわい boolではtrueは1、falseは0に変換される
809 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 21:16:25 ] ってことは、 std::sort( vec.begin(), vec.end(), sortNameAsc ); // 名前昇順 std::sort( vec.begin(), vec.end(), ! sortNameAsc ); // 名前降順 ですか?><
810 名前:デフォルトの名無しさん [2008/06/06(金) 23:53:10 ] >>809 それコンパイル通る? 通ればそれでいいんだけど
811 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 23:58:18 ] あれなんかageになってたごめん
812 名前:809 mailto:sage [2008/06/07(土) 06:48:02 ] 三番目の引数が関数じゃないって怒られました \(^o^)/
813 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 10:45:35 ] 関数オブジェクト使えよ sortName(Asc) とか sortName(Desc) と書けるように
814 名前:809 mailto:sage [2008/06/08(日) 05:43:37 ] 関数オブジェクトが理解できません\(^o^)/ ヤバス
815 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 11:51:43 ] STLよく知らんがこんなんでいいんじゃないん? struct CData { CData(std::string name, int value):Name(name), Value(value){}; std::string Name; int Value; }; struct CCompareTest { int mode; CCompareTest(int val) : mode(val) {} operator()(const CData& l, const CData& r) { if (mode == 0) { return (r.Value > l.Value) ? true : false; } else { return (r.Value < l.Value ) ? true : false; } } }; main() { std::vector<CData> test; test.push_back(CData("Item1", 0)); test.push_back(CData("Item2", 4)); test.push_back(CData("Item3", 2)); test.push_back(CData("Item4", 3)); test.push_back(CData("Item5", 0)); std::sort(test.begin(), test.end(), CCompareTest(1)); for(std::vector<CData>::iterator it = test.begin(); it < test.end(); it++) { std::cout << (*it).Name << ":" << (*it).Value << endl; } } Name基準でしかソートしないならoperator >(const FI&, const FI&)とoperator <(const FI&, const FI&)定義して std::greaterとstd::less使えば事足りるだろうけど。
816 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 12:41:25 ] 関数オブジェクトってのは単に operator() をオーバーロードしたクラスのオブジェクトってだけのことだ。
817 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 16:43:38 ] なんだ関数オブジェクト知らなかったのか 普通に関数呼び出すよりも関数オブジェクトの方が 最適化を掛けるとインライン化されて速度が上がる可能性が高い まあ中にはVCみたいに関数呼び出しまでインライン化するお馬鹿な コンパイラもある事にはあるが
818 名前:デフォルトの名無しさん [2008/06/10(火) 18:37:40 ] Variant型のvarDispatchタイプにバイナリデータが入ってるのですが これをHEX文字に変換する方法を教えてください
819 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 06:39:17 ] ん。varDispatchってことは、インターフェースへのポインタが入ってるわけでしょ? そのインターフェースに何かしらのデータ取得用のメソッドないの?? varByte || varArrayなどのSafe配列としてバイナリデータ格納されてるわけじゃないんでしょ?
820 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 20:02:23 ] HBITMAP Spi_LoadImage(LPSTR plugin,LPSTR filename) というHBITMAPを返す関数があるのですが、これをフォームに表示する方法がわかりません>< HBITMAP bitmap = Spi_LoadImage( "c:\\ifjpeg.spi", "c:\\0.jpg" ); Image1->Canvas->CopyRect( Rect(0,0,bitmap->Width,bitmap->Height), bitmap->Canvas, Rect(0,0,bitmap->Width,bitmap->Height) ); とすると「E2288 -> か ->* の左には構造体のポインタが必要」ってエラーが出てしまうのです。 どうしたらいいでしょうか
821 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 20:08:16 ] TBitmap::Handleに戻り値のハンドルぶち込めばいいんじゃね?
822 名前:820 mailto:sage [2008/06/16(月) 20:13:17 ] >>821 TBitmapコントロールってないですよね?>< フォームにはTImageを張ればいいのでしょうか??
823 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 20:24:47 ] __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { HBITMAP hBitmap = Spi_LoadImage("IFPSD.spi", "test.psd"); Image1->Picture->Bitmap->Handle = hBitmap; } //--------------------------------------------------------------------------- __fastcall TForm1::~TForm1() { Image1->Picture->Bitmap->ReleaseHandle(); }
824 名前:820 mailto:sage [2008/06/16(月) 20:29:22 ] >>823 ひぃ〜、できました!!感動です!ありがとうございます!! このスレはすぐ的確な回答が返ってくる素晴らしいスレだと思います!!
825 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 20:31:01 ] つーかちゃんとVCLのドキュメント嫁
826 名前:820 mailto:sage [2008/06/16(月) 20:34:02 ] bcbに関しては全部ネットで勉強してるので、 なんかとっかかりがないんです(汗 VBとかVCはIDEがナビゲートしてくれる感じなのですが。。
827 名前:820 mailto:sage [2008/06/16(月) 21:39:47 ] たびたびすみません;; テキストボックスを入力不可にしてグレーにしたいんです。 VBとかだとenableをfalseにすると勝手にグレーになって編集不可になったと思うのですが、 bcbだとreadonly=trueにして、自前で色を変更しないといけないのでしょうか?;;
828 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 21:48:06 ] 自前でどうぞ。
829 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 21:49:33 ] 無効にすればそうなるはずだが
830 名前:820 mailto:sage [2008/06/16(月) 21:55:24 ] ああ、enabled=falseにすると、エディットボックスのテキストがグレーになりました!! テキストボックス自体をグレーにするには自前でするしかなさそうですね。。
831 名前:デフォルトの名無しさん [2008/06/17(火) 15:36:15 ] 知らないならレスしないでください。
832 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 21:49:33 ] ベッキーのようにexeから関数をエクスポートしたいのですが、 exeとエクスポート先のexe両方ともコンパイルできたのたのですが、 呼び出しexeで初期化が失敗しましたとでます。 とりあえず、exeのlibを作って静的にリンクしています。 またソースは extern "C" __declspec(dllexport) char* __stdcall GetA(void); という形で両exeに宣言してます。