[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 04/09 17:28 / Filesize : 190 KB / Number-of Response : 833
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C++Builder相談室 Part18



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/


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
なんか質問が抽象的杉。
何がダメなんや。
調停入れて描画すればええだけだろ。







[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<190KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef