くだすれC++Builder(超初心者用)その5at TECH
くだすれC++Builder(超初心者用)その5 - 暇つぶし2ch1:デフォルトの名無しさん
12/04/21 13:26:14.76
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
C++Builder使いが優しくコメントを返しますが、
お礼はC++Builderの布教と初心者の救済をお願いします。

■C++Builder XE2 - エンバカデロ・テクノロジーズ
URLリンク(www.embarcadero.com)


<過去スレ>
くだすれC++Builder(超初心者用)その4
スレリンク(tech板)
くだすれC++Builder(超初心者用)その3
スレリンク(tech板)
くだすれC++Builder(超初心者用)その2
スレリンク(tech板)
くだすれC++Builder(超初心者用)
スレリンク(tech板)

<兄弟スレ>
くだすれDelphi(超初心者用)その54
スレリンク(tech板)

2:デフォルトの名無しさん
12/04/21 13:28:16.69
では質問をどうぞ。

3:デフォルトの名無しさん
12/04/21 18:15:39.43
OPENARRAYマクロ使いにくいな

カッコを二重にしないといけない

4:デフォルトの名無しさん
12/04/22 20:02:39.17
ネイティブアプリ作成では一番使いやすいと思うが、なぜにこんなにマイナーなの?

VC++のほうが人気がある理由がわからん

5:デフォルトの名無しさん
12/04/23 00:34:22.12
VCのほうがつかいやすくね?

MFCはソース見れば大体わかるからな
パスカレなんて嘔吐

6:デフォルトの名無しさん
12/04/23 01:07:14.49
>>4
VCLの設計が古いからだよ
FMも怪しいし

C#のためにヘジタンをM$に引きぬかれてからちっとも進歩してない

7:デフォルトの名無しさん
12/04/23 10:26:00.01
XE3出たか?

8:デフォルトの名無しさん
12/04/25 17:57:32.48
<関連スレ>
[Tips]Borland C++Builder ちょいテク No.01
スレリンク(tech板)

Embarcadero RAD Studio/Delphi/C++Builder その2 ←New!
スレリンク(tech板)

9:デフォルトの名無しさん
12/05/01 20:31:05.68
             ∧ . -‐. : . : . : . : .  ̄`丶/>ヘ',ー.、
.         __  //: . : . : . : . : . : . : . : . : . : \: . }i: : :\
         }l>/: . : . : . : . : . : . : . : . : . : . : . : :.\}i: . : . :\__
       /}レ': : . : . : . : . : . : . : . : . : .\: . ヽ: . : . :.ヽ: . : . : . ヽ`
       /: :/: . : . : . : . :l: :八: . : . : : \: : : : : '. : . : . :l: . : . : l: : l
.      /: :/: . : . : . : . :/l: :| \: :\: : : \: : . :l: . : :...:|: . : . : l: . l
     /: ://: : . : . :.|: / .j: :|   \: ヽ\:ヽ\: :|: . : |: :|: : |: . :l: : |
     //://|: : :l: : . i斗'^        ,ィf弌ぅ 、ヽ|: . : l: :|: : |: . :|\|
   //:ノ /|: :/}: : : |: l ,ィf゚う       ト::)゚ィリヽ|: . : |:/: : :|: . :|
     }: : /|:|:/: |: : ∧:i/ん:::ハ      弋c少' |: . : |}: : :.|: . :
     |: / .|:|': : |: :/: :i 弋cソ        、、、、、. |: . :八: . :八: .|
     |/  l: : : :|V: : ハ  、、、、  ′         l: ./:∧: ./  ヽ
       八: :.∧: |: :人   r 、_  、     ィ .ノ:/:/ }:./||
        ∨ V}: : |: /i>}/ ,へ、   イ j:V/:/ /  C++Builderなんて、
              八: :|/__ !  / ハ _.斗‐{       使ってる人いるのかなぁ…?
              ∧!  _|    ' /´     》─--、
            _/    |:::_}   .|ー─--<       |
          /___  i }∧   ノ:::::::::::::::::::/ /     |
          V    /  }.  イ l\::::::::::::/ /     :|
         rヘ   xヘ    ∨ | |:| \/_/      人
         /_/   '、  _ヽ | |:|   ./   - ─   - 〉
.        /        ヽ/// j/  〈 / -‐   /

10:デフォルトの名無しさん
12/05/03 03:32:52.96
C#に比べると起動が速いだけで他はあまりメリットないな

11:デフォルトの名無しさん
12/05/04 23:55:11.37
>>10
あとEXEのサイズが全然違う
開発環境が入っていればDLLは必要ないけど配布版はライブラリリンクしないと
C#は全てダイナミックリンクだから

12:デフォルトの名無しさん
12/05/05 04:49:10.41
プッ

13:デフォルトの名無しさん
12/05/05 14:36:44.07
>>12
ねえ悔しい?
MSILは64bit環境では64bitにコンパイルされて動くんだよ

14:デフォルトの名無しさん
12/05/05 15:06:57.43
くやしすぎるよぉ

15:デフォルトの名無しさん
12/05/07 12:04:39.83
XE2 から clang の改変版に切り替わったから、XE3 で LLVM コードを出せるようになって問題解決

16:デフォルトの名無しさん
12/05/07 14:32:49.54
Delphi 本体は FPC に切り替わるしな。

17:デフォルトの名無しさん
12/05/07 16:43:23.04
おもしろいですね(棒)

18:デフォルトの名無しさん
12/05/08 09:13:40.03
TServiceを使用してサービスを作ったのですが、
exeをリネームして複数サービスを登録したい場合どうすればよいのでしょうか?

TServiceのNameをファイルなどで動的に変えればインストールは成功したのですが、
肝心のサービスが使用できません。Nameを固定にすると複数のサービスをインストールできません・・・

よろしくお願いいたします。

19:デフォルトの名無しさん
12/05/10 16:05:19.95
XE3出たか?

20:デフォルトの名無しさん
12/05/15 10:20:38.10
さて、まもなくC++Builderも64bit版になりますよぉ~


21:デフォルトの名無しさん
12/05/15 11:19:37.48
>C++Builderも64bit版
10年遅れて、自社技術で対応できなくて...

clang 自分でビルドするのとなにが違う?


22:デフォルトの名無しさん
12/05/15 23:06:25.57
win用で軽くてサイズも小さいcのコンパイラって何がありますか?

23:デフォルトの名無しさん
12/05/16 00:03:23.16
lsisishokuban

24:デフォルトの名無しさん
12/05/16 00:04:33.71
win用という条件がある以上、ない。

25:デフォルトの名無しさん
12/05/16 01:06:24.30
Digital Mars Compiler Version 8.42n
dm852c.zip  3,009KB

LSIC試食版(MS-DOS)
lsic330c.lzh  401KB

Borland C++ 5.5.1 for Win32
freecommandlinetools2.exe  8672KB

26:デフォルトの名無しさん
12/05/17 13:49:19.56
TPopupMenuのMenuItemを動的に作成しているのですが

PopupMenu->Items->Clear( );
for( int i = 0; i < Cnt; i ++ ){
 TMenuItem *mi = new TMenuItem(this);
 mi->Caption = buff[i];
 mi->OnClick = MenuItemClick;
 PopupMenu->Items->Add( mi );
}

毎回Clearして作り直しているのにメニューが最後に表示したCaptionの最大幅になってしまいます
これそのときに作成したCaptionの幅にするにはどうしたらいいですか?

27:デフォルトの名無しさん
12/05/17 16:21:03.00
void __fastcall TForm1::MenuItemClick(TObject *Sender)
{
TControl* control;
TMenuItem* mi = dynamic_cast<TMenuItem*>(Sender);
control = dynamic_cast<TControl*>(FindComponent(Components[mi->Tag]->Name));
control->Enabled = !control->Enabled;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int Cnt = PopupMenu1->Items->Count;
char *buff[] = {"Test1", "Test2", "Test3"};

PopupMenu1->Items->Clear();

for (int i = 0; i < Cnt; i++) {
TMenuItem* mi = new TMenuItem(this);
mi->Caption = buff[i];
mi->OnClick = MenuItemClick;
PopupMenu1->Items->Add(mi);

こんな感じでしょ
ちゃんと切り詰められて表示されるよ
}
}

28:デフォルトの名無しさん
12/05/17 16:35:49.79
>>27
char *buff[] = {"Test1", "Test2", "Test3"};
これ固定になってますが、ここの長さが可変なんですよ
たとえば
char *buff[] = {"Test1ああああああああああああああああああああ", "Test2", "Test3"};
というメニューを作成して次に
char *buff[] = {"Test1", "Test2", "Test3"};
これを作ると最初に作ったメニューの幅になりません?
ちなみにC++Builder2010を使ってます


29:デフォルトの名無しさん
12/05/17 17:58:17.26
>>28
こういう事ですか?Button1を押してからButton2を押すとちゃんと切り詰められます
XE2です
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int Cnt = PopupMenu1->Items->Count;
char *buff[] = {"Test1111111111111111111", "Test2", "Test3"};

PopupMenu1->Items->Clear();

for (int i = 0; i < Cnt; i++) {
TMenuItem* mi = new TMenuItem(this);
mi->Caption = buff[i];
mi->OnClick = MenuItemClick;
PopupMenu1->Items->Add(mi);
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
int Cnt = PopupMenu1->Items->Count;
char *buff[] = {"Test1", "Test2", "Test3"};

PopupMenu1->Items->Clear();

for (int i = 0; i < Cnt; i++) {
TMenuItem* mi = new TMenuItem(this);
mi->Caption = buff[i];
mi->OnClick = MenuItemClick;
PopupMenu1->Items->Add(mi);
}
}

30:デフォルトの名無しさん
12/05/17 18:44:37.23
>>29
ありがとうございます、。
まさにそういうことなのですが・・・
2010が悪いのか自分のコードが悪いのかがわからないので
ちょっとこっちも同じコードで試してみます。


31:デフォルトの名無しさん
12/05/17 18:53:11.52
>>29
まったく同じコードを試してみたした。
やはりダメでした。
まずButton2を押すとメニュー幅は普通
次にButton1を押すと"Test1111111111111111111"の文だけメニューが広がる(これも普通)
次にButton2を押すとButton1で作成されたメニュー幅のままになっています・・・
うーん、2010のバグなのかなあ・・・

32:デフォルトの名無しさん
12/05/17 19:49:43.25
5と2009で試したけどちゃんと切り詰められます

33:デフォルトの名無しさん
12/05/17 20:26:07.04
>>31
アップデート当ててる?

34:26
12/05/18 09:54:57.15
アップデートしてます。
5でも2009でも大丈夫なら2010でも大丈夫なはず・・・
おかしいな>>29と同じコードやってみたのになあ

35:デフォルトの名無しさん
12/05/18 11:48:02.85
2010のQCにPopupMenuのWidthのバグとか出とらん?
もうdepricatedだから自分でソースいじくって直すしかないけど直し方のヒント位は
出てるだろうと思う

36:デフォルトの名無しさん
12/05/18 11:58:23.87
>>35
これどう?メインメニューにサブメニューを追加するんだけどサブメニューも幅がおかしい?

void __fastcall TForm1::Button2Click(TObject *Sender)
{
int Cnt = PopupMenu1->Items->Count;
char *buff[] = {"Test1", "Test2", "Test3"};
char *buff2[] = {"Sub11", "Sub22", "Sub33"};

PopupMenu1->Items->Clear();

for (int i = 0; i < Cnt; i++) {
TMenuItem* mi = new TMenuItem(this);
mi->Caption = buff[i];
// mi->OnClick = MenuItemClick;

PopupMenu1->Items->Add(mi);

// サブメニューを動的に配置する
for (int j = 0; j < 2; j++) {
TMenuItem* ms = new TMenuItem(mi);
ms->Caption = buff2[j];
mi->Add(ms);
}
}
}

37:26
12/05/18 12:08:59.27
こんなしょーもない質問にマジレスしてくれてありがとう

>>36
やってみます


38:26
12/05/18 13:14:36.51
>>36
やってみました。
結果はサブメニューの幅はちゃんと文字列の幅になっていました。

39:デフォルトの名無しさん
12/05/18 13:22:18.65
>>38
という事は一番上のメニューだけのバグか・・・不可解だな

40:26
12/05/18 13:50:20.95
そうですね、一番上のメニューの幅が何故か表示した最大の幅で記憶されている感じです
ちなみに、メニューを表示していたフォームを閉じて再度開いて表示させると
初回表示時みたいに最初だけちゃんと表示されます
そんなわけで、これMenuItemをClearじゃなくて
TPopupMenuごと削除して作り直せばいいかもしれませんが・・・

41:デフォルトの名無しさん
12/05/18 13:54:46.16
TPopupMenuコンポーネントにバグがあるんじゃね

clear()じゃなくてTPopupMenuそのものを初めから動的に配置したらどうですか?

42:26
12/05/18 14:06:46.63
>>41
フォームを開くたびに幅が初期化されているので
TPopupMenuを動的に作成したら多分うまくいくとおいますが・・
とりあえず現状ではそれしか回避策は無いですよね。

皆さん色々ありがとう
今回はTPopupMenuを動的に作って逃げてみます

43:デフォルトの名無しさん
12/05/18 17:45:18.51
いえいえ
お礼は結構ですよ

44:デフォルトの名無しさん
12/05/18 20:02:26.24
>>43
あんた誰?

>>42
URLリンク(pastebin.com)

こんな感じでTListを使って管理するのが普通でしょうね

45:26
12/05/21 10:44:21.93
>>44
マジですか!
ちょっとそれやってみます、ありがとう

46:デフォルトの名無しさん
12/05/22 20:00:42.86
(Image1 はTImageコンポ。)

Image1のStretchをtrueにする。
(Image1のWidthとHeightは200とする)
Image1の大きさよりも大きい画像(400*400のビットマップ)を
Image1->Picture->LoadFromFileで表示させる。

これで表示は出来るんだけど
Image1->Canvas->Pixels[i][j]で縦200横200のドットの色を取得すると
元の400*400の画像の左上から縦200横200の取得になってしまう。

ストレッチされた画像の縦200横200を参照するにはどうしたらいい?
教えてくれ。

わかりにくくてごめんね。

47:デフォルトの名無しさん
12/05/22 22:36:23.31
>>46
TImageの中に保持しているTBitmapはあくまでも元のイメージそのままで、表示の時に
Stretchしているに過ぎない
だからストレッチされた値がどうしても欲しければ他のコントロールにStretchDrawして(非表示でよい)
そこから読み取る必要がある
下のプログラムはちゃんと異なる値を表示する
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Image1->Picture->LoadFromFile("1.bmp");
Image2->Canvas->StretchDraw(Rect(0, 0, 200, 200), Image1->Picture->Graphic);

int x = Random(200), y = Random(200);

TColor tc1 = Image1->Picture->Bitmap->Canvas->Pixels[x][y];
TColor tc2 = Image2->Picture->Bitmap->Canvas->Pixels[x][y];

Label1->Caption = "x = " + IntToHex(tc1, 8);
Label2->Caption = "y = " + IntToHex(tc2, 8);
}

48:デフォルトの名無しさん
12/05/23 09:37:17.52
TToolBarのButtonWidthを変更してもToolButtonの幅が変わらない
どうしたら変わるんですか?
ToolButtonのはチェックにしてます

49:デフォルトの名無しさん
12/05/23 13:54:19.23
>>48
やってみたけど変わるけど
バージョンは何かな

50:デフォルトの名無しさん
12/05/23 15:49:43.74
>>49
あれ?こっちじゃオブジェクトインスペクタで設定しても値がもどっちゃいます
2010です。

51:デフォルトの名無しさん
12/05/23 15:58:14.83
>>49
あー、わかりました。
ShowCaptions=Trueならダメなんですねこれ・・・
キャプションを表示しつつToolButtonの幅は変えられないですかね?

52:デフォルトの名無しさん
12/05/23 16:56:11.78
Captionを表示するとWidthが固定されちゃいますね

53:デフォルトの名無しさん
12/05/23 18:38:12.26
ですよね・・・

54:デフォルトの名無しさん
12/05/23 22:44:42.27
でしょうね・・・

55:デフォルトの名無しさん
12/05/24 21:05:04.39
TDictionaryをC++Builderで使うにはどのように書けばいいのでしょうか
さっぱりコンパイルが通りません

char s;

Memo1->Clear();
dic = new TDictionary__2<unsigned short, char>;
for (w = 0; (unsigned int)w < 0x10000; w++) {
s = char(w);
dic->Add(w, s);
}

56:デフォルトの名無しさん
12/05/24 21:59:42.99
C++で記述された実定義がないので、
template class を新たな型で new することはできません。


57:デフォルトの名無しさん
12/05/24 22:10:16.51
ガ━(;゚Д゚)━ン!!
Delphiを使えという事か・・・・
そう言えばC++ではTDictionaryではなくstd::mapを使えと書いてあったような
ありがとうございました

58:デフォルトの名無しさん
12/05/25 13:33:58.77
std::mapがあまりにも遅いのでstd::hash_mapを使ってみたら2倍ほどになったけど
TDirectoryよりまだまだ遅い・・・・

boost::mapの方が速いのかなあ?

59:デフォルトの名無しさん
12/05/25 14:07:31.08
Builder2007で質問ですが
Form1からForm2を呼ぶときにForm2のFormStyleをfsStayOnTopにしているのに
Form1をクリックするとForm2がForm1の後ろに行っていまいます
Builder5じゃそんな事はなかったのですが
2007辺りから↓
SetApplicationMainFormOnTaskBar(Application, true);
こいつが悪さしてるって以前に聞いたことあるのですが
これはランタイムテーマ有効?のだとおもうんですが
それがONの状態でもfsStayOnTopで背後に行かないようにする方法を教えてください

60:デフォルトの名無しさん
12/05/25 14:41:05.19
>>59
XE2だけどそういう症状は出ないよ

61:デフォルトの名無しさん
12/05/25 14:48:16.55
>>60
5も大丈夫だったので2007だけかもしれません。
とりあえずWMWindowPosChangingメッセージでTOPにして常に最上位に表示するようにしてますが・・・
2007ってバグ多いからなあ

62:デフォルトの名無しさん
12/05/25 15:25:38.56
>>61
Form2ってForm1から動的に生成してる?それともUnit2として後からShow()してる?

63:デフォルトの名無しさん
12/05/25 15:38:04.10
>>62
Form1のコンストラクタで動的に作成してます
んで、Form2を表示させる場合にShowして必要なくなったらHideしてます。
Form2はフリーせずにずっと非表示で存在してます

64:デフォルトの名無しさん
12/05/25 16:07:48.89
>>63
んーモーダルにしてもモードレスにしてもやっぱりForm2はForm1の背後に行かないです

65:デフォルトの名無しさん
12/05/25 16:25:57.52
>>64
ランタイムテーマは有効になってますよね?
やっぱり2007だけのバグかなあ・・

66:デフォルトの名無しさん
12/05/25 16:34:37.92
>>65
XE2ではランタイムテーマはデフォルトで有効です

67:デフォルトの名無しさん
12/05/25 16:37:51.97
>>66
そうですよね、2007もデフォで有効になってますし
色々ありがとうございます。
とりあえずメッセージで回避できるのでそうしておきます・・

68:デフォルトの名無しさん
12/05/25 16:47:22.25
>>66
何かメッセージで処理するのを止めても背後に行かなくなった
んで、色々ためしててちょっとわかったのですが
どうもForm1をアイコン化したらForm2が背後にいっちゃうみたいです

そんなわけで、以下の手順で試してもらっていいですか?
1.Form1を表示してForm2をfsStayOnTopで表示
2.Form1をアイコン化(この時にForm2も消える)
3.Form1を元に戻す(Form2はどこかに行ってしまてtみえなくなる)
4.Form2を再度fsStayOnTopで表示(見た目上はForm1の上に表示される)
5.Form1をクリックしてみる、そうするとForm1の上に表示されているはずのForm2が裏に行ってしまう

69:デフォルトの名無しさん
12/05/25 20:05:38.96
>>68
XE2だとForm1をアイコン化するとForm2も同時にアイコン化するのは同じです
しかしその後Form1を戻すとForm2もちゃんと前面に表示された状態で再表示されました

void __fastcall TForm1::Button1Click(TObject *Sender)
{
Form2 = new TForm2(Application); // 生成
Form2->Show();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Application->Minimize();
}
//---------------------------------------------------------------------------

こんな感じです

70:デフォルトの名無しさん
12/05/25 20:06:39.07
あっちょっと違ってました

アイコン化するのはForm1だけで、Form2は消えてしまいアイコンになりません
しかしタスクバーをクリックするとForm2がForm1の上に重ねられて再表示されます

71:デフォルトの名無しさん
12/05/25 20:48:18.31
FormにTLabelを貼り付けたら
TLabel *Label1;
と宣言挿入されたのですが

実際に、newはどこに書かれているのですか?

72:デフォルトの名無しさん
12/05/25 20:48:59.94
Project1.cpp(デフォルト名)じゃないの?

73:デフォルトの名無しさん
12/05/25 21:24:36.12
今見たらApplication->CreateForm()って専用のメソッド呼び出してますね

74:デフォルトの名無しさん
12/05/25 21:52:36.57
>>73
質問の仕方が悪かったです。申し訳ありません。

Label1 = new TLabel();

というのが、とこに書いてあるのかが知りたいです。

75:デフォルトの名無しさん
12/05/25 22:01:43.60
>>74
それVCLの中に書いてあるんじゃない?
CreateForm()がフォームに貼り付けてあるコンポーネントを全部初期化するんでしょうね

76:デフォルトの名無しさん
12/05/25 22:12:47.64
>>74
IDEによって管理されているから、そういう記述はどこにも書かれていない。
VCL内部でフォームの情報を読んでそれぞれのコンポーネントを生成、初期化している。

77:デフォルトの名無しさん
12/05/25 22:13:31.37
>>69-70
ありがとうございます。
XE2ではちゃんと表示されるのですね・・・
やっぱり2007だけの現象なんですね

78:デフォルトの名無しさん
12/05/29 10:20:37.46
誰かさピクセル関数の使い方教えてくれる人いない?
課題で黒い線の上を車の画像走らせるアプリ作ってるんだけどその車の左右には触覚?みたいなものがついていてその触覚の色を取得したいんだが・・・

79:デフォルトの名無しさん
12/05/29 16:38:22.87
>>78
Pixel()は遅いからScanLine()で一行取得してからそれを調べるのが定石

80:デフォルトの名無しさん
12/05/29 20:32:10.95
学校の課題レベルで問題になるほど、でPixel()が遅い訳ねえじゃん。


81:デフォルトの名無しさん
12/05/29 22:56:23.22
マウスホイールイベントをMESSAGE_HANDLERで捕まえて、処理する関数
 URLリンク(www.gesource.jp)
がBCB6では動いていたんですが、
XE2にしたらイベントを捕まえられなくなりました。

単純に以下のソースをForm1にコピーして、
ホイールを回したら、MessageBoxが出るように改良しているだけです。
なぜでしょうか。理由がわからなくて困っています。
また、その理由に基づいてどうしたらよいですか?
※Win7 32bit

82:デフォルトの名無しさん
12/05/29 22:57:39.22
× 単純に以下のソースをForm1にコピーして、
○ 単純に上のソースをForm1にコピーして、
^^

83:デフォルトの名無しさん
12/05/30 09:41:42.41
^^

84:デフォルトの名無しさん
12/05/30 10:10:48.54
>>81
スレリンク(tech板:173番)
にも書いてあるけど

void __fastcall TForm1::ApplicationEvents1Message(tagMSG &Msg, bool &Handled)
{
if (Msg.message == WM_MOUSEWHEEL) {
Application->MessageBox(L"マウスホイールが回されました。", L"", MB_OK);
}
}

でいいんじゃないの

85:デフォルトの名無しさん
12/05/30 10:19:22.99
とりあえずマウスダウンでピクセル使って色を取得するプログラム作ったんだけどフォームの色しか取得出来ないんだが
イメージ画像とかコンポーネントの色が取得出来ないのは何でだ?

86:デフォルトの名無しさん
12/05/30 10:22:16.06
基本的にCanvasの色しか取得出来ないだろ
それかBitmapか

87:デフォルトの名無しさん
12/05/30 10:30:24.03
いまからはじめても大丈夫?
会社つぶれない?

88:デフォルトの名無しさん
12/05/30 10:42:02.25
つぶれない。でもあと3ヶ月待て。C++BuilderはXE3で本気出す予定()だから。

89:デフォルトの名無しさん
12/05/30 10:48:40.13
>>86
コンポーネントの色を取得出来ないのはしかたがないとしてビットマップ画像の色は取得したい


90:デフォルトの名無しさん
12/05/30 11:29:30.35
カーソル直下に存在するコンポーネントのCanvasでPixels()を使え

91:デフォルトの名無しさん
12/05/30 16:41:41.04
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Image1->Picture->LoadFromFile("1.bmp");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
int x = Random(Image1->Width);
int y = Random(Image1->Height);

Label1->Caption = UnicodeString().IntToHex(Image1->Canvas->Pixels[x][y], 8);
}
//---------------------------------------------------------------------------

こんなのでしょ
今まで何回も出てきてるけど
Button1で画像をロードしてButton2でランダムな点のTColorをゲットする

92:名無しさん@お腹いっぱい
12/05/30 18:30:22.70
裁判所の力

93:デフォルトの名無しさん
12/05/30 20:11:44.34
StringGirdのセルに、IMEで漢字入力したくて、以下のソースをググってつくてみました。
入力セルの内にIMEの変換候補が表示されるプログラムです。
(XE2を使っています)

入力直後だけ変換候補が表示されません。
例:あるセルで、IMEをONにして文字列を打ち込んでいくと、
東京都[スペース] ←この段階では、変換候補が表示されない。
[改行]      ←確定で「東京都」の文字が表示される。
港区[スペース]  ←これ以降の続き入力では、変換候補も表示される。
最初から表示したい。どうすべ?


94:デフォルトの名無しさん
12/05/30 20:12:43.44
void __fastcall TStringGrid1::IMEStart(TMessage& Message)
{
// IMEの位置をキャレットのポジションに設定
COMPOSITIONFORM CompForm;
POINT pt;
LOGFONT lf;
HIMC hImc=ImmGetContext(Handle);

//キャンバスのフォントと同じに設定する
GetObject(this->Canvas->Font->Handle,sizeof(LOGFONT),&lf);
ImmSetCompositionFont(hImc,&lf);

//キャレットのポジションに設定する
ImmGetCompositionWindow(hImc,&CompForm);
CompForm.dwStyle=CFS_POINT;
GetCaretPos(&pt);
pt.x = this->CellRect(this->Col, this->Row).left+2;
pt.y = this->CellRect(this->Col, this->Row).top+2;

CompForm.ptCurrentPos=pt;
ImmSetCompositionWindow(hImc,&CompForm);
ImmReleaseContext(Handle, hImc);

//編集モード用カーソルの表示
this->Options << goEditing; //編集モードをON
this->EditorMode = true; //選択セルのカーソルを表示。これがないと、かな漢字変換の初期段階で選択枠が表示されたままになる。
}

95:デフォルトの名無しさん
12/05/31 10:50:26.77
StringGirdが持つ、TInplaceEditのIME設定(SetImeCompositionWindow)を
以下のように変更しようとしていますが、
SetImeCompositionWindowがprotectメンバのためアクセスできません。
どう解決したらよいですか?

StringGirdのメンバー関数内での記述:
TInplaceEdit* editor= dynamic_cast<TInplaceEdit*>(this->Components[0]);
editor->SetImeCompositionWindow(this->Canvas->Font, 100, 50);


96:デフォルトの名無しさん
12/05/31 11:39:32.71
>>93
IME何使ってるの?
GoogleIMEだとちゃんと表示されるけど

97:デフォルトの名無しさん
12/05/31 11:47:50.87
ちなみにMSIME2010でやってもちゃんと表示されました

98:デフォルトの名無しさん
12/05/31 11:50:12.26
MSIME2010 です。

99:デフォルトの名無しさん
12/05/31 11:53:24.40
同じIMEですねえ
ちゃんと変換候補も出ます
ちなみに>>94みたいな事はしていません

100:デフォルトの名無しさん
12/05/31 12:04:12.49
もしかと思い、OS変えて調べてみました。
手元にある、Win7では×ですが、XPでは○でした。
OSなんですか?

101:デフォルトの名無しさん
12/05/31 12:04:35.43
XPですね
OSの問題かな?

102:デフォルトの名無しさん
12/05/31 12:15:13.46
WOW64のバグかはたまたIMEの64bit版のバグか

103:デフォルトの名無しさん
12/05/31 12:21:44.69
>>94で書いたような、IME位置の移動処理をしなくても、

 this->Options << goEditing; //編集モードをON
 this->EditorMode = true; //選択セルのカーソルを表示。

として、編集モードにさえすれば、その場所に変換文字が表示されるんですね。
XP限定ですが。

win7だと、>>95で書いた方法でIMEを移動できても、無理かもしれませんね。

104:デフォルトの名無しさん
12/05/31 12:28:52.96
WOW64の非互換の問題でしょう
こればかりは仕方がない
MSに文句付け方が早い

105:デフォルトの名無しさん
12/05/31 12:36:04.75
私が使ているのは、Win7-32bitなんですが、
WOW64は、32bitOSでも関係あるものでしょうか?

106:片山博文MZボット ◆0lBZNi.Q7evd
12/05/31 12:38:45.44
>>105 ない。

107:デフォルトの名無しさん
12/05/31 12:53:05.99
なんだ、じゃWin7-32bitのバグじゃないか

108:デフォルトの名無しさん
12/06/04 15:15:22.38
画像を一度ずつ回転させたく調べたところ
x1=(x2-cx)*cos(θ)-(y2-cy)*sin(θ)+cx
y1=(x2-cx)*sin(θ)+(y2-cx)*cos(θ)+cy
URLリンク(homepage2.nifty.com)
(このサイトを参照)

このような式が出てきました
この式の左辺をどこに代入すればよいのか全くわかりません
どなたかご教授よろしく

109:デフォルトの名無しさん
12/06/04 19:15:32.73
プログラミングの前に、高校数学をやり直したほうがいいぞ

110:デフォルトの名無しさん
12/06/05 13:17:22.21
>>108
URLリンク(pastebin.com)

こんな感じでちゃんと動いたが

111:デフォルトの名無しさん
12/06/05 23:07:17.39
C++Builderユーザー各位

いつもお世話になっております。エンバカデロ 営業の深町です。本日は、先週
発表致しましたC++Builder次期バージョンへのパスについて、改めてご案内致し
ます。今回の発表は、C++BuilderがiOSやAndroidを含むモバイルプラットフォー
ムにも拡張されるという大きな一歩を表明しています。

これに対し、現在のC++Builderから将来バージョンまでを入手いただけるパスと
して、「Future Ticket」版の提供開始を発表させていただきました。すでに、
多くのお客様から反響をいただいております。

6月29日までにサポートと併せてご購入いただくことで、C++Builder XE2を20% OFF
でさらに次期バージョンへのプライオリティプレビューアクセスと、今後1年間に
提供される新バージョンを入手することができます。64-bitサポートをはじめ、
C++Builderの今後のバージョンへ円滑に移行するには、現在最新バージョンから
の作業が重要です。ぜひ、この機会をご活用いただき、今後1年間にわたって最新
環境をご用意いただければと存じます。

「Future Ticket」版 詳細ページはこちらになります。
 ⇒ URLリンク(www.embarcadero.com)


112:デフォルトの名無しさん
12/06/06 00:13:16.43
今時、超優秀なコンパイラがフリーで手に入る時代に、超強気な価格ですねw

113:デフォルトの名無しさん
12/06/06 15:04:09.16
Builder2010ですがProgressBarでStepBy( 1 )してるのですが
ProgressBarの進みが遅く、処理が終了しても70%くらいまでしか進んでいません。
これ以前のようにちゃんと現在位置を表示させる方法を教えてください


114:デフォルトの名無しさん
12/06/06 17:05:47.07
Maxの計算が間違っているんじゃないの?

115:デフォルトの名無しさん
12/06/06 17:07:53.60
>>113
Application->ProcessMessages()でも挟んでみたら?

116:デフォルトの名無しさん
12/06/06 17:24:08.87
>>114
間違ってないです。
>>115
いや、挟んでる。

非常に単純です。
ProgressBar->Min = 0;
ProgressBar->Max= 100;
ProgressBar->Step = 1;
ProgressBar->Position = 0;
for( int i = 0; i < 100; i ++ ){
 ProgressBar->StepBy( 1 );
 Application->ProcessMessages( );
}
ProgressBar->Position = 0;
回す回数にもよりますがこれでバーが7割くらいのとこで0になってしまします。
ちなみに最後のProgressBar->Position = 0;を取ると
処理が終わってやや暫くしてからバーがMAXになります。。
そんなわけで、ProgressBar自体が遅延処理を行ってるみたいなので。
同じコードをBuilder5でやるとちゃんと最後まで表示されます。
これまた例によって2010だけのバグかもしれませんが。

117:デフォルトの名無しさん
12/06/06 17:33:54.85
>>116
ProgressBar->Min = 0;
ProgressBar->Max= 100;
ProgressBar->Step = 1;
ProgressBar->Position = 0;
for( int i = 0; i < 100; i ++ ){
 ProgressBar->StepBy( 1 );
 Application->ProcessMessages( );
}
ProgressBar->Position = 0;
Application->ProcessMessages( );

最後に Application->ProcessMessages( );
重い処理をした後あとだと処理が終わってもCGIが再描画されないときもあった気がする。

118:デフォルトの名無しさん
12/06/06 17:45:07.42
また2010のバグかよ(-_-;)

XE2でやるとうまく行くが
次のようなコードはどう?

__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
ProgressBar1->Min = 0;
ProgressBar1->Max= 100;
ProgressBar1->Step = 1;
ProgressBar1->Position = 0;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
ProgressBar1->StepBy(1);
}
//---------------------------------------------------------------------------

119:デフォルトの名無しさん
12/06/06 17:51:58.01
>>117
それやってみましたがダメでした
>>118
すんません、コードの性質上タイマーでアレするのはちょっとやりにくいのです。

ProgressBarが内部で遅延描画をしてるのは疑いないのですが
それをプロパティ等で設定できないものかとおもいまして
ちなみにSmooth = falseにしても、バーが滑らかなアレのままで断片表示になってくれません。
完全にProgressBarのバグですが、ちゃんと描画させる方法はないですかね?
更にちなみに、UpdateやInvalidateなどをやってもダメでした・・・

120:デフォルトの名無しさん
12/06/06 17:55:42.61
>>119
そうじゃなくて>>118ならちゃんと表示されるか聞きたい
だめならSleep()でもいいからさ

121:デフォルトの名無しさん
12/06/06 18:21:45.69
これでも表示がおかしいかい?

void __fastcall TForm1::Button1Click(TObject *Sender)
{
ProgressBar1->Position = 0;

for (int i = 0; i < ProgressBar1->Max; i++) {
Sleep(100);
Step();
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Step()
{
ProgressBar1->StepBy(1);
}

122:デフォルトの名無しさん
12/06/06 18:59:01.97
>>120
あー、なるほど。
確かにそうですよね、やってみます。
>>121
それもやってみましたがダメでした

123:デフォルトの名無しさん
12/06/07 18:26:38.63
BCB6をXPで使用しています。
メインファームである処理をしている時にフォームを掴むとその処理が停止してしまいますが、
これを回避する方法はありますか?
離せばまた元通り動き出すので、今は「掴むな!!」という事にしています。

124:デフォルトの名無しさん
12/06/07 18:52:02.41
別スレッドで処理を行わせるくらいしか回避方法はない。

125:デフォルトの名無しさん
12/06/07 21:06:21.52
Focus当てられないようにするとか

126:デフォルトの名無しさん
12/06/07 21:52:25.64
FormのEnabledプロパティをfalseにするとフォーカスが当てられなくなるな

しかもオーナードローでなければボタンは反応するので途中で計算を止めたい時も行ける

127:123
12/06/07 22:59:14.92
アドバイス有り難うございます。

FormのEnabledをflaseにして見ましたが、そもそも移動したい時にも移動できなくなるので
ちょっと難しいそうです。
別スレッドでという方法を試して見ます。

スレッドは使った事が無いので基本的な事を教えて下さい。

「異なるスレッドが保有するVCLにアクセスする時に排他制御の問題があるので、
Synchronizeメゾッドを使用して同期しろ」と書かれていますが、
例えばメインフォームのLabel1にアクセスするコードが新しく生成したスレッドの中にしか無い場合には、
排他制御の問題はそもそも無いのでSynchronizeメゾッドは使用する必要がないという理解で良いでしょうか?



128:デフォルトの名無しさん
12/06/07 23:15:27.11
移動は出来るけど処理は止めたくないのかあ

SynchronizeメソッドはVCLがマルチスレッドに対応してないので
Label1を新しく生成したスレッドからしかいじらないとしても調べる必要がある

129:123
12/06/07 23:31:32.58
>>128

「調べる必要がある」とはどういう意味でしょうか?


Synchronizeメソッドの説明を読むと、
一度メインフォームに処理を戻してVCLの更新を実行するという事が書かれています。
でもフォームが掴まれている状態でSynchronizeメソッドを呼ぶとそこで止まってしまうのではないかと・・・?
結局止まってしまうのではないかと。


130:123
12/06/07 23:45:49.94
>>Synchronizeメソッドを呼ぶとそこで止まってしまうのではないかと・・・?

実験してみたら上記は問題ありませんでした。

131:デフォルトの名無しさん
12/06/08 00:57:57.67
スレッド別なんだから止まるわけないじゃん
それよりメインフォームでVCLをいじってるとSynchronize()の結果が変わる
その時にいじると競合が発生して不審な挙動になる

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

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

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

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


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


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




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

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

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

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

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

ここを参考にXPモードでBCCをインストールし直す

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

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

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

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

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

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


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

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

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


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

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


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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

UINT WM_TASKBERCREATED = RegisterWindowMessage( "TaskbarCreated" );

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

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

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

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

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


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

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

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

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

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


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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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


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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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


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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

URLリンク(homepage2.nifty.com)

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

Windows Vistae以降ならDirect2Dを使って

URLリンク(code.msdn.microsoft.com)

とやれば処理の大部分をGPUに放り投げられるんだけどなあ

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

>>278
VertScrollBar.Visibleじゃだめ?

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

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

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

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

284:デフォルトの名無しさん
12/07/31 17:23:14.32
C++Builder2010でマウスカーソルをリソースマネージャに追加したのですが
これどうやってScreen->Cursorsにぶち込むのですか?


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

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

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

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

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


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

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

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


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

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

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

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

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


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

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

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

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

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

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

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

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


302:デフォルトの名無しさん
12/08/10 14:49:40.63
それ>>294のまんまじゃん…

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

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

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

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

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

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


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

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

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

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

URLリンク(docwiki.embarcadero.com)


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

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

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

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

まず俺

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

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

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

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

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

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

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


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

何がいけないんだろ


321:片山博文MZボット ◆0lBZNi.Q7evd
12/10/05 12:41:44.65
using namespace std;
または
std::vector<int> abc;

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

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

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

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

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

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

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

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

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

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

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

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


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

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

330:デフォルトの名無しさん
13/01/16 20:28:37.06
具体的なアドバイスはできないけど、アプリケーションが32bitならODBCの設定もMySQLの
ライブラリも32bitのものを使うことになる。特にODBCの設定は64bitと32bitで別々なので要注意。
多分ODBCの設定で64bitのほうを見て
> MySQLが出現せずに選択できませんでした
っていってるだけなような気がするけど…。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

351:349
13/02/22 00:48:14.88
>>350

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

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

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

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

などかな

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

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

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

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

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

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

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

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

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


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

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

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

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

365:デフォルトの名無しさん
13/07/01 NY:AN:NY.AN
俺も>>362と同じく2010からXE4にした者なんだけど
Releaseでコンパイルする方法がわからない・・・
以前は構成マネージャでdebugとreleaseを切り替えてたのに無くなってるので
これ何処で設定するの??

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#define DIBBUFFERSIZE (1920*2048*4)
DWORD *Dib1;
DWORD *Dib2;
Dib1 = (DWORD *)::VirtualAlloc( NULL, DIBBUFFERSIZE, MEM_COMMIT, PAGE_READWRITE );
Dib2 = (DWORD *)::VirtualAlloc( NULL, DIBBUFFERSIZE, MEM_COMMIT, PAGE_READWRITE );
int ms = ::GetTickCount( );
for( int i = 0; i < 100; i ++ ){
 ::CopyMemory( Dib1, Dib2, DIBBUFFERSIZE );
}
ms = ::GetTickCount( ) - ms;
Panel1->Caption = ms;
:: VirtualFree( Dib1, DIBBUFFERSIZE, MEM_DECOMMIT );
:: VirtualFree( Dib2, DIBBUFFERSIZE, MEM_DECOMMIT );

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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