[Tips]Borland C++Builder ちょいテク No.01
1 :
1 :
2006/08/03(木) 13:43:29
2
Borland Developer Networkが日本語化されつつあり
http://bdn.borland.com/article/33619 なんて結構参考になりました。
TTrayIconを使うと処理がすごく簡単になりますね。
あと
Application->Restore();
Application->BringToFront()
なんてのがあるのは全然知らなかった。
ShowWindow(Application->Handle, SW_xxxxx);とか必死にしていた。
あとTApplicationEventsなんて便利なものもあったんですね。
この手の日本語記事が増えるとうれしい。
BDS2006(Builder V10) 単独で実行可能なexeを作成するための設定 オプション リンカ(ilink32) リンク □動的RTLを使うのチェックを外す パッケージオプション ◎設計時のみのパッケージ(-Gpd)を選択する パッケージ パッケージ再構築 □実行時パッケージを使って構築(B)のチェックを外す (ハマる人が多いらしい)
7 :
デフォルトの名無しさん :2006/08/03(木) 20:22:58
もっと議論したまえ
エディタで、 [CTRL]+[SHIFT]+[R] でキーボードマクロ記録開始 [CTRL]+[SHIFT]+[P] でキーボードマクロ記録再生
9 :
デフォルトの名無しさん :2006/08/06(日) 02:51:29
タスクバーを除いたデスクトップの領域を取得する TRect r; SystemParametersInfo(SPI_GETWORKAREA,0,&r,0);
BCBスレらしく Screen->WorkAreaRect
BDS2006すべて(C++/Delphi/C#/Delphi.net)起動 "C:\Program Files\Borland\BDS\4.0\Bin\bds.exe" C++Builderのみ起動 "C:\Program Files\Borland\BDS\4.0\Bin\bds.exe" -pCBuilder Delphiのみ起動 "C:\Program Files\Borland\BDS\4.0\Bin\bds.exe" -pDelphi C#のみ起動 "C:\Program Files\Borland\BDS\4.0\Bin\bds.exe" -pCSharp Delphi.netのみ起動 "C:\Program Files\Borland\BDS\4.0\Bin\bds.exe" -pDelphiDotNet
12 :
デフォルトの名無しさん :2006/08/06(日) 07:42:27
数値を3桁区切りのカンマ付き文字列に変換する FormatFloat("###,###,###,###",数字);
FormatFloat(",0", 数値) こうだべ。全部#だと数値が0の時、空文字列になるし。
>>13 ほんとだ。
0の時にNULLになる。
で調べてみたら、
FormatFloat("#,##0",123456789);
FormatFloat(",0",123456789);
のどちらかが一般的に使われている模様でした。
両方とも0なら、文字列の0をちゃんと返してくれました。
BCB5 、[CTRL]キー押しながら起動。
英語版をインスコし、Program Filesの某CBのLibフォルダを保存しておく。 日本語版をインスコ。 取って置いたLibフォルダを上書きすると、IDEは日本語、エラーメッセージは英語。 しかし、メッセージボックスのCaptionが"Comfirm"になる罠。
BDS2006にEaster Eggがあったらキボン。
MSVC形式のlibをBuilderで使用する方法 COFF2OMF インポートライブラリ変換ツールを使用する MSVCのLIB形式であるCOFFからBuilder形式であるOMFに変換する。 COFF2OMF COFF.lib(old file) OMF.LIB(new file)
>>17 ヘルプ→バージョン情報の所で、Altを押しながらTEAMと入れる
20 :
デフォルトの名無しさん :2006/08/08(火) 22:53:07
>>18 それ、インポートライブラリの変換専用でスタティックリンクライブラリの変換は出来ないぞ。
うむ
24 :
デフォルトの名無しさん :2006/08/15(火) 06:04:37
25 :
デフォルトの名無しさん :2006/08/15(火) 14:12:48
サードパーティ製品とは連動できない事のマイナスをどう評価しますか?
それによって業務続行不可能に陥る事例が1割に満たない状態ではマイナス評価の内に入らない。
28 :
デフォルトの名無しさん :2006/08/16(水) 16:42:29
スレ違い
29 :
デフォルトの名無しさん :2006/08/19(土) 07:16:30
某
30 :
デフォルトの名無しさん :2006/08/19(土) 14:30:18
島
31 :
デフォルトの名無しさん :2006/08/28(月) 20:20:48
国
>>4 いまさらだけど、高速化。 ちょーはえー
. w .∧_∧ w
ヽ(・ω・)ノ シュパパパパ
. wソ/_ /ヾw
.,,,.,.,,.,.,,, ノwwゝwwwwwwwwwwwwwwwww
w ∧_∧ w
ヽ( )ノ
. / /
ノ ̄ゝ,,,.,.,,.,.,,,.,.,,.,,,.,.,,.,.,,,.,.,,.,,,.,.,,.,.,,,.,.,,
33 :
デフォルトの名無しさん :2006/08/30(水) 18:39:27
34 :
デフォルトの名無しさん :2006/09/08(金) 15:18:07
半
>>4 これ入れると 新規プロジェクト作成→ちょっと弄る→ビルド→保存 が出来なくなるのは俺だけ?
新規プロジェクト作成→ちょっと弄る→保存 は普通に出来た
ビルド前にファイルが保存されますが、何か?
>>36 Bcc32Pchなんたらを入れる前は同じ手順で保存できたが
入れた後は保存できなくなったぞ
38 :
36 :2006/09/08(金) 15:56:47
そんなことは無かったけど...
保存できなくなるというか保存ダイアログの保存ボタンが押せなくなるんだよな
保存できなくなることはなかったけど、ソースを修正しても コンパイルされないことがあったから、アンインストールした。
まじ? 保存はできてるよ 環境書けやゴラーヽ(`Д´)ノ C++ビルダー6 Pro + パッチ4 WindowsXP Pro
>>42 なんでだろ、漏れはいつもCtrl+Sで、あえて保存はおさないな〜
>>42 アリエナス
自分と違うのは、自分のBCBには全てのプロジェクトをコンパイルなんてボタンは無いから、
CTRL-F9でコンパイルしてる。
その際、保存確認ダイアログが出てくる。
ツールバーをカスタマイズしたら「全てのプロジェクトをコンパイル」ってのがあるよ
46 :
デフォルトの名無しさん :2006/09/20(水) 09:41:07
あ
47 :
デフォルトの名無しさん :2006/09/20(水) 14:38:54
BCBのFastMMの組み込み方も入れてくれ。
OpenDialog1で、マウスを押した瞬間に抜けて来るんですけど、 押して離したとかに抜けてくるように設定するにはどうしたら良いでしょう。 マップエディタを作成していて、押した瞬間に出てこられると 編集中の画面にマウスで画像チップを描いてしまうのです。
>マウスを押した瞬間に抜けて来るんですけど 何を押した瞬間に 何を抜けて来るの?
>>48 そんなこと無いと思うんだけど。
if ( OpenDialog1->Execute() ) { ... }
って使ってるんだよね?
OpenDialog1 は TOpenDialog のインスタンスだよね?
興味あるからプロジェクト一式どっかにアップロードしてごらんよ。
早漏君だね
多分描画をMouseDownとかFormKeyDownでやってると思うんだけど ダイアログを開いてから確実に閉じる間は、 画像チップを描くのをキャンセルすれば? Dialogが開いてるとか、そのマップのフォームにフォーカスがない時は、 returnで戻っちゃう。
53 :
デフォルトの名無しさん :2006/10/09(月) 07:55:52
遅老
54 :
デフォルトの名無しさん :2006/10/13(金) 16:56:10
>>4 の高速化って外すこと出来ましたっけ?
ヘッダーファイルにエラーがあると、エラーが分からなくなるんだよね。
>>54 「コンポーネント」−「コンポーネントのインストール」で
該当コンポーネントのチェックを外すのでは駄目ですか?
56 :
デフォルトの名無しさん :2006/11/01(水) 17:01:12
話題ないね
BCB6からBD$2005に移るテクが欲しい。 qRep使ってんだけど、どーしよー。 qRepを廃棄すべきか、製品版qRepを買うべきか。
BDSのぐだぐだなヘルプをどうにかするテクきぼん いまんとこヘルプはBCBのを使ってる
>>4 C++Builderを高速化するパッケージを、BDS2006でやってみました。
確かに、早くなりました。カーソル移動、コード補完する場面で。
てか、コード補完、全然やってくれない。
補完不要な達人なら、動作が機敏んになって良いかもしれません。
初心者の自分は、速攻で、パッケージ追加の画面でチェックをはずしました...
60 :
デフォルトの名無しさん :2006/11/07(火) 22:03:01
ためになるちょいてく ツール(T)-オプション(O) 環境オプション 自動保存の設定 □エディタファイル(F) これにチェックを入れることを忘れずに。 デフォルトでは、ノーチェックになっている。 これにチェックを入れないと、プロジェクトを終了するまで、ソースは一切自動保存されない。 BDS2006が落ちたとき、悲惨なことにならないために。 ってか今日、悲惨なことになったよ。オレ。
61 :
デフォルトの名無しさん :2006/11/08(水) 08:54:04
TFormの開放って、Form1->Release()で良いんでしたっけ? それともdelete Form1?
Free()だけどここ質問スレじゃないよ
>4 Turboにつかえねー・・・
↑C++のほうね
>>62 フォームのイベントハンドラでは Free のかわりに Release を使う必要があります。
そうしないと,アクセス違反例外が生成されることがあります。
Release は,フォームのすべてのイベントハンドラおよびフォーム上のコンポーネントの
イベントハンドラが実行を終了するまでフォームを破棄しません。
また,フォームのイベントキューにあるすべてのメッセージが解放前に処理されるようにします。
67 :
62 :2006/11/12(日) 09:28:34
モーダルフォームのことかと思い込んでたよ よく使うから
BCB6な人たちって、 FastMMに差し替え&高速化 なんてしてますか?
TurboC++ は標準でFastMMですよね?
BCB6からTurboC++に乗り換える暇が無くて... 最大の難関はQuickReportがTurboに無い(おね?)こと。
QuickReportずっと購入しようと思ってるんだけど、それ外国だし日本円では買えないんでしょ? カードで購入みたいだし、稟議とか面倒だなぁ。
便乗ですいません。 QuickReportってなんですか><
76 :
デフォルトの名無しさん :2006/11/16(木) 18:55:16
LightReport2 ってBD$でも使えるんだろうか?
77 :
デフォルトの名無しさん :2006/11/17(金) 02:25:43
78 :
デフォルトの名無しさん :2006/12/20(水) 22:24:09
79 :
デフォルトの名無しさん :2007/01/08(月) 22:34:21
>>77 >拝見して頂きたい
日本語を勉強しなおしてこい
80 :
デフォルトの名無しさん :2007/01/26(金) 22:26:05
C++Builderでインラインアッセンブラを使う方法はみんな知ってるよな?
81 :
デフォルトの名無しさん :2007/01/26(金) 22:59:12
うん、 _asm{ ...}; 使うんでしょ。
>>81 Cの関数の中で__asmって使えるの?
古いバージョンではパスカルの関数にアセンブラを書いてたけど。
83 :
デフォルトの名無しさん :2007/01/27(土) 00:26:26
84 :
デフォルトの名無しさん :2007/01/31(水) 15:55:05
もしかして、Del用のLightReport2ってBCBでは使えない?
86 :
84 :2007/02/06(火) 09:27:38
BCB6だと、コンポーネントのインストールになるの?パッケージのインストールになるの? どっちも失敗するんだけど。
87 :
84 :2007/02/06(火) 13:22:57
LightReport2のsrc直下のpasの追加でなんとかインスコできました。 これって簡単に使えますか? 類似品としてTAlRepってのもあるが、どっちが良いかなぁ。
88 :
84 :2007/02/06(火) 14:07:41
やっぱ、LightReport2のインスコ不安定。 TCustomOutlineで[Linker Error]が出る。 TNormalReportってのもインスコできた。 パッと見部品少ないけどどうなんだろ。 ふつーのTImageコンポーネントを上に乗せたりできるみたい。
89 :
84 :2007/02/06(火) 14:26:58
RaveレポートをBCB6で使ったり出来ませんよね? Del7なら持ってますが。
90 :
デフォルトの名無しさん :2007/02/06(火) 16:42:44
BCB6の場合、どういう順番になりますか? QuickReport Rave Report LightReport2 TAlRep TNormalReport
Raveはありえん。。
>>90 QR(強いて言えばRaveも)以外使用者がほとんどいないと思うので、その質問に答えられる人はいないだろ。
自分で死ぬほど使いまくるしかない。
93 :
90 :2007/02/08(木) 16:36:52
>Raveはありえん >QR(強いて言えばRaveも)以外使用者がほとんどいない Raveは使われてるの?使われてないの? どっちが正しい?
Raveって配布するときランタイムが必要になるよね??
QuickReportが何するツールなのかもさっぱり分からない。 帳簿って何?経理で使うようなツール作るような人以外には関係無いのか? それともQuickReportって名前だから卒論が速く書けるのか?
>>95 帳簿じゃなくて帳票だろ
帳票とはレイアウトに従って印刷したもの
ヒント:学生
レポートスミスは使えないのか
100 :
デフォルトの名無しさん :2007/03/04(日) 21:47:16
あった
OK
BCB5, 6でのみ確認。 バージョン情報ダイアログを開いて、 Altを押しながら「GUNGLA」。
ガンプラがどうしたって?
104 :
デフォルトの名無しさん :2007/03/17(土) 03:55:51
BCB6 ですが、 「共有RTL DLLを使う」をOFF 「実行時パッケージを使って構築」をOFF 「デバッグ」にしてコンパイルすると、 (つまり、スタティックリンクのデバッグでコンパイル) 標準ライブラリの qsort() が無限ループしてしまいます。 データによってはしないのですが、あるデータにするとなります。 また、【デバッグ」ではなくて「リリース」にしたり、DLLを使うように すると無限ループしません。 これについて、何か情報を持ってる人いらっしゃいませんか・
>>102 なんだこれwwwwww
音もなるしwwwww
>>104 その手のバグの原因の99%は
#ifdef _DEBUG
ブロックが原因
上記が存在していればデバッグとリリースでは同じコードではない。
>>95 ツールが何かの説明はBorlandはしないよ。
カタログ送ってくるけど機能一覧で名前を一覧表示するだけで
何が出来てどういうことになるのかの説明は無いから。
どういうことが出来るのかをわかってるのはBorlandだけで
ユーザーは判らない。
> 104 qsort からコールバックする比較関数で、 要素のアドレス値を使って比較すると、 データにより無限ループになることがあるので注意。
#pragma curious_george
111 :
デフォルトの名無しさん :2007/04/04(水) 22:02:32
詩織
TListBoxでWordWrapを簡単に実現する方法をご存じの方いらっしゃいませんか?
ご存知の方…誰かいらっしゃいませんか?
知ってる奴いねーかって聞いてんだ! さっさと答えやがれゴミ共がっ!!
つ OwnerDraw
TListBoxでWordWrapなんてありえねー
いいからさっさと教えろ!役立たず共が!!
TListBoxのリストの1個1個は状態取れるから、 その上にTMemoを動的生成して貼れば?
めんどくせーよ!
と思ったが、 TMemoにWordWrapしたラインを作らせて、 TListBoxのCavasにオーナードローで描画すれば、おk。 それをさらにTWordWrapListBoxと派生したクラス内に処理作れば完璧だお。
ま、メンドくさくても、そーじゃなくても、オーナードローするのは避けれないね。
RichEdit使う事にした
123 :
デフォルトの名無しさん :2007/05/17(木) 17:09:40
で、今回はBDS2007が出る予定はないの?
Turbo C++はどうなるんだ。
かなり前からそうだけどさー… なんというか、ほんとgdgdだなぁ…
>>124 Delphi→BCB→BSD
の順でリリースしていくって話だったような。
Delphi→BCB→CRS(CSB,Delphi.NET含む)→Turbo じゃないの。
大規模プロジェクトなんかどーでもいいからさー、コンポーネントの改良と充実をやってほしいよ
それでUNICODE問題は2007では解決しているのかね それならうつっちゃうぞー
UNICODE問題って何?
「なに!UNICODE問題だと…!?」 「!!知っているのか!雷電!?」
もまいら日本語とアルファベットをせいぜい使ってるだけのくせにUNICODEとかかっこつけてんじゃねーよ
ドキッ!
136 :
デフォルトの名無しさん :2007/05/29(火) 02:01:54
C++Builder2007 pro 71,400円 BDS2006からのVUP 31,500円 <<-- 高いぞ
前回が大出血サービスだったと思われ。
確か1から6までは2万くらいだったよな?
139 :
デフォルトの名無しさん :2007/05/29(火) 20:26:58
前回のバージョンアップ料金 Borland C++ Builder Professional --> Borland Developer Studio 2006 37,800円 Borland C++ Builder6 Professional --> Borland Developer Studio 2006 29,400円 値上がりしている BDS2006にはDelphi/Delphi.NET/Builder/C#が含まれているのに レベルダウンのBuilderだけなのに、値上げはひどいよ。
こんなやり方してたらただでさえ少ないユーザーがますます減るよ
もうしばらくするとBDS(CDS?)が出るので、単体でご不満の方はそれまで待ってみたら?
どうせBDSの価格は7万とか言うんでそ?
BDSは7万で済むはずがない、9万ほどするだろ。
アップグレードが7万っていってるんでしょ。
アップグレード7万・・・・・聞いた事ねえよ なんてボッタクリ商売
貧乏人の巣
147 :
デフォルトの名無しさん :2007/06/19(火) 04:43:54
自己解決しました
148 :
デフォルトの名無しさん :2007/06/28(木) 16:24:43
>>132-133 ユニコード問題、以下の作者の受け売りだけど信じてる
http://mana.ikuto.com/tnotepad.php [要約]
ユーザーがファイル名やフォルダ名にユニコードを使用しないように注意しないと、
それが原因で無関係のファイルまで破壊しかねません。
Delphiでテキストエディタなどを作る際は、ファイルIO関数のユニコード化は必ず行ってください。
そしてさらに深刻なのは、ユニコード非対応アプリがレジストリにアクセスする場合です。
ファイルの場合と同様に、絶対にDelphiが用意したクラスを使ってはいけません。
俺様のページに勝手に直リンすんじゃねぇ
151 :
デフォルトの名無しさん :2007/06/30(土) 18:46:45
皿仕上げ
152 :
デフォルトの名無しさん :2007/07/01(日) 15:04:22
>Delphiは開発環境にバグが多かったり、最新のOSやCPU向けの最適化がなされていないなど、 >欠点も多いのですが、作ったアプリケーションの動作速度と開発の容易さとの妥協点として、 >”しかたなく”利用しています。後述の問題点もあるので、これからプログラミングを始めるという >初心者にはDelphiでの開発は絶対オススメできません。 つまりMS謹製開発環境のみを使いなさいということだな。 発想がいかにも日本人らしくてよいね。
最近のIDE(具体的にはTurbo C++ Explorer)ってSDIスタイルにはできないの? 今どきの、MDIともちょっと違う気持ち悪いサブウィンドウ構成がデフォルトだけど、 フォームエディタやコードエディタを独立したウィンドウにできないのかしらん。 (記憶あいまいだけどDelphi6/BCB6ではオプションから変更できたような)
155 :
154 :2007/07/02(月) 16:04:30
デスクトップ ツールバーの Classic Undocked でした > 自己解決 お騒がせしました。
>>149 むちゃくちゃ感じの悪いヤツだな、その作者。
157 :
デフォルトの名無しさん :2007/11/17(土) 10:42:33
がっつ
>>149 Delphiが用意したクラスって、iostreamとかもダメ?
ShiftJIS範囲内の文字しか使われない or ファイルシステムがFAT系ならUnicode対応してなくても問題ない。 問題が出る可能性があるのはパス名にShiftJIS外の文字(アラビア語や韓国語など)が含まれてファイルシステムがNTFSの場合だけだとおもう。
あ、FAT32はダメかもわからん まあ文字化け起こして、意図せずに既存ファイル名とかぶる場合があり得る程度(特に半角カナ)
161 :
デフォルトの名無しさん :2007/11/20(火) 18:35:54
wxFormsで開発したときのTipsキボンヌ。 特に、Macでのコンパイルはどうやんのか、とか。
162 :
デフォルトの名無しさん :2007/11/20(火) 23:22:42
163 :
161 :2007/11/21(水) 08:38:10
thx!
>>162 有難うございます。
そのPDFだけ持ってます。というか、そのPDFで存在自体知りました。
164 :
161 :2007/11/21(水) 13:08:38
度々すみません。 実際にセミナー見られた肩、レポートお願いしますorz
まぁ、そもそもインタネットに接続されてるのが当たり前な今日に ShiftJIS範囲内の文字しか使われない とかどうやってユーザーを制限する気なんだろうね。もう、あほかと。
ヒント: UTF-8
168 :
デフォルトの名無しさん :2007/12/31(月) 09:13:11
会社でTurboC++(Professional)を使わされてるんですが、 この先使い続けてても大丈夫ですかね? 反Microsoft派の意見が、まかりとおってて、口出しできません。 ほんとはVisualC++使いたいのに。 参考書の数も圧倒的に違うのに。
基本はC++なんだからどっちも変わらない。 boostの通りが悪いくらい。 しかもTurboC++の方がGUIは.NET無しでVBみたいに作れるから楽。
>168 そんな会社辞めちゃえよ。でVCやってる会社に行けば、現状がいかに恵まれてるかがわかる。
釣れたw
バラクーダまだぁ?
無駄
174 :
デフォルトの名無しさん :2008/02/15(金) 10:06:04
C++Builderでクロス開発しててある程度見通しついたのですが、最後に躓きました。 Stringはコンポとアクセスする前までstd::string使えば良いし、 Exceptionは直接使わずに派生したエラークラスを使ってgcc側ではlogic_exception/runtime_exception派生したものを使えば良いことは分かりました。 が、最後の難題はTStringListです。 結構コアな文字列解釈にTStringListをSTLベースに書き換え前途多難、某にはめられますた。 おまいら、クロス用のTStringListどこにあるか教えて下さい。 もしくは純粋C++やSTLでTStringList作って下さい。
>>174 要素単位でコピーじゃ駄目なん?
#include <iostream>
#include <vector>
#include <vcl.h>
#pragma link "rtl.lib"
#pragma link "vcl.lib"
int main(){
TStringList* dest = new TStringList();
std::vector<std::string> src;
src.push_back("1行目");
src.push_back("2行目");
src.push_back("3行目");
src.push_back("4行目");
for(int i = 0; i < src.size(); i++) {
dest->Add(AnsiString(src[i].c_str()));
}
for(int i = 0; i < dest->Count; i++) {
std::cout << dest->Strings[i] << std::endl;
}
delete dest;
return 0;
}
176 :
174 :2008/02/15(金) 10:35:47
Valuesプロパティ、Namesプロパティ、IndexOf、CommaTextの入出力等が要ります。
TStringList おれも昔作ったよ。 STLべースでさ。 Values/Names/IndexOf/CommaText こんなのなんて簡単に自力で作成できるじゃん。
178 :
174 :2008/02/15(金) 14:08:57
>>177 レスにコピペorz
もしくは、うpうp!
179 :
174 :2008/02/15(金) 14:13:35
>CommaText だけでも欲しぃお( ^ω^)
180 :
174 :2008/02/15(金) 14:36:33
何ていうか、TStringListって偶然だろうけど使い勝手の良いインターフェースですね。
181 :
174 :2008/02/15(金) 14:46:46
さっさと教えて下さいよ役立たず共
182 :
174 :2008/02/15(金) 14:48:37
↑ 上はニセ174です。
183 :
174 :2008/02/15(金) 15:07:50
ニセ174登場予定 ↓
181=183
180=182=184
186 :
デフォルトの名無しさん :2008/02/15(金) 20:20:25
String::SubStringは1ベースで、 std::string.substrは0ベースで、 あってますか?
どうでしょうね
答え待つよりさーー 自分で試したほうが絶対速いじゃんかーー
間違ってますって言われたらどうするんだろう
TStringListくらい多少手間は食うだろうが自力でできるよ
ってかdelphiのソースがあるんだから、それを参考にすれば簡単に作成できるじゃん。
つーか、余程の無能でも二日もあれば自分で書いてるだろう・・・
194 :
デフォルトの名無しさん :2008/02/17(日) 21:50:49
初めての質問です。 環境:WindowsXP/C++Builder5 Imageコントロールに延々とグラフを描画するプログラムを運用中のですが、 突然、描画が出来なくなってしまう現象が発生しています。 一度この現象が出ると、プログラムを再起動しないと復旧しません。 止まるもの、規則性が無く、極端には一回目からグラフの描画が途中で 止まったりします。 これは、バグなのでしょうか? また、何とか対応したくて、Imageコントロールを動的に取得して描画しようと したのですが、デバッグでブレーク張っていると、問題なく動くのですが ブレークをはずすと例外エラーが出てしまうのです。(NTDLL.DLLで) 何とかImageコントロールへの描画不具合を直せないでしょうか? 宜しくご指導をお願い致します。
しらんけど、タイミングに気をつけりゃいいんじゃないの?
ImageのPictureにBitmapを作成して描画してるわけ? もしかしてスレッド作って描画していない? 片方のスレッドで描画して、メインスレッドで画面に表示なんてやってると良く落ちるよ。 スレッドではTBitmapに描画しておいて、Synchronizeか、メインに対してメッセージを投げて 画面表示の部分だけは同期させるとかさ
VCLがスレッドセーフなら使いやすいのにな
無茶言うなよ 大昔に出来た基礎に増築しまくっていじるにいじれなくなってるのがVCLなんだから 酷いプロジェクトの見本だな
逆に言うと、クラスライブラリでスレッドセーフな物ってあったっけ? なわけねーだろ、オブジェクトにアクセスするときにはミューテックスとかセマフォとか取得するだろーが。
>>198 妄想としてOOPでもスレッド同士でメソッド呼び合えるようなものを考えてるんだろうけど、まあ夢は夢。
VCLのように委譲(イベント)を使いまくる場合、
基本的にダブルポインタが必要なわけ。 メソッドポインタって奴ね。
つまりオブジェクトと、関数アドレスの2つが必要になるわけね。
ポインタ1個だけなら同期とかは必要ないけど、2つになると、これはどうしようもない。
スレッドセーフにする為に、イベントに代入するような場面全部に同期対策入れろって思う?
思わないでしょ?
メソッドポインタ一つでさえコレなんだから、スレッド同士でメソッド呼び出しってのは基本的に無理
関数型言語なら、ある程度は可能かもしれないけどね
201 :
デフォルトの名無しさん :2008/03/06(木) 00:23:00
TStringList *hogehoge = new TStringList(); ... delete hogehoge; ってコードをよくみるが、 TStringList hogehoge; でdeleteなしってダメなんか?
VCLなオブジェクトってスタックにおけるんだっけ?
c++ builder 2007のkeygenerator持ってる人いる?
204 :
デフォルトの名無しさん :2008/03/06(木) 01:52:16
205 :
デフォルトの名無しさん :2008/03/06(木) 09:52:23
>TStringList >String これって便利なんだけど、クロス環境で開発してると害悪になる。 下はstringの代用があるけど、上は自作する必要があるorz
文字列リストくらい自作すればいいじゃん 別にTStringListそのものである必要なんて殆どないんだろうし 1時間もあれば書けるだろ
ヒント: TStringListをバリバリ利用したクラスの移植
209 :
デフォルトの名無しさん :2008/03/06(木) 10:52:08
TStringListを自前で書いたけど 1時間では絶対に無理 俺は結局1日半くらいかかった。
STLとboot使えばよゆー
211 :
デフォルトの名無しさん :2008/03/06(木) 13:01:34
TStringListって何か特殊な機能あったっけ?
特殊な機能は無いけど、 Values、Names とか CommaText入出力 とか、 LoadFromStream/File とかあるから、 代替品を作るときにイパーイ機能を実装しないといけないし、 posとfindとイマイチ似てないところや、 無意識にthrow Exceptionすれば良かったのをクロスでどうするとか、 考えるの大変、差し替え後テスト大変。
.CommaText とか便利機能もあるしな まあ IStrings のCOMインターフェース連携機能は諦めるとして
だから、そんなのSTLとboostで代替できるじゃん? それら使い方知らないってのは勘弁してくれw
で、それらを全て持ってるSTLとboostの代替ってどれ? バラバラに持ってても意味無いんだよ。
216 :
デフォルトの名無しさん :2008/03/06(木) 13:15:46
そか、VCLしか知らない人が困るというだけだね
>>215 なんでバラバラに持っていては意味ないのかわからない
余程の無能じゃなければラッパー部のテストなんてすぐ可能だし、時間がかかる理由がない
逆に教えてくれw
そりゃCommaTextくらい実装出来るけど STL や boostでどうやるわけ? boostのSpiritでやるのか? なんか牛刀持ち出してるように思うが1時間で書けるの? IStringsはATLだが これも STLの一種だと言い張るわけか
ってかまともにテストするなら、テストコード書いてテストするだけで1時間上かかるだろ。
>>218 CommaTextなんてtokenizer使えばすぐ
つーか、クロス開発するときにTStringListの置き換えに困るという話なんだから
>>206 が言っているようにStringの代替にstd::stringを使えるレベルでいいなら余裕でしょ
IStringsAdapterが、とか持ち出すのは滑稽w
全体的なテストはまた別の話だし、TStringList関係なく必要だから
>なんでバラバラに持っていては意味ないのかわからない クラスのメンバ変数となってたりするわけだから。
それだってescaped_list_separatorからエスケープ殺すか、TokenizerFuncから自作するか
posが1ベースでfindが0ベースだったり。 TStringListの仕様はガチガチに決まってるところを、 類似クラス作成するときどこまで同じにするかで悩んだり。
224 :
デフォルトの名無しさん :2008/03/06(木) 13:54:52
そもそも、どんなプラットフォームで開発するにしてもTStringListみたいなデータ構造は必要なんだから クロス開発するような人なら手持ちにあるはずなんだけどな・・・
>手持ちにあるはずなんだけどな・・・ 誰でも一番初めは作らないといけないだろ。 反論になってない。
226 :
デフォルトの名無しさん :2008/03/06(木) 13:58:13
結局、自分のよく知らない開発環境で作ろうとしてるから大変なだけ 初心者がBCB難しいって言ってるのと同じ
最近はboost::algorithm::splitなんてものもあるね。
VCLべったりってのもよろしくないね。
MSべったりが一番です
我が娘はお父さんべったりです。
うちは父が妹にべったりです
232 :
デフォルトの名無しさん :2008/06/24(火) 10:59:31
bcb -b hogehoge.bpr でビルド自動化
TIBQueryを使ってるアプリでEOutOfMemoryが出る場合、出にくくするテクはありますか? ざっと見メモリリークもなさそうですし、CodeGurardでも警告ないんですが。
双方向カーソルが有効になってない?前にこれではまったことがある。
235 :
233 :2008/07/07(月) 10:01:24
サンクス
>>234 UniDirectionalで使用メモリ量が変わるのですね。
影響ありませんでした。 → 従って、TIBQueryのメモリリークじゃないってことです。
良く考えたら、TImage等を使って巨大なビットマップを作成やコピーしているアプリだと気付きました。
TBitmap系のメモリリークを防ぐテクニックがあれば教えてほしいです。
C++BuilderってFastMM使えるのかな?リークがないのにOutOfMemoryってことはメモリ領域の 断片化が原因かも。
237 :
233 :2008/07/08(火) 08:55:17
>>236 あ、断片化でOutOfMemoryが出ることがあるんですか。
勉強になりました。
BCB6なのでFasmMMは標準で入っていません。
数年以内には最新版に逝行するつもりです。
238 :
233 :2008/07/08(火) 09:49:00
他にも、std::vector使いまくってるから、確かに断片化してるかも。 一応調査はこれで終わろうと思います。 が、この際周辺情報も入手しておきたかったり: ・断片化状態調査ツールなんかないですよね? ・断片化メモリを解放するメソッドはやっぱり無いですよね。 ・FastMMにすると断片化を防げるわけですか。
断片化と言えば一部のMS-IMEが中途半端なアドレスに陣取ってて、1GB以上の物理メモリ積んだ環境でペイントソフトが起動しないってことがあったなあ‥‥
ページングでメモリ管理やってるんだからメモリ容量(仮想メモリを含む) ぎりきりのメモリ確保をすれば連続したメモリ領域に確保され直される と思うが
>238 FastMMでメモリアロケートの情報を取得できたような気もする。あとメモリ確保のストラテジが標準のものと 異なり、いまどきのメモリがそこそこある状況に最適化されていたはずなので断片化がおきにくいとは思う。 いずれにせよC++Builder 6でも使えるはずなのでまずは試してみてはいかがか?
242 :
233 :2008/07/10(木) 10:32:26
>>239 メモメモ、すごい勉強になったけど、、、
そんなんあり?_? orz
>>240 そう思うんですけど、現象からはそれを破壊している何かが起きているような。。。
>>241 言われる通りです。
先延ばししても同じ問題が発生したら結局原因追究&対処しなきゃならないんですよね。
日本語のMS-IMEを中国人に開発させるなよ・・・
毛唐は、日本語と支那語は似たようなものという認識しかねえだろ。
その前は韓国で作ってたし、レッドモンドの連中の認識はその程度かも。 「うちのほうが頭がいい連中が多いしIMEはまとめて作りますよ」とかいう言葉に乗せられちゃたんだろな。
コンピュータかコンピューターかなんて話よりそっちをどうにかしろってことだよな
248 :
デフォルトの名無しさん :2008/08/09(土) 23:26:48
さっき知って感動したこと。 試しに、プロジェクトにDelphiのソースを突っ込んでみたら .hppファイルが自動生成されて、ビルドがちゃんと通った。 Delphiの変数宣言って、C++のポインタ宣言と同じで実体は生成されないんだね。 C++ならnewするのを、DelphiはCreateするって違いなんだね。 だから、VCLにはCreateメンバ関数が無いんだね。
>>248 単純なDelphiプロジェクトなら、プロジェクトマネージャに構成ユニット放り込めばビルド通るぞ。
だれかDMonkeyをBCBで使ってるやついない?
Monkey D るふぃー?
252 :
デフォルトの名無しさん :2008/09/09(火) 15:50:55
いま、BCB6で填まっているんですがどなたかお知恵を・・・ BCB6でサービスプログラムを作ったのですが、 有る処理で Application->ProcessMessages(); と同様の処理をしないといけなくなったのですが、 Application->ProcessMessages(); を記述すると TServiceApplication のメンバーで無いと怒られてしまいます。 なにか他に ProcessMessages と同様の操作する方法ないでしょうか?。
ヒント: win32api アイドルループ
254 :
253 :2008/09/09(火) 15:58:14
てか、検索書けると、 >C:\Program Files\Borland\CBuilder6\Source\vcl\forms.pas 6704: procedure TApplication.ProcessMessages; まんまソース見えるじゃん。
255 :
デフォルトの名無しさん :2008/09/09(火) 16:12:04
ソースみれてもエラー出るつってんだよクズしねよ
256 :
252 :2008/09/09(火) 16:14:52
誰でもいいからはよ答えんかいヴォケが 使えん奴ばっかりやのホンマに
257 :
デフォルトの名無しさん :2008/09/09(火) 16:27:58
>>255-256 は僕じゃありません><
でも僕も同じ事を言いたいです><
早く教えてくださいこの役立たず共よ><
この糞共が さっさと答えろっつーてんだろが
259 :
デフォルトの名無しさん :2008/09/09(火) 16:35:08
ほんとお前らって役にたたねーよな
260 :
デフォルトの名無しさん :2008/09/09(火) 17:23:41
>>253-259 ケンカをやめて、二人を止めて〜わたしの為に争わないで〜もう、これ以上〜
って、すみません。
>>253 ,254 様の書き込みでソースパクって来たのですが、
Assigned() が判らない・・・検索に掛からない…
う〜ん泣き
261 :
253 :2008/09/09(火) 18:35:55
>Assigned() これは、関数ポインタが設定(=アサイン)されているか? ということを確認する関数。 どういうことかっていうと、OnClickみたいなイベントハンドラって関数ポインタ型になってるじゃん? で、IDEでイベントハンドラ設定すると、 OnClick := ButtonClick; みたいなコードで関数ポインタが設定されるわけ。 でコンポーネント側は、 >if (Assigned(OnClick)) > OnClick(self, , ,) みたいにイベントハンドラが設定されてたら関数ポインタを実行(=関数を実行)するわけ。
262 :
253 :2008/09/09(火) 18:37:49
ま、Assignedコールもできるでしょうし、意味的には、 >if (OnClick != NULL) { > OnClick(self, , , ); >} と等価です。 また、OnClickみたいな関数ポインタを使わず、 関数コール直接書いてもおk。
263 :
253 :2008/09/09(火) 18:42:52
264 :
デフォルトの名無しさん :2008/09/09(火) 21:39:44
>>261-263 すっげー。思わずコピペ保存しちまった。
>>252 の者です。
ありがとう御座います、なんとか回避できました。
ていうか、元バグが原因で発生していたので、
ProcessMessages の様な事しなくて済みました。
今、社内では、誰だよこのアプリ作ったのは!!って騒ぎになってます。
だれなん?
作った本人何て言ってる?
ドキュメントどころかソースに名前がないのは酷いな
1ヵ月も前の話題にレス。 デバッグしてて VCL の中に入っていくといきなり Pascal になるからびびるよな。 しょーがないので、読める程度に文法知っておこうと文法書買って、せっかくだから ちょっと書いてみるかで付属の Delphi(BCB 5 Pro には Delphi 4 が付属してた)使ってみたら そのまま Delphi にハマってしまった。
269 :
デフォルトの名無しさん :2008/10/21(火) 02:28:29
C++Builderなら プロジェクトにC++とDelphiを混在させることができるから便利。 Delphiで書きたいとこは、Delphiのファイルにする。 自動的にPascalファイルから、hppファイルを作成してくれる。 Delphiのサンプルソースはあるけど、C++での書き方がわからないという場合 無理してC++に書き換える必要はなく そのままDelphiのソースが使えるのが、C++Builder
あらら、C++Builder使ってて、標準ライブラリのPascalコードに迷い込んだ私が通りますよ。 ところで、その標準ライブラリのソースを弄りたくなったんですが、 どうやってライブラリに反映させたらよいのでしょう? ご存知の方、いらっしゃいませんか? 具体的には、...\source\Win32\vcl\Forms.pas ですけどね。
パッケージ作り直すか、自分のプロジェクトに直接放り込む。
>>271 やっぱそうなりますか……
ありがとう。やってみます。
こやつめw
275 :
デフォルトの名無しさん :2009/04/23(木) 08:38:39
ほしゅ
277 :
デフォルトの名無しさん :2009/06/26(金) 00:37:00
ほ
278 :
デフォルトの名無しさん :2009/07/15(水) 12:15:05
C++ Builer6/FastMM ですが、 メモリ破壊を調べる方法ってありますか? 手順と化知りたいです。
279 :
デフォルトの名無しさん :2009/07/15(水) 14:50:34
CodeGuardをオンにする
heapwalkとか
282 :
デフォルトの名無しさん :2009/10/09(金) 14:17:25
相談室スレが落ちたのでここで質問させてください TChartShapeでchasVertLineにしてマークを表示させてるのですが マークが上と下(Y1とY0)に2つ表示されてしまいます これを上1つ(Y1)だけ表示されるのにはどうしたらいいですか?
スレ立てろって。>282専用のような気もするが。 他のプロパティはどうなってんのよ。というか再現する最低限のプロジェクトを作って その上でわからんことを聞いて欲しいんだが。プロパティとかも[ALT]+{F12]でコード表示にして object Series2: TChartShape Marks.Callout.Brush.Color = clBlack Marks.Style = smsPercent Marks.Symbol.Gradient.Visible = True Marks.Symbol.Visible = True .. こんな風に晒してくれると試しやすいんで。.
284 :
284 :2009/10/12(月) 00:39:59
Turbo C++ 2006 Explorerで、インラインアセンブラを用いて下記のようなコードを書きました。 設定をDebug Buildでビルド・実行すると期待通りに動くのですが、Release Buildにすると 「$7C812AFB に最初の偶発例外があります。例外クラス EAccessViolation (メッセージ 'アクセス違反')」 となってしまいます。Release Build設定でも動くようにするには、どうしたらいいか教えて下さい。 よろしくお願いします。 #include <stdio.h> int main(void) { int i; float src[4], dst[4]; float *psrc = src, *pdst = dst; for (i = 0; i < 4; ++i) { src[i] = i*3.14; } asm { mov esi, psrc; mov edi, pdst; movups xmm0, [esi]; movups xmm1, xmm0; movups [edi], xmm1; } printf("dst: %g, %g, %g, %g\n", dst[0], dst[1], dst[2], dst[3]); getchar(); return 0; }
>>284 デバッグとリリースで結果が変わるんなら、最適化辺りじゃないの?
アセンブラコードが入ってるルーチン(その例だとmain())の前後、
#pragma option push -Od // 最適化無効
と
#pragma option pop
で括ってみ
(TC2006での最適化無効のpragma指定がこれであっているかは知らないから、
後は調べてくれ)
ヘッダファイルに関数の実装まで記述して、 他のcppファイルからincludeして関数呼び出すとインライン扱いになるよね? んでこの場合、該当ヘッダファイルの関数を修正して実行しても反映されない。 呼出側のファイルをビルドしても反映されない…。 プロジェクトのクリーンアップをしてからだと問題なく反映されるんだけど ファイル数が数百単位なんで休憩しまくりで困ってるんだ…。 コンパイルオプションに何かあるかと思ったが俺様の高性能な節穴では見付けられなかった…
プリコンパイルヘッダ?
288 :
284 :2009/10/12(月) 16:16:31
>>285 教えて頂いた通りにしたら、動きました。ありがとうございます。
289 :
286 :2009/10/12(月) 17:59:30
>>287 アドバイスありがとう、俺もその辺が気になってイジッてみたが変化なかった。
で、スマナイ誤報があった。
「呼び出し側のファイルをビルドしても反映されない」というのはウソ。
書き換えたヘッダファイルを利用してるファイルさえ個別ビルドすれば問題なく反映された。
ただ呼出元が多すぎて手作業で個別ビルドするよりクリーンアップした方が早かった…orz
「更新されたファイルを #include してるファイルだけリビルドする」
って動きを期待してるんだが、設定次第でできるのかな?
すいません、くだすれや相談室が無いのでここで相談させてください。 BCB6で、フォーム上にてShiftやAltを押しながらのみで反応するイベントを作成することはできますでしょうか? よろしくお願いします。
>>290 KeyDownやKeyUp、Mouse系イベントなら Shift・Alt・Ctrlが押されているか確認できる。
ShiftやAlt(やCtrl)が押されているときだけ発生するイベントはないと思う。
>>291 組み合わせですね、ありがとうございます
すみません、質問させて下さい。 構造体を16バイトでアライメントしたいのですが、下のように #pragma pack を使っても 実行結果が8 12 0(アドレス{ :00402188, :0040219C, :004021B0 })となって、上手くいきません。 どうすれば構造体を16バイトでアライメントできますでしょうか?よろしくお願いします。 // Turbo C++ を使っています。 #include <stdio.h> #pragma pack(push, 16) struct MyStruct{ float a[5]; float b[5]; float c[5]; } MySt; #pragma pack(pop) int main(int argc, char* argv[]) { printf("%lu\t%lu\t%lu\n",(unsigned long)MySt.a % 16 ,(unsigned long)MySt.b % 16 ,(unsigned long)MySt.c % 16); getchar(); return 0; }
それは構造体のアラインじゃなくて、構造体の メ ン バ のアラインだよね。
>>294 すみません、書き方が悪いですが、&MyStではなく、
メンバ変数のa, b, cを16バイトでアラインしたいということです。
よろしくお願いします。
a,b,cの間にダミーのdoubleでも入れてパディングさせるしかないんじゃね?
>>296 ありがとうございます。
ダミーいれて調節してみます。
298 :
デフォルトの名無しさん :2009/10/23(金) 15:28:08
TChartのTPointSeriesで各々のポイントのマーカーの値を任意の文字で表示したいのですが どうやってやればいいのですか?
くだスレが復活したようなのでそちらでどうぞ。
ListView の Checkbox を無効化(チェックできない状態にする)方法はありませんか?
>300 >299
302 :
デフォルトの名無しさん :2009/12/02(水) 23:54:58
BCCって、無償で公開されている中での一番新しい版はBCC5.5.1でしょうか? なんかC++の仕様に準拠が悪くて困っています。 VC++やgccではなく、bccないしEmbarcadero C++ Compilerで より新しい版は手に入りませんか?
無料で使わせてもらっているくせに図々し杉る
>>303 まあそうっちゃそうなんですけど、
今の時代、Windows環境のコマンドライン上で動作する
C++コンパイラくらいは無償で配ってくれてもいいじゃんって
思ったわけですよ。
コンパイラ開発するのって大変なんだよ?
306 :
304 :2009/12/08(火) 20:56:31
>>305 まあ、C++のコンパイラは少なくとも俺一人の脳みそでは作れないことは確か。
でも・・・ねぇ。
トライアル版から、bcc32.exeだけを抜き出して置き換えれば 使えるんとちゃうかな。
>>307 なるほど
まさか標準ライブラリまでも?
つまり、コンパイラで大変なのは、ライブラリの作成とかIDE。 構文解析してバイナリ吐くまでなら大学生の授業にもあったりするレベル。
>C++コンパイラくらいは無償で配ってくれてもいいじゃんって >C++コンパイラくらいは無償で配ってくれてもいいじゃんって >C++コンパイラくらいは無償で配ってくれてもいいじゃんって >C++コンパイラくらいは無償で配ってくれてもいいじゃんって >C++コンパイラくらいは無償で配ってくれてもいいじゃんって >C++コンパイラくらいは無償で配ってくれてもいいじゃんって >C++コンパイラくらいは無償で配ってくれてもいいじゃんって
それなら、gcc、があるだろ。 vcl部分はコンパイルできないがwww
「無料に拘る」+「VCL使わない」=gcc c++ compiler
MSが無料で配布しているじゃん。
MSのはインストール1カ月以内にユーザー登録せにゃならんから煩わしい
eclipse c++
企業が何故無償でコンパイラ等を配布しているのか理由を考えなさい
開発ツールが売れないから
Open Watcom が出てないな。
>>302 Turbo C++ でググるといい。
>>314 それはウソだし、cl.exe をインターフェースとして使っている分には催促もされない。
2008からだと、ユーザー登録ではなくて承認がいるぽい >cl.exe をインターフェースとして使っている分には 限定要素で事言われてもねぇ・・・
320 :
デフォルトの名無しさん :2009/12/09(水) 15:45:02
うるせーよゴミ
borlandのコンパイラに不平があるってんなら Windows使ってるならdebugコマンドでオリジナルコンパイラでも作ればええんや
C++BuilderはUI作成が超楽だから使っているんであって コマンドラインでしか使わないのなら、意味ないじゃん。 コマンドラインならVCの無料版でいいだろ。
Open Watcom C++ 1.8
ここBorlandスレなのに・・・
>>323 プッ ( ´,_ゝ<_,` ) プップッ
Open Watcom C++ のスレはないんか!
その話題終わってます。 必死こく話題でもないでしょ
Turbo C++ はもう配布してないでしょ
>>333 それDOS時代のだし、言語仕様が古すぎて(namespaceすらない)使い物には……
仕様が古くて使い物にならないって言い訳はおかしい
おかしくない 宿題も解けない
337 :
デフォルトの名無しさん :2009/12/14(月) 13:02:40
無料版配布はしなくていいから もっと価格を下げたのを出してくれ。 VSにはスタンダード版があるだろ。価格は16000円くらいだったよな。
Visual Studio Express Edition
>>335 おかしくねぇだろ。
事実使えたもんじゃないんだし。
Watcom C++
>>340 > OpenWatcomの実装の中で
> <sstream>
> って空ファイルじゃねーか!
> せめて代用できるクラスくらいないんか!
って言ってるやつが居るのを見て不安になった俺が居る。
根性決めて自分で<sstream>を設計する それがメンドイならVisual C++ Expressで我慢汁 それより、C++Builder2010 Pro. もちっと安くしてほしいぜ、円馬鹿出ろさん
343 :
デフォルトの名無しさん :2009/12/15(火) 09:56:09
2010って64ビットに対応してるか?
345 :
デフォルトの名無しさん :2009/12/16(水) 12:51:15
お前もレスしないほうがイイネ どうせクズだろ?ww
349 :
デフォルトの名無しさん :2010/01/01(金) 23:24:33
>>335 \
お そ .い ヽ
か の や |
し り ` ,. -──- 、
い .く / /⌒ i'⌒iヽ、
つ / ,.-'ゝ__,.・・_ノ-、ヽ
は i ‐'''ナ''ー-- ● =''''''リ _,....:-‐‐‐-.、
l -‐i''''~ニ-‐,....!....、ー`ナ `r'=、-、、:::::::ヽr_
 ̄ \ヽー' !. t´ r''"´、_,::、::::} ノ` ,.i'・ ,!_`,!::::::::::::ヽ
ヾ、 ゝゝ、,,ニ=====ニ/r'⌒; rー`ー' ,! リ::::::::::::ノ
i`''''y--- (,iテ‐,'i~´,ゝ'´  ̄ ̄ヽ` :::::::::::ノ
.| !、,............, i }'´ _ 、ー_',,...`::::ィ'
●、_!,ヽ-r⌒i-、ノ-''‐、 ゝ`ーt---''ヽ'''''''|`ーt-'つ
( `ーイ ゙i 丿 ;'-,' ,ノー''''{`' !゙ヽノ ,ヽ,
`ー--' --'` ̄ `ー't,´`ヽ;;;、,,,,,,___,) ヽ'-゙'"
(`ー':;;;;;;;;;;;;;;;ノ
``''''''``'''''´
rave reportsでアプリ実行時のprintとかの文字を変更する方法知ってる人教えて。 バージョンは7.5 BE LIBフォルダーの中の「RpFormSetup.dfm」を書き換えても 実行すると変わって無いんだよね。 アプリの全コンパイルはやってみたけど変わらない。
351 :
デフォルトの名無しさん :2010/01/07(木) 11:09:40
BCB6で作ったExeがWin7で動作してるっぽいのですが、 Win7特有にテストして置いた方が良いところってどうありますか?
マルチポスト超ウザイ
>>351 BCB6の問題じゃないけどvista以降[Program Files]とかの下のアクセスが
制限されてるからexeと同じフォルダーに設定ファイルやなんかを置いてると
問題発生することがあるよ。
Execute()メソッドて自動で呼び出される? どういうタイミングでコールされるの?
355 :
デフォルトの名無しさん :2010/01/10(日) 13:17:48
356 :
デフォルトの名無しさん :2010/01/12(火) 11:26:43
>>353 それそれ!
それ知らなくてすげー悩んだ事あったわ
まあ、舞糞ソフトはほんと糞
>>356 Win2000あたりからMSの開発ガイドラインでユーザーディレクトリに保存しろって書かれてただろ。
358 :
デフォルトの名無しさん :2010/01/12(火) 12:36:06
MSのそんなとこみねーし つーかXPまでよくてそれ以降は強制的にダメになるとか舞糞ソフトはゴミだつってるの
みんなガイドライン見ないから、MSはそういう風に強権発動するという悪循環。 まあでも悪いことばかりでもなくて、 XPまででは制限ユーザだと動かなかったアプリが、 Vistaなら、リダイレクトのおかげで逆に標準ユーザで動くという可能性もあるよ。
360 :
デフォルトの名無しさん :2010/01/13(水) 14:35:09
MSの言うことはコロコロと変わるから 皆、MSに追随するのにウンザリしているんだよ。 ガイドラインとやらは、ロゴプログラムを取得したい企業にしか 関係ないというのが現実じゃん。 それに、よほどひどい処理をしていない限り、リダイレクトされてもそのまま動くしな。
この場合の、 >リダイレクト は、 何でしたでしょうか?
C++builder2010を花王と思っているのですが、おすすめの書籍を教えてください。
363 :
362 :2010/01/28(木) 18:39:46
↑の発言は少し日本語が不自由でした、C++builder2010からbuilderデビューをするのですが 、builderを使いこなす助けになるような書籍があれば教えていただきたいです。
なんで今BCB? VCでもDelphiでもなくBCB?
VCL使ってほとんどVB感覚でアプリ開発できるから 標準CやC++のスキルも生かせるし
366 :
362 :2010/01/28(木) 20:24:54
はい、まさにそれを考えていました。 C++の言語仕様はある程度わかってきたので、それを実際のアプリケーション開発で活用してみたいと思っているのですが。 MFCとWinAPIでは、その際windows自体の仕様についても覚えることがあるそうなので、より抽象化されていて使い易いらしいVCLを使おうかと。
MFCはC++史上サイアクw
368 :
デフォルトの名無しさん :2010/01/29(金) 10:30:03
C++BuilderにMFCが添付されているのだから VC++には、VCLを付けてくれ。
MFCはOWLと同じような古典的クラス・ライブラリ。 VCLはパリパリのコンポーネント・ライブラリ。 土俵が違うす
ところがMFCはOWLの時代にも酷評されていた。 実際、抽象化とかとはほぼ無縁で 単にWin32APIを使いやすくするためのものだったから。
Microsoft Funcky Class Library
おねがいしますおねがいします!どうか
>>362 の質問に誰か答えてください、おねがいします!!
>372 お勧めっていわれても、あなたが何をどの程度理解しているか誰にもわからないしねぇ。 とりあえずDelphi 2009ハンドブックと、あとはC++の本は何がいいかな…。
>>369 それはOWLに対して失礼だ
どうみても
OWL>>>>>MFC
>>373 発狂してしまい、申し訳ないです。
C++はとりあえず、何がわからないのかが分かる程度。C++Builderについては全く知らないです。
「Delphi 2009 ハンドブック」、デルファイではこんな最新バージョン対応の本が出てたんですね。
この本を薦めていただいたということは、コンポーネントの使い方自体はDelphiでもbuilderでも大体同じということですよね。
というよりそもそも、C++Builderをまだ買ってないので、使っても水に書籍の質問をすること自体がおかしかったですね、スレ汚し失礼しました。
OWLNext>>>OWL>>>>>(超えられない絶壁)>>>>>MFC
VCLのリファレンスマニュアルってないのかな。 各バージョンでの違いや 引数の意味を詳細に記述してあって 具体的にこの引数にするとどう表示されるか等を 解説してある書籍。
ずばり皆無
FAT32とかのファイルシステムの実験してるんだけど、対象ドライブをメモリみた いにセクタ0からのぞく方法をどなたかご存じないですか?ドライブごとバイナリ データとして保存して解析する方法は見つけたんだけど、メモリみたいにできれば バッファしてみたいんだよね・・・・
dd
BIOSを呼べ
ddをキャッシュするwrapperでも書けば良いんじゃね
CreateFile(TEXT("\\\\.\\C:")ではだめ?
>>381-383 >>385 ddが何だかわからなかったけど、385さんのおかげで理解できました。ありがとう。
>>384 試してみますね。ありがとう。
昨日ちょうど規制されて書込みができませんでした。すぐお礼が言いたかったので
すが遅れてしまい申し訳ない。みなさん本当にありがとう。参考にします。
387 :
デフォルトの名無しさん :2010/06/29(火) 17:37:04
改変版のヘッダファイルなんて置いといたらまずいだろ。それよりもODBCにAPIで 接続する必要はあるのか?普通にBDEからODBC接続とかじゃ駄目?
389 :
デフォルトの名無しさん :2010/06/30(水) 11:57:21
implib で作ったlibファイルの中の人の関数名はどうやったら見れまつか。
全くわからないけど、これかもしれない tlib name.lib,name.lst impdef name.def name.dll
391 :
デフォルトの名無しさん :2010/07/02(金) 16:46:13
そうでつか。
392 :
デフォルトの名無しさん :2010/09/17(金) 23:19:08
かっこよさそう
BCCってフリーで6.x.x系列を出してくれないの? いつまでもbcc 5.5.1とか使ってられないでしょう。
出さないと思うが。
やっぱでねーよな。
BCBでopenglのTIPが少なすぎる
397 :
デフォルトの名無しさん :2011/04/06(水) 18:23:24.66
sage
いまさら5.5.1はないわ 5.8使ってるよ
5.8なんてあるのか? この間エンバカからダウンロードしたけど、5.51だったぞ
turbo c++ expのが5.8.3だわ
最新はこれかな Embarcadero C++ 6.31 for Win32 Copyright (c) 1993-2010 Embarcadero Technologies,Inc. 一応無料でダウンロード出来る 30日過ぎても動くかは知らないが、動きそうな気はする。
知ったかの嘘ばっかだな…
>>400 公式Q&Aより
Q.Turbo Explorerにはコマンドラインコンパイラは含まれますか?
A.いいえ。これらは、Turbo Professional登録ユーザーのみダウンロード可能なツールです。.
騙されてHDD漁った挙句、インストしたら無かった
>>396 遅レスだけど。OpenGLで何したいの?
Tipsも何も。普通にCもC++も、例題もサンプルも有るでしょ?
後はどれだけ理解して、どう使うかだけだと思うけど。
それとも、なんか「特別」にBCBだから不自由な事ってあったかな。
実験結果と理論の可視化程度にしか使ってなかったから、深い所でなんかあるのかな。
405 :
404 :2011/06/03(金) 00:34:38.94
スマ。漏れの使い方は「フツー」じゃ無いらしい。 C++BuilderでGLUT使って、皆悩んでんだな。 見たら、GLUTのが便利なんだけどな〜。 ち ょ っ と 吊 っ て く る わ ・・・
え 自殺予告と思わしき書き込みがこんなところに ゴミグラマ板こわ 通報
407 :
1 :2011/07/28(木) 12:09:59.78
408 :
名無し募集中。。。 :2011/12/15(木) 02:17:19.88
すみません 「Borland C++Builder 5 Update Pack 1」は入手不可でしょうか?
410 :
デフォルトの名無しさん :2011/12/15(木) 13:38:46.94
>>408 PCのc:\tmpの中に入ってるけど。
te
412 :
名無し募集中。。。 :2011/12/21(水) 15:50:25.76
413 :
名無し募集中。。。 :2011/12/21(水) 15:58:11.73
やっぱしばらく
>>409 で試してみます
感謝!感謝!
バージョンアップ代も高くなったな お手頃な Borland 時代が懐かしい
もうスタグフレーション状態に入ってるんだよ 会社が苦しい→バージョンアップ料を高くする→バージョンアップする人が減る→さらに苦しくなる これの繰り返しでダメになって行く
バージョンアップしたら古いソース使えなくなるのが終わってる
ん?ソースは使えるよ? 移行で書き換わるのはプロジェクト関係のファイルだし 現に自分もバージョン6と2009で共用ソースにしてリコンパイルしてる ただしUNICODEに関しては修正が必要な部分も出てくるけど それはどの開発環境でも同じこと
418 :
本田 :2011/12/31(土) 09:46:12.14
420 :
デフォルトの名無しさん :2012/05/07(月) 18:38:06.39
TServiceを使用してサービスを作ったのですが、 exeをリネームして複数サービスを登録したい場合どうすればよいのでしょうか? TServiceのNameをファイルなどで動的に変えればインストールは成功したのですが、 肝心のサービスが使用できません。Nameを固定にすると複数のサービスをインストールできないし・・・ 初心者な質問かもしれませんがよろしくお願いします。
複数インストール/仕様せずに一つのサービスプログラムで全部面倒見ましょう。 Windowsのサービスってのはそういうものです。 たとえ一部がコケただけでも全部死ね、些細な効率のためには堅牢性なぞクソ食らえ。 それがWindowsなのですから。
コマンドラインパラメータでサービス名を与えるようにすればいいんじゃない? ってそういうことではないのかな。svchost.exeなんかはそうなってるけど。 あとここよりはくだすれC++BuilderとかくだすれDelphiで聞くほうがいいと思う。