このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
C++Builder使いが優しくコメントを返しますが、
お礼はC++Builderの布教と初心者の救済をお願いします。
■C++Builder XE2 - エンバカデロ・テクノロジーズ
http://www.embarcadero.com/jp/products/cbuilder
<過去スレ>
くだすれC++Builder(超初心者用)その4
http://toro.2ch.net/test/read.cgi/tech/1256256376/
くだすれC++Builder(超初心者用)その3
http://pc11.2ch.net/test/read.cgi/tech/1171219191/
くだすれC++Builder(超初心者用)その2
http://pc10.2ch.net/test/read.cgi/tech/1144308804/
くだすれC++Builder(超初心者用)
http://pc8.2ch.net/test/read.cgi/tech/1117225464/
<兄弟スレ>
くだすれDelphi(超初心者用)その54
http://toro.2ch.net/test/read.cgi/tech/1325028195/
探検
くだすれC++Builder(超初心者用)その5
■ このスレッドは過去ログ倉庫に格納されています
2012/04/21(土) 13:26:14.76
514デフォルトの名無しさん
2013/11/07(木) 17:28:29.26 >>513
ヘッダに宣言書いているでしょ?
CPPに書くデストラクタの本体には virtual はつけない。
~~~~~~~~~~~~~~~~~~
もしCPPに書いているのがclass宣言で、その宣言に virtual をつけるのはOK
もしそのようにしているのに怒られると言うなら具体的にコードを書いてみて
ヘッダに宣言書いているでしょ?
CPPに書くデストラクタの本体には virtual はつけない。
~~~~~~~~~~~~~~~~~~
もしCPPに書いているのがclass宣言で、その宣言に virtual をつけるのはOK
もしそのようにしているのに怒られると言うなら具体的にコードを書いてみて
515デフォルトの名無しさん
2013/11/07(木) 17:32:54.63 >>514
ありがとう!ヘッダに宣言書いていました
ありがとう!ヘッダに宣言書いていました
516デフォルトの名無しさん
2013/11/07(木) 22:21:46.25 System.DateUtils.hppをインクルードすると、
W8058 ヘッダーに初期化データが含まれているためプリコンパイルヘッダーを作成できない
ってエラーが出るのは、回避不可能なの?
W8058 ヘッダーに初期化データが含まれているためプリコンパイルヘッダーを作成できない
ってエラーが出るのは、回避不可能なの?
517デフォルトの名無しさん
2013/11/07(木) 22:38:52.41518デフォルトの名無しさん
2013/11/11(月) 13:09:32.22 継承される可能性のあるクラスは、仮想デストラクターを置けって言うけど、
ヘッダーファイルに↓の置いておくだけでよいの?
virtual __fastcall ~TSample();
ヘッダーファイルに↓の置いておくだけでよいの?
virtual __fastcall ~TSample();
519デフォルトの名無しさん
2013/11/11(月) 13:32:23.26520デフォルトの名無しさん
2013/11/11(月) 15:07:57.54 >>519
特にエラーは何も出ずに実行できるのだが
特にエラーは何も出ずに実行できるのだが
521デフォルトの名無しさん
2013/11/11(月) 16:58:02.35 >>518
本体(デストラクタの実体)がないからエラーになるはずだけど
[ILINK32 エラー] Error: 未解決の外部参照 '__fastcall TSample::~TSample()' が x:\xxx\xxxx\xxxx.OBJ から参照されました
宣言したけど使っていない場合はエラーも出ないし実行に支障はない
これはメンバ関数も同じだよね
ヘッダーに書きたいなら宣言にあわせて実体も書いておくものじゃないだろうか。
virtual __fastcall ~TSample() { }
抽象クラスでの純粋仮想デストラクタを考慮するなら
virtual __fastcall ~TSample() = 0;
になるだろうし。
仮にその(>>518)宣言で問題にならないにしても、継承したクラスで問題起きるかもしれないから書いておいたほうが無難だとは思う。
本体(デストラクタの実体)がないからエラーになるはずだけど
[ILINK32 エラー] Error: 未解決の外部参照 '__fastcall TSample::~TSample()' が x:\xxx\xxxx\xxxx.OBJ から参照されました
宣言したけど使っていない場合はエラーも出ないし実行に支障はない
これはメンバ関数も同じだよね
ヘッダーに書きたいなら宣言にあわせて実体も書いておくものじゃないだろうか。
virtual __fastcall ~TSample() { }
抽象クラスでの純粋仮想デストラクタを考慮するなら
virtual __fastcall ~TSample() = 0;
になるだろうし。
仮にその(>>518)宣言で問題にならないにしても、継承したクラスで問題起きるかもしれないから書いておいたほうが無難だとは思う。
522デフォルトの名無しさん
2013/11/11(月) 16:58:31.24 アプリの起動時に、しなきゃならない処理がたくさんあるんだけど
(INIファイルの読み込みとか)
メインフォームやスプラッシュフォームのコンストラクターとかに
書くと気持ち悪いから、アプリケーション初期化関連のメソッドを
並べたクラスを一つ作って、メインフォームのコンストラクターから
インスタンス作って全部やらせるのって、汚いやり方?
1つの仕事を順番にやるだけのクラスになるんだけど。
(INIファイルの読み込みとか)
メインフォームやスプラッシュフォームのコンストラクターとかに
書くと気持ち悪いから、アプリケーション初期化関連のメソッドを
並べたクラスを一つ作って、メインフォームのコンストラクターから
インスタンス作って全部やらせるのって、汚いやり方?
1つの仕事を順番にやるだけのクラスになるんだけど。
523デフォルトの名無しさん
2013/11/11(月) 17:01:13.43524デフォルトの名無しさん
2013/11/11(月) 17:46:35.14525デフォルトの名無しさん
2013/11/11(月) 17:52:53.52526デフォルトの名無しさん
2013/11/11(月) 18:15:55.83 共通なグローバルな初期化はメインのデータモジュール作って、データモジュールのコンスタラクタとかでやれば??
で、各フォーム特有の初期化は各フォームのコンストラクタでやる。
「プロジェクトオプション」の「フォーム」で指定する作成順序はメインデータモジュール->メインフォームの順で。
俺はだいたいそうやって作ってるけど。
大抵、データベースアプリとかで、グローバルな接続コンポはデータモジュール作って、そこに置くように、
その延長でそうしてる。
で、各フォーム特有の初期化は各フォームのコンストラクタでやる。
「プロジェクトオプション」の「フォーム」で指定する作成順序はメインデータモジュール->メインフォームの順で。
俺はだいたいそうやって作ってるけど。
大抵、データベースアプリとかで、グローバルな接続コンポはデータモジュール作って、そこに置くように、
その延長でそうしてる。
527デフォルトの名無しさん
2013/11/11(月) 18:47:50.47528デフォルトの名無しさん
2013/11/11(月) 18:59:36.66 まず、データモジュールってコンポーネントはしってるんだよね??
グローバルな設定の初期化(終了化)するタイミングはデータモジュールのコンスタラクタ(デストラクタ)なわけで、
後は、君が書いたクラス次第でしょ。ここが何をして、どう使うクラスになってるのか全く想像できないから、
どう説明したらいいか・・
グローバルな設定の初期化(終了化)するタイミングはデータモジュールのコンスタラクタ(デストラクタ)なわけで、
後は、君が書いたクラス次第でしょ。ここが何をして、どう使うクラスになってるのか全く想像できないから、
どう説明したらいいか・・
529デフォルトの名無しさん
2013/11/11(月) 19:02:26.66 えらそうに言わないでください
530デフォルトの名無しさん
2013/11/11(月) 19:05:13.57 それか、>>572はこういうことか。
もちろん、君のクラスはTComponent派生して、別にIDEに登録して使うわけじゃないと思うから、
TSQLConnectionみたく、IDEから貼り付けできないけど、そのクラスがインスタンスが
アプリの開始から終了までずっと、
存在する必要があるなら、データモジュールに、フィールド(プロパティ)を追加して、データモジュールの
コンストラクタ(デストラクタ)で作成・破棄してもいいし。そこはやっぱ、君のクラスが何してるか、どう使うか次第・・
もちろん、君のクラスはTComponent派生して、別にIDEに登録して使うわけじゃないと思うから、
TSQLConnectionみたく、IDEから貼り付けできないけど、そのクラスがインスタンスが
アプリの開始から終了までずっと、
存在する必要があるなら、データモジュールに、フィールド(プロパティ)を追加して、データモジュールの
コンストラクタ(デストラクタ)で作成・破棄してもいいし。そこはやっぱ、君のクラスが何してるか、どう使うか次第・・
531デフォルトの名無しさん
2013/11/11(月) 19:14:23.95 >>528
> まず、データモジュールってコンポーネントはしってるんだよね??
知らないんだ。リファレンスを見たところ、別のコンポーネントを一括管理するのかと思っているのだけど。
WinSocketの初期化、INIファイルのロード、各種スレッドの起動等を
メインフォームの表示前に終わらせてしまうのが目的。
元々やろうとしてたのは、この各処理を順々にやっていくパブリックメソッドを持った
アプリ初期化用クラスのインスタンスをメインフォームクラスで生成して、
そのメソッドをコールしようと思っていたのだけど。。
> まず、データモジュールってコンポーネントはしってるんだよね??
知らないんだ。リファレンスを見たところ、別のコンポーネントを一括管理するのかと思っているのだけど。
WinSocketの初期化、INIファイルのロード、各種スレッドの起動等を
メインフォームの表示前に終わらせてしまうのが目的。
元々やろうとしてたのは、この各処理を順々にやっていくパブリックメソッドを持った
アプリ初期化用クラスのインスタンスをメインフォームクラスで生成して、
そのメソッドをコールしようと思っていたのだけど。。
532デフォルトの名無しさん
2013/11/11(月) 19:29:42.48 >>リファレンスを見たところ、別のコンポーネントを一括管理するのかと思っているのだけど。
そう、それで、別にコンポーネントのためだけに使わなくてもいいわけで、そこに、グローバルなコンポーネント以外にも、
自作のグルーバルなクラスのインスタンスをプロパティ経由とかで、外部に公開してもいいわけで。そこはご自由にと。
>>元々やろうとしてたのは、この各処理を順々にやっていくパブリックメソッドを持った
>>アプリ初期化用クラスのインスタンスをメインフォームクラスで生成して、
>>そのメソッドをコールしようと思っていたのだけど。。
これをそのまんま使うなら、インスタンスの生成とメソッドコールを単にデータモジュールのコンストラクタに移動するだけ終わりじゃ?
そう、それで、別にコンポーネントのためだけに使わなくてもいいわけで、そこに、グローバルなコンポーネント以外にも、
自作のグルーバルなクラスのインスタンスをプロパティ経由とかで、外部に公開してもいいわけで。そこはご自由にと。
>>元々やろうとしてたのは、この各処理を順々にやっていくパブリックメソッドを持った
>>アプリ初期化用クラスのインスタンスをメインフォームクラスで生成して、
>>そのメソッドをコールしようと思っていたのだけど。。
これをそのまんま使うなら、インスタンスの生成とメソッドコールを単にデータモジュールのコンストラクタに移動するだけ終わりじゃ?
533デフォルトの名無しさん
2013/11/11(月) 19:33:15.87 >>522でキミが 「メインフォームやスプラッシュフォームのコンストラクターとかに書くと気持ち悪い」と言ったコードを「データモジュール」のコンストラクタに書けばいいんだよ。
データモジュールは、C++Builderのバージョンがわからないのであれだけど、
自分のものは 新規作成→その他→C++Builderプロジェクト→C++Builderファイル にある
データモジュール自身にそれらを実行する関数を持たせて「別の関数作ってそこにたくさんの処理を書いてコンストラクタからその関数を呼び出す」ってのでもいいけど。
データモジュールは、C++Builderのバージョンがわからないのであれだけど、
自分のものは 新規作成→その他→C++Builderプロジェクト→C++Builderファイル にある
データモジュール自身にそれらを実行する関数を持たせて「別の関数作ってそこにたくさんの処理を書いてコンストラクタからその関数を呼び出す」ってのでもいいけど。
534デフォルトの名無しさん
2013/11/11(月) 19:35:02.08 クラス名は TDataModule ね
535デフォルトの名無しさん
2013/11/11(月) 20:02:57.86 説明不足で本当に申し訳ない。
汚いやり方とか、気持ち悪いとか言ったのは、
クラス名を動詞にするなとか、データがなくで振る舞い(メソッド)だけのクラスは良くないって
CODE COMPLETEやら、ほかのWEBサイトに書いてあったからなのです。
そういうクラスを作ること自体が、オブジェクト指向と外れているのではないかと。
汚いやり方とか、気持ち悪いとか言ったのは、
クラス名を動詞にするなとか、データがなくで振る舞い(メソッド)だけのクラスは良くないって
CODE COMPLETEやら、ほかのWEBサイトに書いてあったからなのです。
そういうクラスを作ること自体が、オブジェクト指向と外れているのではないかと。
536デフォルトの名無しさん
2013/11/11(月) 20:43:39.99 メソッドだけならクラスじゃなくて関数でいいしね。
データモジュールはヘルプみればわかると思うんだけど、
http://docs.codegear.com/products/rad_studio/radstudio2007/RS2007_helpupdates/HUpdate4/JA/html/delphivclwin32/Classes_TDataModule.html
>また,データモジュールのユニットファイルにアプリケーション全体に適用されるものをすべて入れておくようにしてもよいでしょう。
っていう記述がある。
主に非ビジュアルコンポーネントを“一元管理する目的”の TDataModule なので、それはつまり複数のフォームやユニットからのアクセスを受けるということ。
そういう特性を利用して WinSocketの初期化、INIファイルのロード などのアプリケーション全体に影響する設定や処理をそこで行うということ。
ただし「各種スレッドの起動」に関してはそのスレッドが何をするものなのかにもよる気がするので。
データモジュールのユニットファイルにそれらを実行する関数を書く。
データモジュールのコンストラクタからそれを実行する。
データモジュールはヘルプみればわかると思うんだけど、
http://docs.codegear.com/products/rad_studio/radstudio2007/RS2007_helpupdates/HUpdate4/JA/html/delphivclwin32/Classes_TDataModule.html
>また,データモジュールのユニットファイルにアプリケーション全体に適用されるものをすべて入れておくようにしてもよいでしょう。
っていう記述がある。
主に非ビジュアルコンポーネントを“一元管理する目的”の TDataModule なので、それはつまり複数のフォームやユニットからのアクセスを受けるということ。
そういう特性を利用して WinSocketの初期化、INIファイルのロード などのアプリケーション全体に影響する設定や処理をそこで行うということ。
ただし「各種スレッドの起動」に関してはそのスレッドが何をするものなのかにもよる気がするので。
データモジュールのユニットファイルにそれらを実行する関数を書く。
データモジュールのコンストラクタからそれを実行する。
538デフォルトの名無しさん
2013/11/12(火) 15:12:44.63539デフォルトの名無しさん
2013/11/12(火) 17:00:07.90 シングルトンデザインパターンで実装すると、
マルチスレッド アプリケーションのコンストラクタでローカル静的変数を使うことは危険です
という警告が出るのですが、どう危険なのでしょうか。
マルチスレッド アプリケーションのコンストラクタでローカル静的変数を使うことは危険です
という警告が出るのですが、どう危険なのでしょうか。
540デフォルトの名無しさん
2013/11/12(火) 17:40:58.25 初期化コードが複数回あるいは同時に実行されることがある、という
541デフォルトの名無しさん
2013/11/12(火) 17:42:13.78 この話かな?
ttp://d.hatena.ne.jp/A7M/20081027/1225088907
ttp://d.hatena.ne.jp/A7M/20081027/1225088907
542539
2013/11/12(火) 18:39:32.34 ありがとうございます。
マルチスレッド化する前にインスタンスが作られるのであれば、
#pragmaで消しても大丈夫な警告なのでしょうか?
マルチスレッド化する前にインスタンスが作られるのであれば、
#pragmaで消しても大丈夫な警告なのでしょうか?
543デフォルトの名無しさん
2013/11/12(火) 19:56:40.06 遅延生成をやめれば問題はない
544539
2013/11/12(火) 20:26:11.82 >>543
分かりました。ありがとうございます!
それから、関係ないのですが、クラス名の1文字目の"T"って何の略ですか?
"TApplication", "TForm", "TThread", "TCheckBox"等の"T"です。
分かりました。ありがとうございます!
それから、関係ないのですが、クラス名の1文字目の"T"って何の略ですか?
"TApplication", "TForm", "TThread", "TCheckBox"等の"T"です。
545デフォルトの名無しさん
2013/11/12(火) 20:44:20.00 昔、OWLを作った人がTypeのTだと明言してた
546デフォルトの名無しさん
2013/11/13(水) 16:44:57.65 XE4でTChartなくなった??
発見できないんだけど
発見できないんだけど
547デフォルトの名無しさん
2013/11/13(水) 16:48:41.81 あ、あったわ。
変なタブに潜んでた
まあしかしお前等ってほんと糞の役にも立たないゴミ虫だよなww
変なタブに潜んでた
まあしかしお前等ってほんと糞の役にも立たないゴミ虫だよなww
548デフォルトの名無しさん
2013/11/14(木) 00:53:54.22 TurboApplication、TurboForm、TurboThread、TurboCheckBox。
549デフォルトの名無しさん
2013/11/14(木) 19:23:35.13 XE4の品質は超クソだな
さすがにXE3から数ヶ月で出ただけのことがあるわ
で、このクソ品質を修正しただけのXE5に更新するには\40,000-って
どんだけクソな会社なんだよ…
今に分かった事じゃないんだけどさ
さすがにXE3から数ヶ月で出ただけのことがあるわ
で、このクソ品質を修正しただけのXE5に更新するには\40,000-って
どんだけクソな会社なんだよ…
今に分かった事じゃないんだけどさ
550デフォルトの名無しさん
2013/11/14(木) 20:04:52.15 ボーランド時代は安くて痒い所に手が届く使い勝手の良いコンパイラを提供してくれていたのだが
551デフォルトの名無しさん
2013/11/14(木) 20:20:27.22 それに無理があったからボーランドは手放したんでしょ?
552デフォルトの名無しさん
2013/11/15(金) 01:00:43.35 とりあえず今のC++ XE4 Update1で発生する不具合
・ビルド時にsaveMemのエラー?でコンパイラが起動出来無くなる事がある
・インクリメンタルリンクを有効にしているとビルド後のバイナリ起動時にDelayLoaderのエラー発生
・突然プロジェクトファイルに不正なタグが書込まれる ProjectExtensions問題 XE2から
・デバッグ実行のプロセス起動時にアプリケーションエラーでIDEごと落ちる
こんなにクソなんです
QCに入れたって日本人担当者とさんざん英語でやりとりした挙げ句、
再現出来ずだしな
・ビルド時にsaveMemのエラー?でコンパイラが起動出来無くなる事がある
・インクリメンタルリンクを有効にしているとビルド後のバイナリ起動時にDelayLoaderのエラー発生
・突然プロジェクトファイルに不正なタグが書込まれる ProjectExtensions問題 XE2から
・デバッグ実行のプロセス起動時にアプリケーションエラーでIDEごと落ちる
こんなにクソなんです
QCに入れたって日本人担当者とさんざん英語でやりとりした挙げ句、
再現出来ずだしな
553デフォルトの名無しさん
2013/11/15(金) 01:43:24.74 可哀想に。
あの「日本人担当者」はボランティアなので多くを期待するな
あの「日本人担当者」はボランティアなので多くを期待するな
554デフォルトの名無しさん
2013/11/15(金) 02:49:42.72 QC 入れるときに 「高橋さんはコメントしないでください」
って一文入れとけばいいと思う。
552 のバグレポートって、何番?
って一文入れとけばいいと思う。
552 のバグレポートって、何番?
555デフォルトの名無しさん
2013/11/15(金) 18:42:10.89 現象が再現しないってのはよくあることだわな
ちゃんと、再現性があるなら
その再現条件を明記しないからだろ
再現しないのは、特殊環境下でしか起きないこともあるしな
あるいは自作プログラムのバグが悪さをして不安定になってるとか
自分が遭遇したBuilderのバグは、ぐぐればまず間違いなく同じ現象が出てくるわ
ちゃんと、再現性があるなら
その再現条件を明記しないからだろ
再現しないのは、特殊環境下でしか起きないこともあるしな
あるいは自作プログラムのバグが悪さをして不安定になってるとか
自分が遭遇したBuilderのバグは、ぐぐればまず間違いなく同じ現象が出てくるわ
556デフォルトの名無しさん
2013/11/16(土) 02:04:02.26 それは甘え。
特殊なのは高橋さんのほうかもしれないしな
特殊なのは高橋さんのほうかもしれないしな
557デフォルトの名無しさん
2013/11/16(土) 10:40:50.67 それは言いがかりに近いな
558デフォルトの名無しさん
2013/11/17(日) 01:55:45.53 「再現できない」ってのは「バグがない」ってことではないのだよ
「テストケースエラー」でもない。
言いがかりをつけているのはどっちかな
「テストケースエラー」でもない。
言いがかりをつけているのはどっちかな
559デフォルトの名無しさん
2013/11/17(日) 10:25:05.81 キミだよ
560デフォルトの名無しさん
2013/11/17(日) 10:52:17.44 558 支持。
561デフォルトの名無しさん
2013/11/17(日) 13:08:08.46 言いがかりだよ
562デフォルトの名無しさん
2013/11/17(日) 15:01:28.39 BCB6で32bitアプリを作る時にはどうすれば良いんでしょうか。
16bitしか作れないんでしょうか。
16bitしか作れないんでしょうか。
563デフォルトの名無しさん
2013/11/17(日) 15:16:10.42 64bitアプリの間違いか?
BCB6ならすでに32bitアプリなんだが。
BCB6ならすでに32bitアプリなんだが。
564デフォルトの名無しさん
2013/11/17(日) 15:16:53.55 何か作ったexeが16bitになってるんですが、どうしたらよいんでしょうか
565デフォルトの名無しさん
2013/11/17(日) 15:26:14.61 ああ、バージョン情報を含めるをチェックしたらバージョン情報が出てきました。
マイクロソフトのサイトに、exeファイルを右クリしてバージョン情報が出てこなかったら16bitアプリって
書いてあったんですが、右クリで出てきたので32bitなんですかね。
マイクロソフトのサイトに、exeファイルを右クリしてバージョン情報が出てこなかったら16bitアプリって
書いてあったんですが、右クリで出てきたので32bitなんですかね。
566デフォルトの名無しさん
2013/11/17(日) 15:59:10.36 32bitになってました。どうもありがとうございました。
567デフォルトの名無しさん
2013/11/17(日) 16:18:23.61 >>565
それはMSのアプリに限っての話だろう。
32bitアプリはバージョン情報を含める事も含めない事もできる。
16bitアプリはバージョン情報を含める事ができない。
MSは自社アプリには必ずバージョン情報を含めるからバージョン情報が出ないなら16bitアプリっていう判断なんだと思う。
あとMSでなくても市販のアプリは基本的にバージョン情報含めているから同じ。
個人開発だと必ずしも含めているとは限らないからその判定法は成立しない。
と、そういうことなんだと思う。詳しくは知らないのだけど。
それはMSのアプリに限っての話だろう。
32bitアプリはバージョン情報を含める事も含めない事もできる。
16bitアプリはバージョン情報を含める事ができない。
MSは自社アプリには必ずバージョン情報を含めるからバージョン情報が出ないなら16bitアプリっていう判断なんだと思う。
あとMSでなくても市販のアプリは基本的にバージョン情報含めているから同じ。
個人開発だと必ずしも含めているとは限らないからその判定法は成立しない。
と、そういうことなんだと思う。詳しくは知らないのだけど。
568デフォルトの名無しさん
2013/11/18(月) 10:49:06.19569デフォルトの名無しさん
2013/11/18(月) 10:53:04.82 初心者版で初心者かもしれない人に何いってんだか・・
570デフォルトの名無しさん
2013/11/18(月) 10:53:10.93 XE2以降ではバージョン情報の設定機能はダメダメになってるよね
プラットフォーム別にバージョン情報を別に出来るって言うのは理解できるけど、
そのおかげで全ビルド構成で別々にバージョン情報が作られてしまう
「ビルド番号を自動更新」にすると、DebugとReleaseで別々のバージョン情報になってしまうという…
一体全体どういう連中が作ってるんだろうか
プラットフォーム別にバージョン情報を別に出来るって言うのは理解できるけど、
そのおかげで全ビルド構成で別々にバージョン情報が作られてしまう
「ビルド番号を自動更新」にすると、DebugとReleaseで別々のバージョン情報になってしまうという…
一体全体どういう連中が作ってるんだろうか
571デフォルトの名無しさん
2013/11/18(月) 12:01:26.40 XE2を使っています。
プロジェクトマネージャのウインドウで、各ユニットのフォルダ構造が
表示されていますが、この中でユニットになっていないものがあります。
(+ボタンを押すと、開くようになっていない)
プロジェクトファイルで、DependentOnタグが付いていないユニットが
該当するようなのですが、このタグを直接プロジェクトファイルをいじらずに
付ける方法はございませんでしょうか。
プロジェクトマネージャのウインドウで、各ユニットのフォルダ構造が
表示されていますが、この中でユニットになっていないものがあります。
(+ボタンを押すと、開くようになっていない)
プロジェクトファイルで、DependentOnタグが付いていないユニットが
該当するようなのですが、このタグを直接プロジェクトファイルをいじらずに
付ける方法はございませんでしょうか。
572デフォルトの名無しさん
2013/11/18(月) 12:23:21.74 そこまで分かってるんならプロジェクトファイル直接書替えればいいじゃん?
あとは一度プロジェクトからソースを削除してもう一度追加してみるか
はっきりとは分からんけど、ヘッダファイルのインクルードガードのマクロ名で
ユニットになっているかどうかを判定しているように思えた
あとは一度プロジェクトからソースを削除してもう一度追加してみるか
はっきりとは分からんけど、ヘッダファイルのインクルードガードのマクロ名で
ユニットになっているかどうかを判定しているように思えた
573デフォルトの名無しさん
2013/11/18(月) 12:54:15.00 >>572
ありがとうございます。
プロジェクトから削除〜追加でユニット化されました。
インクルードガードのマクロ名で判定しているのは確かだと思います。
そのため、#pragma onceが使う機会を持てません。
ありがとうございます。
プロジェクトから削除〜追加でユニット化されました。
インクルードガードのマクロ名で判定しているのは確かだと思います。
そのため、#pragma onceが使う機会を持てません。
574デフォルトの名無しさん
2013/11/18(月) 18:10:46.44 > 16bitアプリはバージョン情報を含める事ができない。
含める事ができないんじゃなくて、32bitWindowsからは「16bitアプリのバージョン情報」は読めない(バージョンタブが表示されない)ってだけかもしれないな。
含める事ができないんじゃなくて、32bitWindowsからは「16bitアプリのバージョン情報」は読めない(バージョンタブが表示されない)ってだけかもしれないな。
575デフォルトの名無しさん
2013/11/20(水) 08:54:28.16 最近、XE2でコンパイルすると
[ILINK32 警告] Warning: プロジェクト名.ilc 0x00010000 / 0x08000000
[ILINK32 警告] Warning: unknown heap name : 0x08000000 / 0x08000000
[ILINK32 警告] Warning: エラーが検出されました(LME286)
[ILINK32 警告] Warning: インクリメンタル リンクを実行できません -完全リンクを実行中...
[ILINK32 エラー] Error: リンクを実行できません。
とか表示されてしまうのだけど、何故?
[ILINK32 警告] Warning: プロジェクト名.ilc 0x00010000 / 0x08000000
[ILINK32 警告] Warning: unknown heap name : 0x08000000 / 0x08000000
[ILINK32 警告] Warning: エラーが検出されました(LME286)
[ILINK32 警告] Warning: インクリメンタル リンクを実行できません -完全リンクを実行中...
[ILINK32 エラー] Error: リンクを実行できません。
とか表示されてしまうのだけど、何故?
576575
2013/11/20(水) 09:11:06.26 ちなみに、PCを再起動するとコンパイルできるようになる。
IDE自体の再起動ではダメ。
IDE自体の再起動ではダメ。
577デフォルトの名無しさん
2013/11/20(水) 12:13:11.66 XPじゃないのか?
XE3SP1だったかSP2はそれで動かなくなってたな
XE3SP1だったかSP2はそれで動かなくなってたな
578デフォルトの名無しさん
2013/11/20(水) 13:09:50.04 >>577
Win7
Win7
579デフォルトの名無しさん
2013/11/20(水) 15:42:32.95 LME286でぐぐるとなんかあるっぽいが
580デフォルトの名無しさん
2013/11/20(水) 22:55:34.09581デフォルトの名無しさん
2013/11/29(金) 18:01:14.70 DriveComboBoxでデフォルトドライブの変更方法教えて
DriveやItemIndexを弄っても全然変わってくれない
DriveやItemIndexを弄っても全然変わってくれない
582デフォルトの名無しさん
2013/11/29(金) 18:46:03.82583デフォルトの名無しさん
2013/11/29(金) 23:14:08.18 何かiOSアプリの開発ができるようになるらしいが
584デフォルトの名無しさん
2013/11/30(土) 01:50:47.22 BCB6で、リッチエディットの上にマウスが乗った時のマウスカーソルを変更するのは
どうしたら良いんでしょうか 右向きの矢印が出ます
どうしたら良いんでしょうか 右向きの矢印が出ます
585デフォルトの名無しさん
2013/11/30(土) 12:42:42.49 リッチエディットのCursorをオブジェクトインスペクタで変更しておけばいいんじゃ?
586デフォルトの名無しさん
2013/11/30(土) 21:32:02.58 マウスカーソルの変更出来ました。ありがとうございました。
587デフォルトの名無しさん
2013/12/02(月) 17:27:08.37 TImageで質問
ストレッチがtrueで
Image1->Picture->LoadFromFileで画像を表示させて
Image1->Widthを変更して再度表示させても以前のサイズのままで
更に読み込むと指定した大きさになるんですがこれすぐ正常なサイズで表示するにはどうしたらいいんですか?
Image1->Picture=NULLにしてもすぐには変わってくれなかったです
ストレッチがtrueで
Image1->Picture->LoadFromFileで画像を表示させて
Image1->Widthを変更して再度表示させても以前のサイズのままで
更に読み込むと指定した大きさになるんですがこれすぐ正常なサイズで表示するにはどうしたらいいんですか?
Image1->Picture=NULLにしてもすぐには変わってくれなかったです
588デフォルトの名無しさん
2013/12/02(月) 20:23:23.70589デフォルトの名無しさん
2013/12/03(火) 14:45:38.60 >>588
ありがとうy、やってみる。
ありがとうy、やってみる。
590デフォルトの名無しさん
2013/12/03(火) 14:56:18.60 ダメでした(´・ω・`)
591デフォルトの名無しさん
2013/12/03(火) 18:12:27.49 できますた( ´∀`)
592デフォルトの名無しさん
2013/12/06(金) 13:37:24.07 TJPEGImageでjpgを早く読む方法教えて
何かVBとか画像データの検証をオフにしてロードしたら早くできるみたいなんで
これにそういうのあったら教えてほしいですです
何かVBとか画像データの検証をオフにしてロードしたら早くできるみたいなんで
これにそういうのあったら教えてほしいですです
593デフォルトの名無しさん
2013/12/08(日) 14:49:43.62 Form1.cpp の中で
自分で作った関数や変数の宣言をするのと、
Form1.h の中のprivate: や public: の所で
自分で作った関数や変数の宣言をするのでは、
メモリ使用量やプログラムの大きさ等が何か変わってくるのでしょうか。
自分で作った関数や変数の宣言をするのと、
Form1.h の中のprivate: や public: の所で
自分で作った関数や変数の宣言をするのでは、
メモリ使用量やプログラムの大きさ等が何か変わってくるのでしょうか。
594デフォルトの名無しさん
2013/12/08(日) 17:09:11.28 オブジェクト指向プログラミング勉強してこい
595デフォルトの名無しさん
2013/12/09(月) 09:23:14.60597デフォルトの名無しさん
2013/12/09(月) 11:28:50.09 エスパー検定勉強してこい
598デフォルトの名無しさん
2013/12/09(月) 13:21:54.02599デフォルトの名無しさん
2013/12/09(月) 14:18:39.89 オブジェクト指向はメモリやプログラムの大きさの事を考えて設計する方法では無い
そもそもオブジェクト指向勉強してこいとか、質問の答えにさえなってない
そもそもオブジェクト指向勉強してこいとか、質問の答えにさえなってない
600594
2013/12/09(月) 14:42:09.84 じゃ質問に答えてやれよ
601デフォルトの名無しさん
2013/12/12(木) 13:51:00.24 スレッドのExecute()内で、StringGridを動的生成しようと
以下の様にしました。
TStringGrid *SG = new TStringGrid(this);
[BCC32 エラー] Get.cpp(103): E2285 'TStringGrid::TStringGrid(Get * const)' に一致するものが見つからない
エラーの意味が分からないのですが、
スレッド内で動的に生成してはいけないのでしょうか?
アドバイス頂けると助かります。
以下の様にしました。
TStringGrid *SG = new TStringGrid(this);
[BCC32 エラー] Get.cpp(103): E2285 'TStringGrid::TStringGrid(Get * const)' に一致するものが見つからない
エラーの意味が分からないのですが、
スレッド内で動的に生成してはいけないのでしょうか?
アドバイス頂けると助かります。
602デフォルトの名無しさん
2013/12/12(木) 14:19:34.01 スレッドのクラス内でthisでいいの?
603デフォルトの名無しさん
2013/12/12(木) 14:34:32.90 >>602
this はおまじないだと思っていました。
調べても良く分からないのですが、
空の StringGrid を作るには this の代わりに何を指定すれば良いのでしょうか?
作成したStringGridを貼り付けるGridFormを指定しましたが、
コンパイル時にエラーは出なくなりましたが実行時エラーが発生します。
TStringGrid *SG = new TStringGrid( GridForm );
this はおまじないだと思っていました。
調べても良く分からないのですが、
空の StringGrid を作るには this の代わりに何を指定すれば良いのでしょうか?
作成したStringGridを貼り付けるGridFormを指定しましたが、
コンパイル時にエラーは出なくなりましたが実行時エラーが発生します。
TStringGrid *SG = new TStringGrid( GridForm );
604デフォルトの名無しさん
2013/12/12(木) 15:18:04.94 Execute内でStringGridの動的生成って、ダメじゃないけど豪快だな
Synchronize()とか使ってメイン側で更新する必要があるので、あまり意味がないことが多々ある
スレッド側で必要なのはStringGridではなく文字列の配列だったり、
スレッド生成時にStringGridも生成すれば十分だったりしないかな?
Synchronize()とか使ってメイン側で更新する必要があるので、あまり意味がないことが多々ある
スレッド側で必要なのはStringGridではなく文字列の配列だったり、
スレッド生成時にStringGridも生成すれば十分だったりしないかな?
605601
2013/12/12(木) 15:34:49.14 有り難うございます。
やっぱり余りやらない方法なんですね。
経緯を話しますと現時点では、スレッド内からSynchronize()を使って
StringGridのテーブルを更新しています。
このSynchronize()を使った更新処理が重くてなんとかならないかと考え試行錯誤しています。
Queue()を使った方法も試したのですがStringGridがたまにちらつくのでイマイチでした。
(DoubleBufferedはtrueにしてあります。)
次に、StringGridの更新はスレッド内からしか行わないので、
StringGridをスレッド内で生成すれば、StringGridの所有権がスレッドになり、
Synchronize()しなくて済むので、
早く(並列)なるのでは無いかと考えて今に至ります。
勘違いしている点やアドバイスがあればお願い致します。
やっぱり余りやらない方法なんですね。
経緯を話しますと現時点では、スレッド内からSynchronize()を使って
StringGridのテーブルを更新しています。
このSynchronize()を使った更新処理が重くてなんとかならないかと考え試行錯誤しています。
Queue()を使った方法も試したのですがStringGridがたまにちらつくのでイマイチでした。
(DoubleBufferedはtrueにしてあります。)
次に、StringGridの更新はスレッド内からしか行わないので、
StringGridをスレッド内で生成すれば、StringGridの所有権がスレッドになり、
Synchronize()しなくて済むので、
早く(並列)なるのでは無いかと考えて今に至ります。
勘違いしている点やアドバイスがあればお願い致します。
606デフォルトの名無しさん
2013/12/12(木) 16:06:26.75 TStringGrid(Get * const)
なんだから、テキストファイルとかを渡すんだろ
なんだから、テキストファイルとかを渡すんだろ
607デフォルトの名無しさん
2013/12/12(木) 16:34:01.69 更新処理が重いなら間引くべきだと思うよ
毎回更新する必要があるなら、それは並列化できない、つまりスレッド化の意味がない
毎回更新する必要があるなら、それは並列化できない、つまりスレッド化の意味がない
608601
2013/12/12(木) 17:13:53.53 有り難うございます。
間引く方向で検討したいと思います。
有り難うございました。
間引く方向で検討したいと思います。
有り難うございました。
609デフォルトの名無しさん
2013/12/12(木) 17:48:46.90 スレ違いだけどこの仕様、C#でも受け継いでいて本当クソだと思うわ
ヘジたんこういう所はダメなのね
ヘジたんこういう所はダメなのね
610デフォルトの名無しさん
2013/12/12(木) 18:55:59.95 >>605
アプリケーション内で使うStringGridはそのひとつなんでしょ?
ただ更新はスレッド側からのみ、メインでやると重くなる、という理由ってことだよね?
重くなるというのが、更新処理中に他のメッセージを処理しなくなりGUIが応答しなくなることを言っているのだろうか?
それとも単純に更新処理に時間がかかるという意味だろうか。
前者でCPUバウンドな更新処理なら TStringGridには Cols プロパティ(TStrings*)や Rowsプロパティ(TStrings*)というのがあるので、
スレッドに TStringList を用意しておき必要な更新処理をすべてこのTStringList に対して行う。
TStringGrid への反映は Synchronize()で Cols プロパティや Rowsプロパティでスレッドの TStringList をAssign してあげればいいんじゃないだろうか。
極力 Synchronize() での処理はデータのコピーにとどめておけばいいと思う。
前者で演算よりもGUIの更新自体(例えば大量の Cells プロパティを更新するなど)が多いなら、
更新処理の合間に適度に TApplication::ProcessMessages を入れてあげればいいと思う。
後者で、単純に更新処理に時間がかかるというなら、更新処理を見直せとしか。
あとStringGridの所有権が誰だろうと、可視コンポーネントはWindowsメッセージによって(つまりメインスレッドで)制御されているのでSynchronize()しなくて済むということはないよ。
アプリケーション内で使うStringGridはそのひとつなんでしょ?
ただ更新はスレッド側からのみ、メインでやると重くなる、という理由ってことだよね?
重くなるというのが、更新処理中に他のメッセージを処理しなくなりGUIが応答しなくなることを言っているのだろうか?
それとも単純に更新処理に時間がかかるという意味だろうか。
前者でCPUバウンドな更新処理なら TStringGridには Cols プロパティ(TStrings*)や Rowsプロパティ(TStrings*)というのがあるので、
スレッドに TStringList を用意しておき必要な更新処理をすべてこのTStringList に対して行う。
TStringGrid への反映は Synchronize()で Cols プロパティや Rowsプロパティでスレッドの TStringList をAssign してあげればいいんじゃないだろうか。
極力 Synchronize() での処理はデータのコピーにとどめておけばいいと思う。
前者で演算よりもGUIの更新自体(例えば大量の Cells プロパティを更新するなど)が多いなら、
更新処理の合間に適度に TApplication::ProcessMessages を入れてあげればいいと思う。
後者で、単純に更新処理に時間がかかるというなら、更新処理を見直せとしか。
あとStringGridの所有権が誰だろうと、可視コンポーネントはWindowsメッセージによって(つまりメインスレッドで)制御されているのでSynchronize()しなくて済むということはないよ。
611デフォルトの名無しさん
2013/12/12(木) 19:09:59.46 Application->ExeName が化けてるんだけど
Win32のフォルダんとこが.\\.とかなってるし
これちゃんと取る方法おしえてくださ
C++BuilderXE4
Win32のフォルダんとこが.\\.とかなってるし
これちゃんと取る方法おしえてくださ
C++BuilderXE4
612デフォルトの名無しさん
2013/12/12(木) 20:07:55.27 C++11から本格的にマルチスレッドと同期サポートが入ったから、案外行けるかも
あ、VCLはObject Pascalで書かれてるんだっけorz
.NETも4.5からAsync入ったしうかうかしてると横取りされちゃうぞ
あ、VCLはObject Pascalで書かれてるんだっけorz
.NETも4.5からAsync入ったしうかうかしてると横取りされちゃうぞ
613デフォルトの名無しさん
2013/12/16(月) 15:00:24.58 BCB6でデバッグの時にF12キー押したら出てくるCPUウインドウを出さないように出来ますか
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「おこめ券は米以外の食品も買える。効果的な活用を」 地元で農水相 [山形県] [少考さん★]
- 【速報】「女芸人No.1決定戦 THE W」9代目女王にニッチェ! 7年ぶり3度目で悲願の優勝 [牛丼★]
- いじめ後遺症 15年前のトラウマに苦悩する当事者「夢の中に出てくる」「された側は一生ものの傷」 [♪♪♪★]
- 【芸能】『女芸人No.1決定戦THE W』 粗品が最後にバッサリ「優勝賞金1000万円にしてはレベル低い大会」 [冬月記者★]
- 今年の流行語大賞 『働いて働いて働いてまいります』が受賞で不快感… 過労自殺の遺族らが会見「家族にむち打つような行為だ」 [冬月記者★]
- 東京の自販機そばに金塊4200万円分、何者かに持ち去られる…札幌の50代が8000万円振り込んだ後に上京して被害 [どどん★]
- 武論尊「ヤクザも政治家も一切取材したことない。空想だからあんなにかっこよく描ける」 [309323212]
- 永野ってなんで売れたの?
- 旧幕府側のインテリが考えていた「日本近代化構想」が凄すぎるんだが。高市より絶対賢い [237216734]
- 別れようって言われた…
- お前「趣味……?ないですね。無趣味です」ぼく「ずっと2chしてるんだから2chが趣味でいいじゃん」前「?」
- 🏡パン🍞つー✌まる👌見え👊😅👊
