くだすれC++Builder(超初心者用)その5

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん2012/04/21(土) 13:26:14.76
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
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/
0002デフォルトの名無しさん2012/04/21(土) 13:28:16.69
では質問をどうぞ。
0003デフォルトの名無しさん2012/04/21(土) 18:15:39.43
OPENARRAYマクロ使いにくいな

カッコを二重にしないといけない
0004デフォルトの名無しさん2012/04/22(日) 20:02:39.17
ネイティブアプリ作成では一番使いやすいと思うが、なぜにこんなにマイナーなの?

VC++のほうが人気がある理由がわからん
0005デフォルトの名無しさん2012/04/23(月) 00:34:22.12
VCのほうがつかいやすくね?

MFCはソース見れば大体わかるからな
パスカレなんて嘔吐
0006デフォルトの名無しさん2012/04/23(月) 01:07:14.49
>>4
VCLの設計が古いからだよ
FMも怪しいし

C#のためにヘジタンをM$に引きぬかれてからちっとも進歩してない
0007デフォルトの名無しさん2012/04/23(月) 10:26:00.01
XE3出たか?
0008デフォルトの名無しさん2012/04/25(水) 17:57:32.48
<関連スレ>
[Tips]Borland C++Builder ちょいテク No.01
http://toro.2ch.net/test/read.cgi/tech/1154580209/

Embarcadero RAD Studio/Delphi/C++Builder その2 ←New!
http://toro.2ch.net/test/read.cgi/tech/1335177837/
0009デフォルトの名無しさん2012/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/  〈 / -‐   /
0010デフォルトの名無しさん2012/05/03(木) 03:32:52.96
C#に比べると起動が速いだけで他はあまりメリットないな
0011デフォルトの名無しさん2012/05/04(金) 23:55:11.37
>>10
あとEXEのサイズが全然違う
開発環境が入っていればDLLは必要ないけど配布版はライブラリリンクしないと
C#は全てダイナミックリンクだから
0012デフォルトの名無しさん2012/05/05(土) 04:49:10.41
プッ
0013デフォルトの名無しさん2012/05/05(土) 14:36:44.07
>>12
ねえ悔しい?
MSILは64bit環境では64bitにコンパイルされて動くんだよ
0014デフォルトの名無しさん2012/05/05(土) 15:06:57.43
くやしすぎるよぉ
0015デフォルトの名無しさん2012/05/07(月) 12:04:39.83
XE2 から clang の改変版に切り替わったから、XE3 で LLVM コードを出せるようになって問題解決
0016デフォルトの名無しさん2012/05/07(月) 14:32:49.54
Delphi 本体は FPC に切り替わるしな。
0017デフォルトの名無しさん2012/05/07(月) 16:43:23.04
おもしろいですね(棒)
0018デフォルトの名無しさん2012/05/08(火) 09:13:40.03
TServiceを使用してサービスを作ったのですが、
exeをリネームして複数サービスを登録したい場合どうすればよいのでしょうか?

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

よろしくお願いいたします。
0019デフォルトの名無しさん2012/05/10(木) 16:05:19.95
XE3出たか?
0020デフォルトの名無しさん2012/05/15(火) 10:20:38.10
さて、まもなくC++Builderも64bit版になりますよぉ〜
0021デフォルトの名無しさん2012/05/15(火) 11:19:37.48
>C++Builderも64bit版
10年遅れて、自社技術で対応できなくて...

clang 自分でビルドするのとなにが違う?
0022デフォルトの名無しさん2012/05/15(火) 23:06:25.57
win用で軽くてサイズも小さいcのコンパイラって何がありますか?
0023デフォルトの名無しさん2012/05/16(水) 00:03:23.16
lsisishokuban
0024デフォルトの名無しさん2012/05/16(水) 00:04:33.71
win用という条件がある以上、ない。
0025デフォルトの名無しさん2012/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
0026デフォルトの名無しさん2012/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の幅にするにはどうしたらいいですか?
0027デフォルトの名無しさん2012/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);

こんな感じでしょ
ちゃんと切り詰められて表示されるよ
}
}
0028デフォルトの名無しさん2012/05/17(木) 16:35:49.79
>>27
char *buff[] = {"Test1", "Test2", "Test3"};
これ固定になってますが、ここの長さが可変なんですよ
たとえば
char *buff[] = {"Test1ああああああああああああああああああああ", "Test2", "Test3"};
というメニューを作成して次に
char *buff[] = {"Test1", "Test2", "Test3"};
これを作ると最初に作ったメニューの幅になりません?
ちなみにC++Builder2010を使ってます
0029デフォルトの名無しさん2012/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);
}
}
0030デフォルトの名無しさん2012/05/17(木) 18:44:37.23
>>29
ありがとうございます、。
まさにそういうことなのですが・・・
2010が悪いのか自分のコードが悪いのかがわからないので
ちょっとこっちも同じコードで試してみます。
0031デフォルトの名無しさん2012/05/17(木) 18:53:11.52
>>29
まったく同じコードを試してみたした。
やはりダメでした。
まずButton2を押すとメニュー幅は普通
次にButton1を押すと"Test1111111111111111111"の文だけメニューが広がる(これも普通)
次にButton2を押すとButton1で作成されたメニュー幅のままになっています・・・
うーん、2010のバグなのかなあ・・・
0032デフォルトの名無しさん2012/05/17(木) 19:49:43.25
5と2009で試したけどちゃんと切り詰められます
0033デフォルトの名無しさん2012/05/17(木) 20:26:07.04
>>31
アップデート当ててる?
0034262012/05/18(金) 09:54:57.15
アップデートしてます。
5でも2009でも大丈夫なら2010でも大丈夫なはず・・・
おかしいな>>29と同じコードやってみたのになあ
0035デフォルトの名無しさん2012/05/18(金) 11:48:02.85
2010のQCにPopupMenuのWidthのバグとか出とらん?
もうdepricatedだから自分でソースいじくって直すしかないけど直し方のヒント位は
出てるだろうと思う
0036デフォルトの名無しさん2012/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);
}
}
}
0037262012/05/18(金) 12:08:59.27
こんなしょーもない質問にマジレスしてくれてありがとう

>>36
やってみます
0038262012/05/18(金) 13:14:36.51
>>36
やってみました。
結果はサブメニューの幅はちゃんと文字列の幅になっていました。
0039デフォルトの名無しさん2012/05/18(金) 13:22:18.65
>>38
という事は一番上のメニューだけのバグか・・・不可解だな
0040262012/05/18(金) 13:50:20.95
そうですね、一番上のメニューの幅が何故か表示した最大の幅で記憶されている感じです
ちなみに、メニューを表示していたフォームを閉じて再度開いて表示させると
初回表示時みたいに最初だけちゃんと表示されます
そんなわけで、これMenuItemをClearじゃなくて
TPopupMenuごと削除して作り直せばいいかもしれませんが・・・
0041デフォルトの名無しさん2012/05/18(金) 13:54:46.16
TPopupMenuコンポーネントにバグがあるんじゃね

clear()じゃなくてTPopupMenuそのものを初めから動的に配置したらどうですか?
0042262012/05/18(金) 14:06:46.63
>>41
フォームを開くたびに幅が初期化されているので
TPopupMenuを動的に作成したら多分うまくいくとおいますが・・
とりあえず現状ではそれしか回避策は無いですよね。

皆さん色々ありがとう
今回はTPopupMenuを動的に作って逃げてみます
0043デフォルトの名無しさん2012/05/18(金) 17:45:18.51
いえいえ
お礼は結構ですよ
0044デフォルトの名無しさん2012/05/18(金) 20:02:26.24
>>43
あんた誰?

>>42
http://pastebin.com/X7E3s6pC

こんな感じでTListを使って管理するのが普通でしょうね
0045262012/05/21(月) 10:44:21.93
>>44
マジですか!
ちょっとそれやってみます、ありがとう
0046デフォルトの名無しさん2012/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を参照するにはどうしたらいい?
教えてくれ。

わかりにくくてごめんね。
0047デフォルトの名無しさん2012/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);
}
0048デフォルトの名無しさん2012/05/23(水) 09:37:17.52
TToolBarのButtonWidthを変更してもToolButtonの幅が変わらない
どうしたら変わるんですか?
ToolButtonのはチェックにしてます
0049デフォルトの名無しさん2012/05/23(水) 13:54:19.23
>>48
やってみたけど変わるけど
バージョンは何かな
0050デフォルトの名無しさん2012/05/23(水) 15:49:43.74
>>49
あれ?こっちじゃオブジェクトインスペクタで設定しても値がもどっちゃいます
2010です。
0051デフォルトの名無しさん2012/05/23(水) 15:58:14.83
>>49
あー、わかりました。
ShowCaptions=Trueならダメなんですねこれ・・・
キャプションを表示しつつToolButtonの幅は変えられないですかね?
0052デフォルトの名無しさん2012/05/23(水) 16:56:11.78
Captionを表示するとWidthが固定されちゃいますね
0053デフォルトの名無しさん2012/05/23(水) 18:38:12.26
ですよね・・・
0054デフォルトの名無しさん2012/05/23(水) 22:44:42.27
でしょうね・・・
0055デフォルトの名無しさん2012/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);
}
0056デフォルトの名無しさん2012/05/24(木) 21:59:42.99
C++で記述された実定義がないので、
template class を新たな型で new することはできません。
0057デフォルトの名無しさん2012/05/24(木) 22:10:16.51
ガ━━(;゚Д゚)━━ン!!
Delphiを使えという事か・・・・
そう言えばC++ではTDictionaryではなくstd::mapを使えと書いてあったような
ありがとうございました
0058デフォルトの名無しさん2012/05/25(金) 13:33:58.77
std::mapがあまりにも遅いのでstd::hash_mapを使ってみたら2倍ほどになったけど
TDirectoryよりまだまだ遅い・・・・

boost::mapの方が速いのかなあ?
0059デフォルトの名無しさん2012/05/25(金) 14:07:31.08
Builder2007で質問ですが
Form1からForm2を呼ぶときにForm2のFormStyleをfsStayOnTopにしているのに
Form1をクリックするとForm2がForm1の後ろに行っていまいます
Builder5じゃそんな事はなかったのですが
2007辺りから↓
SetApplicationMainFormOnTaskBar(Application, true);
こいつが悪さしてるって以前に聞いたことあるのですが
これはランタイムテーマ有効?のだとおもうんですが
それがONの状態でもfsStayOnTopで背後に行かないようにする方法を教えてください
0060デフォルトの名無しさん2012/05/25(金) 14:41:05.19
>>59
XE2だけどそういう症状は出ないよ
0061デフォルトの名無しさん2012/05/25(金) 14:48:16.55
>>60
5も大丈夫だったので2007だけかもしれません。
とりあえずWMWindowPosChangingメッセージでTOPにして常に最上位に表示するようにしてますが・・・
2007ってバグ多いからなあ
0062デフォルトの名無しさん2012/05/25(金) 15:25:38.56
>>61
Form2ってForm1から動的に生成してる?それともUnit2として後からShow()してる?
0063デフォルトの名無しさん2012/05/25(金) 15:38:04.10
>>62
Form1のコンストラクタで動的に作成してます
んで、Form2を表示させる場合にShowして必要なくなったらHideしてます。
Form2はフリーせずにずっと非表示で存在してます
0064デフォルトの名無しさん2012/05/25(金) 16:07:48.89
>>63
んーモーダルにしてもモードレスにしてもやっぱりForm2はForm1の背後に行かないです
0065デフォルトの名無しさん2012/05/25(金) 16:25:57.52
>>64
ランタイムテーマは有効になってますよね?
やっぱり2007だけのバグかなあ・・
0066デフォルトの名無しさん2012/05/25(金) 16:34:37.92
>>65
XE2ではランタイムテーマはデフォルトで有効です
0067デフォルトの名無しさん2012/05/25(金) 16:37:51.97
>>66
そうですよね、2007もデフォで有効になってますし
色々ありがとうございます。
とりあえずメッセージで回避できるのでそうしておきます・・
0068デフォルトの名無しさん2012/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が裏に行ってしまう
0069デフォルトの名無しさん2012/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();
}
//---------------------------------------------------------------------------

こんな感じです
0070デフォルトの名無しさん2012/05/25(金) 20:06:39.07
あっちょっと違ってました

アイコン化するのはForm1だけで、Form2は消えてしまいアイコンになりません
しかしタスクバーをクリックするとForm2がForm1の上に重ねられて再表示されます
0071デフォルトの名無しさん2012/05/25(金) 20:48:18.31
FormにTLabelを貼り付けたら
TLabel *Label1;
と宣言挿入されたのですが

実際に、newはどこに書かれているのですか?
0072デフォルトの名無しさん2012/05/25(金) 20:48:59.94
Project1.cpp(デフォルト名)じゃないの?
0073デフォルトの名無しさん2012/05/25(金) 21:24:36.12
今見たらApplication->CreateForm()って専用のメソッド呼び出してますね
0074デフォルトの名無しさん2012/05/25(金) 21:52:36.57
>>73
質問の仕方が悪かったです。申し訳ありません。

Label1 = new TLabel();

というのが、とこに書いてあるのかが知りたいです。
0075デフォルトの名無しさん2012/05/25(金) 22:01:43.60
>>74
それVCLの中に書いてあるんじゃない?
CreateForm()がフォームに貼り付けてあるコンポーネントを全部初期化するんでしょうね
0076デフォルトの名無しさん2012/05/25(金) 22:12:47.64
>>74
IDEによって管理されているから、そういう記述はどこにも書かれていない。
VCL内部でフォームの情報を読んでそれぞれのコンポーネントを生成、初期化している。
0077デフォルトの名無しさん2012/05/25(金) 22:13:31.37
>>69-70
ありがとうございます。
XE2ではちゃんと表示されるのですね・・・
やっぱり2007だけの現象なんですね
0078デフォルトの名無しさん2012/05/29(火) 10:20:37.46
誰かさピクセル関数の使い方教えてくれる人いない?
課題で黒い線の上を車の画像走らせるアプリ作ってるんだけどその車の左右には触覚?みたいなものがついていてその触覚の色を取得したいんだが・・・
0079デフォルトの名無しさん2012/05/29(火) 16:38:22.87
>>78
Pixel()は遅いからScanLine()で一行取得してからそれを調べるのが定石
0080デフォルトの名無しさん2012/05/29(火) 20:32:10.95
学校の課題レベルで問題になるほど、でPixel()が遅い訳ねえじゃん。
0081デフォルトの名無しさん2012/05/29(火) 22:56:23.22
マウスホイールイベントをMESSAGE_HANDLERで捕まえて、処理する関数
 ttp://www.gesource.jp/programming/bcb/43.html
がBCB6では動いていたんですが、
XE2にしたらイベントを捕まえられなくなりました。

単純に以下のソースをForm1にコピーして、
ホイールを回したら、MessageBoxが出るように改良しているだけです。
なぜでしょうか。理由がわからなくて困っています。
また、その理由に基づいてどうしたらよいですか?
※Win7 32bit
0082デフォルトの名無しさん2012/05/29(火) 22:57:39.22
× 単純に以下のソースをForm1にコピーして、
○ 単純に上のソースをForm1にコピーして、
^^
0083デフォルトの名無しさん2012/05/30(水) 09:41:42.41
^^
0084デフォルトの名無しさん2012/05/30(水) 10:10:48.54
>>81
http://toro.2ch.net/test/read.cgi/tech/1335177837/173
にも書いてあるけど

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

でいいんじゃないの
0085デフォルトの名無しさん2012/05/30(水) 10:19:22.99
とりあえずマウスダウンでピクセル使って色を取得するプログラム作ったんだけどフォームの色しか取得出来ないんだが
イメージ画像とかコンポーネントの色が取得出来ないのは何でだ?
0086デフォルトの名無しさん2012/05/30(水) 10:22:16.06
基本的にCanvasの色しか取得出来ないだろ
それかBitmapか
0087デフォルトの名無しさん2012/05/30(水) 10:30:24.03
いまからはじめても大丈夫?
会社つぶれない?
0088デフォルトの名無しさん2012/05/30(水) 10:42:02.25
つぶれない。でもあと3ヶ月待て。C++BuilderはXE3で本気出す予定()だから。
0089デフォルトの名無しさん2012/05/30(水) 10:48:40.13
>>86
コンポーネントの色を取得出来ないのはしかたがないとしてビットマップ画像の色は取得したい
0090デフォルトの名無しさん2012/05/30(水) 11:29:30.35
カーソル直下に存在するコンポーネントのCanvasでPixels()を使え
0091デフォルトの名無しさん2012/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をゲットする
0092名無しさん@お腹いっぱい2012/05/30(水) 18:30:22.70
裁判所の力
0093デフォルトの名無しさん2012/05/30(水) 20:11:44.34
StringGirdのセルに、IMEで漢字入力したくて、以下のソースをググってつくてみました。
入力セルの内にIMEの変換候補が表示されるプログラムです。
(XE2を使っています)

入力直後だけ変換候補が表示されません。
例:あるセルで、IMEをONにして文字列を打ち込んでいくと、
東京都[スペース] ←この段階では、変換候補が表示されない。
[改行]      ←確定で「東京都」の文字が表示される。
港区[スペース]  ←これ以降の続き入力では、変換候補も表示される。
最初から表示したい。どうすべ?
0094デフォルトの名無しさん2012/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; //選択セルのカーソルを表示。これがないと、かな漢字変換の初期段階で選択枠が表示されたままになる。
}
0095デフォルトの名無しさん2012/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);
0096デフォルトの名無しさん2012/05/31(木) 11:39:32.71
>>93
IME何使ってるの?
GoogleIMEだとちゃんと表示されるけど
0097デフォルトの名無しさん2012/05/31(木) 11:47:50.87
ちなみにMSIME2010でやってもちゃんと表示されました
0098デフォルトの名無しさん2012/05/31(木) 11:50:12.26
MSIME2010 です。
0099デフォルトの名無しさん2012/05/31(木) 11:53:24.40
同じIMEですねえ
ちゃんと変換候補も出ます
ちなみに>>94みたいな事はしていません
0100デフォルトの名無しさん2012/05/31(木) 12:04:12.49
もしかと思い、OS変えて調べてみました。
手元にある、Win7では×ですが、XPでは○でした。
OSなんですか?
0101デフォルトの名無しさん2012/05/31(木) 12:04:35.43
XPですね
OSの問題かな?
0102デフォルトの名無しさん2012/05/31(木) 12:15:13.46
WOW64のバグかはたまたIMEの64bit版のバグか
0103デフォルトの名無しさん2012/05/31(木) 12:21:44.69
>>94で書いたような、IME位置の移動処理をしなくても、

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

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

win7だと、>>95で書いた方法でIMEを移動できても、無理かもしれませんね。
0104デフォルトの名無しさん2012/05/31(木) 12:28:52.96
WOW64の非互換の問題でしょう
こればかりは仕方がない
MSに文句付け方が早い
0105デフォルトの名無しさん2012/05/31(木) 12:36:04.75
私が使ているのは、Win7-32bitなんですが、
WOW64は、32bitOSでも関係あるものでしょうか?
0106片山博文MZボット ◆0lBZNi.Q7evd 2012/05/31(木) 12:38:45.44
>>105 ない。
0107デフォルトの名無しさん2012/05/31(木) 12:53:05.99
なんだ、じゃWin7-32bitのバグじゃないか
0108デフォルトの名無しさん2012/06/04(月) 15:15:22.38
画像を一度ずつ回転させたく調べたところ
x1=(x2-cx)*cos(θ)-(y2-cy)*sin(θ)+cx
y1=(x2-cx)*sin(θ)+(y2-cx)*cos(θ)+cy
http://homepage2.nifty.com/tsugu/sotuken/rotation/#basic
(このサイトを参照)

このような式が出てきました
この式の左辺をどこに代入すればよいのか全くわかりません
どなたかご教授よろしく
0109デフォルトの名無しさん2012/06/04(月) 19:15:32.73
プログラミングの前に、高校数学をやり直したほうがいいぞ
0110デフォルトの名無しさん2012/06/05(火) 13:17:22.21
>>108
http://pastebin.com/R9DNtmZZ

こんな感じでちゃんと動いたが
0111デフォルトの名無しさん2012/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」版 詳細ページはこちらになります。
 ⇒ http://www.embarcadero.com/jp/landing-pages/cbuilder-bundle
0112デフォルトの名無しさん2012/06/06(水) 00:13:16.43
今時、超優秀なコンパイラがフリーで手に入る時代に、超強気な価格ですねw
0113デフォルトの名無しさん2012/06/06(水) 15:04:09.16
Builder2010ですがProgressBarでStepBy( 1 )してるのですが
ProgressBarの進みが遅く、処理が終了しても70%くらいまでしか進んでいません。
これ以前のようにちゃんと現在位置を表示させる方法を教えてください
0114デフォルトの名無しさん2012/06/06(水) 17:05:47.07
Maxの計算が間違っているんじゃないの?
0115デフォルトの名無しさん2012/06/06(水) 17:07:53.60
>>113
Application->ProcessMessages()でも挟んでみたら?
0116デフォルトの名無しさん2012/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だけのバグかもしれませんが。
0117デフォルトの名無しさん2012/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が再描画されないときもあった気がする。
0118デフォルトの名無しさん2012/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);
}
//---------------------------------------------------------------------------
0119デフォルトの名無しさん2012/06/06(水) 17:51:58.01
>>117
それやってみましたがダメでした
>>118
すんません、コードの性質上タイマーでアレするのはちょっとやりにくいのです。

ProgressBarが内部で遅延描画をしてるのは疑いないのですが
それをプロパティ等で設定できないものかとおもいまして
ちなみにSmooth = falseにしても、バーが滑らかなアレのままで断片表示になってくれません。
完全にProgressBarのバグですが、ちゃんと描画させる方法はないですかね?
更にちなみに、UpdateやInvalidateなどをやってもダメでした・・・
0120デフォルトの名無しさん2012/06/06(水) 17:55:42.61
>>119
そうじゃなくて>>118ならちゃんと表示されるか聞きたい
だめならSleep()でもいいからさ
0121デフォルトの名無しさん2012/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);
}
0122デフォルトの名無しさん2012/06/06(水) 18:59:01.97
>>120
あー、なるほど。
確かにそうですよね、やってみます。
>>121
それもやってみましたがダメでした
0123デフォルトの名無しさん2012/06/07(木) 18:26:38.63
BCB6をXPで使用しています。
メインファームである処理をしている時にフォームを掴むとその処理が停止してしまいますが、
これを回避する方法はありますか?
離せばまた元通り動き出すので、今は「掴むな!!」という事にしています。
0124デフォルトの名無しさん2012/06/07(木) 18:52:02.41
別スレッドで処理を行わせるくらいしか回避方法はない。
0125デフォルトの名無しさん2012/06/07(木) 21:06:21.52
Focus当てられないようにするとか
0126デフォルトの名無しさん2012/06/07(木) 21:52:25.64
FormのEnabledプロパティをfalseにするとフォーカスが当てられなくなるな

しかもオーナードローでなければボタンは反応するので途中で計算を止めたい時も行ける
01271232012/06/07(木) 22:59:14.92
アドバイス有り難うございます。

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

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

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

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

SynchronizeメソッドはVCLがマルチスレッドに対応してないので
Label1を新しく生成したスレッドからしかいじらないとしても調べる必要がある
01291232012/06/07(木) 23:31:32.58
>>128

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


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

実験してみたら上記は問題ありませんでした。
0131デフォルトの名無しさん2012/06/08(金) 00:57:57.67
スレッド別なんだから止まるわけないじゃん
それよりメインフォームでVCLをいじってるとSynchronize()の結果が変わる
その時にいじると競合が発生して不審な挙動になる
0132デフォルトの名無しさん2012/06/08(金) 15:25:24.49
C++Builder発売15周年記念キャンペーン
なんてやってたんだね
proで50000円は新規の人に魅力的だろうか?
0133バカでごめんね2012/06/09(土) 13:06:35.97
c++を使い始めたものなんですけど

こっちはちゃんとなるんですけど
http://www.dotup.org/uploda/www.dotup.org3073322.jpg

includeを使うと
http://www.dotup.org/uploda/www.dotup.org3073352.jpg


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


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


0134デフォルトの名無しさん2012/06/09(土) 14:34:38.30
>>133
画像は分かりやすいけど…
dotupじゃすぐに消えちゃうぞ。一発ネタならちょうどいいけどね。
とりあえず、imgurにでもアップしなおして。
0135デフォルトの名無しさん2012/06/09(土) 14:37:00.41
あと、ユーザー名は画像加工した方がいいんでないかい?
0136バカでごめんね2012/06/09(土) 14:38:35.85
ユーザー名ぐらいはいいかなあと
0137デフォルトの名無しさん2012/06/09(土) 14:46:28.54
いいんならいいけど。
てか、よく見たらこれBuilderじゃなくて、Borland C++ Compiler 5.5.1か〜。
0138デフォルトの名無しさん2012/06/09(土) 18:37:32.34
>>133
http://www.atmarkit.co.jp/fwin2k/win7/06xpmode/06xpmode_03.html

ここを参考にXPモードでBCCをインストールし直す
0139デフォルトの名無しさん2012/06/09(土) 18:41:25.01
>>132
魅力でしょ、
50000円ならシェアウェアを公開して
1ライセンス2000円もとれば、あっという間に元は取れるんだし。
0140デフォルトの名無しさん2012/06/09(土) 18:49:59.41
ソフト作る労力も勘定に入れてくれ
0141デフォルトの名無しさん2012/06/09(土) 21:16:18.72
a) bcc32.exe の引数に -I オプションでインクルードディレクトリを指定する。
例: -Ic:\bcc55\include

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

bcc なら解るが、cpad は使わないのでわからん。
0142デフォルトの名無しさん2012/06/09(土) 21:21:29.27
とにかく、
エラー F2209 a.cpp 1: インクルードファイル 'stdio.h' をオープンできない
を解決しろ。
コンパイルでエラーがでてるのでリンクしていないから a.exe は作成されていない。
でも、cpad が、どこかにある古い a.exe を実行して、64ビット云々のダイアログがでているだけ。
01431422012/06/09(土) 21:22:31.31
あ、cpad が実行しているわけではないのか。
0144デフォルトの名無しさん2012/06/10(日) 13:24:50.15
RAD2010を使用しているのですがエディタでコメントを日本語入力しているときに、マウスカーソルがコードにかかっていると定義の検索が作動した時に文字化けしたり落ちたりしてしまいます。
IMEでマウスカーソルオフ以外の方法でこれを回避する方法はないでしょうか?再インスコや別PCでも治りません。誰か助けて…。
0145デフォルトの名無しさん2012/06/10(日) 14:13:47.65
QC に入れなさい。>144
0146デフォルトの名無しさん2012/06/10(日) 15:34:38.64
ということはあまり問題になっていないということでしょうか?強制電源オフしなくてはならないので困ってます。
BDS2006から発生していてバージョンアップをやめていたのですがWin7で安心して使用できるようにバージョンアップしたらまた同じでした。
もしかしてうちだけですか?
0147デフォルトの名無しさん2012/06/10(日) 15:36:25.50
QC に入れなさい。>146
0148デフォルトの名無しさん2012/06/10(日) 15:38:13.77
捨てアカで BDN アカウントをとって
公式フォーラムに口汚く罵った書き込みを入れてみたら?

0149デフォルトの名無しさん2012/06/10(日) 15:56:07.04
アカウントは持っているんですが登録したあたりから英文スパムが来るようになって怖いんですよね。あきらめます。ありがとう!
0150デフォルトの名無しさん2012/06/10(日) 16:53:38.40
>英文スパム
David I って人からとか?

>あきらめます。ありがとう!
おめでとう。 VisualStudio ならそんなことないから、良い機会だから切り替えよう
0151デフォルトの名無しさん2012/06/10(日) 18:15:32.80
David Iとかエンバカとかもスパム扱いになりますがそれ以外で毎週100以上orz
VSへの乗り換えも考えたんですがBuilderに慣れてると使いづらくてねぇ。DirectXは楽になるんだけど。
XE3が出る頃までなんとかガンバりますわ。
01521422012/06/10(日) 18:49:57.27
うちにはこないので、たぶん、他の原因かと。
0153デフォルトの名無しさん2012/06/10(日) 19:44:20.16
IDEFixPackとか…これはさすがに効きそうにないか。まぁQCに入れても2010じゃ放置だろうし。
強制電源オフが必要なのってどういう状況?
0154デフォルトの名無しさん2012/06/10(日) 19:56:40.89
なんか2010の不具合報告が最近多いなぁ
それとXE2をWindows7にインストールした時の挙動がXPと違うとか
0155デフォルトの名無しさん2012/06/10(日) 22:13:29.08
>>153
日本語入力中にマウスカーソルがコードにのっていると文字入力したとたんに割り込みっぽく定義検索が発動。
すると同時に2バイト文字が1バイト文字として数えられてしまうのか半分くらいの位置以降で文字化けが発生。そのままさらに定義検索が発動?して無限ループ。(文字化けだけですむこともある)
で、タスクマネージャーでBuilderを落とそうとしてもダイアログは出るんだけど落とすこともできずWindowsにも戻れないのでリセットするしかなくなります。
2006以降の方なりませんか?
0156デフォルトの名無しさん2012/06/10(日) 22:21:28.76
標準のタスクマネージャとかぬるいの使わないでProcessExplorerとかまともなもの使えば
たたき落とすことくらいはできるんじゃね?
あとはツール→オプション→エディタ設定→支援機能でシンボルインサイトあたりを無効化とか。
0157デフォルトの名無しさん2012/06/10(日) 22:42:41.86
Process Explorerとかは使ったことがないんだけど、タスクマネージャーの起動すらできずにExplorer自体も落ちて再起動かかるも何もできなかったりします。
今、シンボルインサイトをオフって見ました。対策にはなるのですが、現在ユニットを多目に使用しているのでちょっと厳しいです。
0158デフォルトの名無しさん2012/06/10(日) 23:12:00.86
CPUを100%とられてるのかも。まさかのシングルコアCPUだったりする?
だったらProcessExplorerでCPU使用率が高いプロセスの優先順位をNormalから下げることで
他の操作が可能になる(右クリック→Set Priority→Below Normal)。Process Explorerは事前に
起動しておくと吉。
0159デフォルトの名無しさん2012/06/10(日) 23:19:06.57
すみません。環境書いてませんでしたね。i7 875K定格でメモリ16GB Win7 ULT 64bitです。
その方法も試してみたいと思います。いろいろありがとうございます。
0160デフォルトの名無しさん2012/06/10(日) 23:34:26.82
連投申し訳ありません。早速試してみましたがBDSのCPU使用率は0.01%
Process Explorerで落とせたり落とせなかったりです。数分待つとProcess Explorerがやっとでてきたり不安定です。
0161デフォルトの名無しさん2012/06/10(日) 23:39:09.30
IDE Fix Packは?
0162デフォルトの名無しさん2012/06/11(月) 00:08:53.72
登録ユーザーダウンロードを見ているのですがどれなのかわかりません。HF2まで当てていますが。
0163デフォルトの名無しさん2012/06/11(月) 00:32:00.57
見つけました。が、インストールしても治らず。
というかインストールすると普通に文字化けが…。
0164デフォルトの名無しさん2012/06/11(月) 05:45:06.10
つ ttp://andy.jgknet.de/blog/ide-tools/ide-fix-pack-2009-10/
0165デフォルトの名無しさん2012/06/11(月) 20:41:30.60
それをインストールしましたが治りませんでした。
0166デフォルトの名無しさん2012/06/15(金) 16:21:48.56
エクスプローラが落ちたときに、タスクトレイに表示されているアイコンが消えてしまいます。
これを防ぐにはどうしたら良いのでしょうか?
0167デフォルトの名無しさん2012/06/15(金) 18:16:54.60
一定時間間隔で登録する(MSの推奨)。
0168デフォルトの名無しさん2012/06/16(土) 06:04:04.87
タスクバーごと消えた場合タスクバーが再作成されるときに

UINT WM_TASKBERCREATED = RegisterWindowMessage( "TaskbarCreated" );

ってメッセージが飛んでくるので、そのとき再登録するとか。
0169デフォルトの名無しさん2012/06/16(土) 10:12:25.10
そう言えばエクスプローラが落ちた時にアイコンが出るソフトと出ないソフトがあるな
出ないソフトはそこら辺をさぼっているわけか
0170デフォルトの名無しさん2012/06/18(月) 01:00:02.14
XE2でPageコントロールに複数のフォームを
ドッキングさせるアプリを作っているのですが

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

EndDockだったかのAllowにfalseを突っ込んでも
駄目でした
0171デフォルトの名無しさん2012/06/22(金) 12:34:36.28
>>139
シェアウェア―って簡単に売れないのでは?
1本も売れないってよく聞くけど、本当はそんなことないの?
0172デフォルトの名無しさん2012/06/22(金) 13:03:08.74
それは、金を払う価値がないソフトウェアだからでは?

例えば、秀丸やEmEditorなんて一企業が成立するくらい使ってもらってるじゃん
0173デフォルトの名無しさん2012/06/22(金) 13:04:31.08
どっちもエディタだぬ
他のジャンルでは?
0174デフォルトの名無しさん2012/06/22(金) 13:11:49.33
FileVisor
0175デフォルトの名無しさん2012/06/22(金) 13:17:09.31
そういや秀丸って名前がかっこ悪いバグまだ直ってないのか?
0176デフォルトの名無しさん2012/06/22(金) 13:18:00.94
使ったときねーから知らん
0177デフォルトの名無しさん2012/06/22(金) 17:40:12.96
>>172 そんなレアなケース出されても....
>>139の言っていることは、
その気になればすぐに元を取れるって感じだから、
そうなの?ていう質問では?
0178デフォルトの名無しさん2012/06/22(金) 18:13:52.81
実際マネタイズ大変だよな昔よりさらに
Google様が無料は当たり前の世の中にしてくれたからなぁ
0179デフォルトの名無しさん2012/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は文字化けしないみたいなんですが
どうしたら文字化けしなくできますか?
0180デフォルトの名無しさん2012/07/03(火) 15:37:01.49
エンコードが違うのとちゃうん
0181デフォルトの名無しさん2012/07/03(火) 15:51:13.40
どのサイトみてもこんな感じなんですよね。
msg->SubjectをいきなりMemoにぶち込んでるだけで
これC++Builder2010のIndy10で普通に表示されます??
0182デフォルトの名無しさん2012/07/03(火) 18:18:02.09
Indyって文字コード変換までしてくれるの?
してくれないならメールヘッダのContent-Typeとか見て変換しないとダメなんじゃないの?
0183デフォルトの名無しさん2012/07/03(火) 18:29:32.01
どのサイトもSubjectは変換してなかった
本文は変換してたけどね。
0184デフォルトの名無しさん2012/07/03(火) 19:49:45.85
なんかヘッダーの日本語エンコードに対応してないらしい
Indy以外探したほうがいいかもね
0185デフォルトの名無しさん2012/07/04(水) 09:26:28.71
('д`)えー
0186デフォルトの名無しさん2012/07/04(水) 11:46:27.66
サイトでのソースは全部delphiなんだけど
C++Builderの方はバグってるのかなあ
何かそんなことかいてるサイトもあったし
だれか>>179を試してほしい・・
0187デフォルトの名無しさん2012/07/04(水) 12:40:49.23
フリーじゃないのこれ
0188デフォルトの名無しさん2012/07/04(水) 14:13:34.94
どっちィ
0189デフォルトの名無しさん2012/07/04(水) 14:21:51.41
んじゃさ、受信したSubjectとか=?ISO-2022-JP?形式なんだけど
これを変換する方法を教えて><
0190デフォルトの名無しさん2012/07/04(水) 14:22:26.44
Delphiのメール送信側だけど
http://codezine.jp/article/detail/400
見るとヘッダのコード変換にjconvert.pasとか使ってるみたい
Indy10でこの状態だから他の探したほうがいいんじゃないの?
0191デフォルトの名無しさん2012/07/04(水) 14:43:09.12
最初jconvert使ってたんだけど・・・
どうもC++Builder2010じゃうまくいかなくて
同じコードをC++Builder5でやるとちゃんと変換されたんだけど
2010ってデフォでUnicodeになってるから?
0192デフォルトの名無しさん2012/07/04(水) 14:45:44.39
多分そうだろうね
AnsiStringでやってUNICODEに後から変換するとか力技で一回やってみれば?w
0193デフォルトの名無しさん2012/07/04(水) 14:49:36.76
やってみたぽ・・・
とりあえずAnsiStringにぶち込んでから
Memo->Lines->Add( ConvertJCode( DecodeHeaderString( subject ), SJIS_OUT ) );
0194デフォルトの名無しさん2012/07/04(水) 14:50:28.10
その辺は鬼のように試したんだけど全くうまくいかない。
C++Builder5じゃちゃんと変換されるんだけどなあ
0195デフォルトの名無しさん2012/07/04(水) 14:55:30.22
jconvert.pas自体がStringでビルドされてたら意味ないと思う多分
0196デフォルトの名無しさん2012/07/04(水) 14:57:38.42
そうなんだよね、それ気づくの遅かったアホだし俺とか
んで、諦めて、アレしたんだけど
しかし何故delphiの方はSubjectそのままぶち込んでもちゃんと表示されてんだろ
0197デフォルトの名無しさん2012/07/04(水) 15:05:55.60
別物だからさ
0198デフォルトの名無しさん2012/07/04(水) 15:28:45.56
どうしたものか
とりあえず>>189教えてくらさ><
0199デフォルトの名無しさん2012/07/04(水) 15:30:42.80
とりあえずjconvert.pasのStringをAnsiStringに置換してビルドしてみれば?
0200デフォルトの名無しさん2012/07/04(水) 15:33:11.48
やってみる・・・
0201デフォルトの名無しさん2012/07/04(水) 15:51:02.58
やっぱりやめた・・・
0202デフォルトの名無しさん2012/07/04(水) 15:52:43.51
いや、根性でやったんだけどさw
まあダメだったわ、とりあえず無理やりキャストしてコンパイルが通っただけって感じだし
どうしたらいいの俺とか
0203デフォルトの名無しさん2012/07/05(木) 06:03:21.10
ちょっと調べてみた
MecsUtils.pasっていうEmbarcadero Developer Networkにある文字列関係の処理用コード使ったらタイトル文字化け直ったよ
http://cc.embarcadero.com/item/26061
Yahoo Mailの1メールでしか試してないけど
この中のMecsShrinkElementっていう関数にTIdMessageのSubjectを渡すと正常に変換された
0204デフォルトの名無しさん2012/07/05(木) 10:12:45.85
>>203
あああああああああああああああああああああああああ!!
ありがとうありがとう><
できましたできました!!!
自分もヤホーメール1件でしかまだ試してないですが
今までずっと試してたのが出来たのでこれでISO-2022-JPはばっちりです!!
ありがとうございました^^
0205デフォルトの名無しさん2012/07/05(木) 10:23:51.58
違ったあああああああ!
=?ISO-2022-JP?B?って形式で入ってるのはダメだった〜
理由はよくわからないけどSubjectに入ってる形式で
何かわけのわからん形式ならMecsShrinkElementでOKでしたが
=?ISO-2022-JP?B?形式で入ってると変換されなかったので
これは別の関数呼べばいいんですかね??
何を呼べばいいかソースみてもわかりませんが・・・
0206デフォルトの名無しさん2012/07/05(木) 10:30:57.29
ヤホーから来たメールはOKだったけど
ニフティーから来たメールはダメだったぽ・・
これプロバによってアレかあ死にたい
0207デフォルトの名無しさん2012/07/05(木) 15:17:40.69
BCB6で、boost.polygon、は使えまつか?
0208デフォルトの名無しさん2012/07/05(木) 21:52:36.95
コモンコントロールってWM_NOTIFYを親に送りますよね
親がコントロールだったら、そのコントロールをサブクラス化するしか
WM_NOTIFYを捕捉する術はないのでしょうか?
0209デフォルトの名無しさん2012/07/05(木) 23:36:07.06
ない
0210デフォルトの名無しさん2012/07/06(金) 10:02:51.17
この前からIdPOP3がバグるって騒いでる基地外ですが
>>203氏のおかげで結構変換することができた
で、色々受信してたらMecsShrinkElementを通しても化けるのがあって
よくよくみてみると、MecsShrinkElementで化けるのは
最初から既にちゃんと変換されてたってのがわかったんだけど
2010のIndyのバグのせいか、ちゃんと変換されてるのと無変換で
MecsShrinkElementを通すとOKってのがあったんだけど
これを判別する方法としてCharSetがISO-2022-JPならMecsShrinkElementを使う
って事にしたら大抵OKになったけど、たまにCharSetに何も入ってないのに
MecsShrinkElementを使わないとダメなのがあって
これどうやって判別したらいいのですか・・・

0211デフォルトの名無しさん2012/07/06(金) 10:04:55.02
7bit か 8bit かで区別するといいお
0212デフォルトの名無しさん2012/07/06(金) 10:08:27.68
XE2なら問題ないみたいだな

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

XE3でclang+llvmになるらいけどまたしばらくバグに苦しむんだろうな・・・
0213デフォルトの名無しさん2012/07/06(金) 10:25:51.56
>>211
それダメですた、それ入ってないのがあって識別できません><

>>212
XE2迷ったけど64ビット作れないみたいだし次まで待つ事に
0214デフォルトの名無しさん2012/07/06(金) 10:28:06.99
だよ
XE2はDelphiのみ64bit対応
だまされたー
0215デフォルトの名無しさん2012/07/06(金) 11:38:13.20
とりあえず、判断は
AttachmentEncoding、CharSet、ContentTransferEncodingでなんとかなりそうです。
で、最後に・・・
=?shift_jis?B? この形式で来るのが現在変換できなくて困ってます。
これを変換する方法を教えてください・・・
0216デフォルトの名無しさん2012/07/06(金) 17:58:14.65
【中2自殺】 皇子山中学校 「韓国に対する関心を高めるため」 修学旅行は韓国へ
http://engawa.2ch.net/test/read.cgi/poverty/1341564390/

ねらい
ハングルを学ぶことによって、韓国に対する関心を寄り高める。
http://jan.2chan.net/may/b/src/1341557000217.jpg

0217デフォルトの名無しさん2012/07/06(金) 18:26:14.57
皇子山って新羅の末裔らしいけどな
0218デフォルトの名無しさん2012/07/08(日) 12:45:38.53
BCB5でGDI+グラフィックを使おうとしたのですが、
動いてくれません。(画像ファイルは無事使えてます)

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

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

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

参考にしたサイト
ttp://www.leunen.com/cbuilder/gdiplus.html
ttp://aruaru.blog.so-net.ne.jp/2009-09-28
ttp://forum.sources.ru/index.php?showtopic=152783
0219デフォルトの名無しさん2012/07/08(日) 14:06:23.52
LoadLibrary
0220デフォルトの名無しさん2012/07/08(日) 14:19:53.39
GDI+を使う理由がわからん
激遅なのに。

しかも、今時BCB56って
割れ?
0221デフォルトの名無しさん2012/07/08(日) 17:11:27.97
>>219
遅延読み込みしないとダメだったんでした?
やってみます。

>>220
いや、正規だけど、エンバカには御布施したことないです。
何もかも今更なんだけど、GDI+もDirextX(DXライブラリ)も
触ったことなかったもので...
再描画の遅さは我慢できる使い方なんです
0222デフォルトの名無しさん2012/07/09(月) 11:38:57.60
=?shift_jis?B? この形式変換する方法教えてください><
それと、"=?Shift_JIS?を
とりあえずこの2つ変換できたら思い残すことはないかもしれないぽ
0223デフォルトの名無しさん2012/07/09(月) 12:13:30.05
馬鹿には無理
0224デフォルトの名無しさん2012/07/11(水) 17:21:14.33
TListViewにExchangeメソッド無い??
行入れ替えどうやったらいいのかおしえてくらだ
0225デフォルトの名無しさん2012/07/11(水) 17:42:41.81
>>222
XE2ではタイトルがそうならないみたいな気がするので分からないけど
Base64のデコードに失敗してるんだと思うので自分でデコードすればもしかしたらうまくいくのかもしれない
0226デフォルトの名無しさん2012/07/11(水) 20:00:23.30
>>224
Items.AddItemかなぁ
0227デフォルトの名無しさん2012/07/12(木) 13:30:35.57
C++Builder2010でTImageを使って画像の回転をしたくて
TImageのヘルプをみるとRotateFlipらしきメソッドがあるんだけど
コンパイルするとこんなメソッド無いってエラーでるんだけど・・・
どうしたらコンパイルできます?
0228デフォルトの名無しさん2012/07/12(木) 13:41:02.10
つ ttp://delphi.about.com/cs/adptips2001/a/bltip1201_4.htm
つ ttp://www.delphi-central.com/tutorials/RotateBitmapBitBlt.aspx
つ ttp://stackoverflow.com/questions/10546582/rotate-timage-in-delphi
0229デフォルトの名無しさん2012/07/12(木) 13:42:47.28
RotateFlipはGDI+の関数だな
0230デフォルトの名無しさん2012/07/12(木) 13:52:53.31
DDBとDIBSection(普通のGDI)なら自分で計算して回転してやらないといかんよ
0231デフォルトの名無しさん2012/07/12(木) 14:00:07.35
>>228-230
ありがとうありがとう
0232デフォルトの名無しさん2012/07/12(木) 14:06:38.17
何かこれ呼ぶだけで回転はOKみたいなソースどっかに転がってないかな?
0233デフォルトの名無しさん2012/07/12(木) 14:54:42.71
>>232
これ俺が前に実際に使わせてもらったソースのサイトだけど

http://homepage2.nifty.com/tsugu/sotuken/rotation/

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

Windows Vistae以降ならDirect2Dを使って

http://code.msdn.microsoft.com/windowsdesktop/VisualC-howto-96795643

とやれば処理の大部分をGPUに放り投げられるんだけどなあ
0234デフォルトの名無しさん2012/07/12(木) 15:39:41.68
>>233
ありがとうございます。
その2つのサイト参考にアレしてみます。
ありがとうございました。
0235デフォルトの名無しさん2012/07/12(木) 15:52:56.04
中村御大のDHGLはできないっけ?
ttp://www.asahi-net.or.jp/~HA3T-NKMR/DGS/DownLoad.htm
0236デフォルトの名無しさん2012/07/12(木) 15:59:25.96
>>235
あ、これVCLライクなコンポーネント?
XE2に入るかやってみる
0237デフォルトの名無しさん2012/07/12(木) 16:48:26.40
>>235
それのRotateBitmap使ったらできましたー!!!
C++Builder2010
しかしこれパラメータ多くてとりあえず適当に入れてやってみたんだけど
回転角に90って入れても90度になってくれないなあ
たぶん他のパラメータの指定が悪いんだとおもうけど
0238デフォルトの名無しさん2012/07/12(木) 16:55:15.45
>>235
ああ、すんませんできました。
パラ少ない方でやったらあっさりできました^^
0239デフォルトの名無しさん2012/07/12(木) 18:15:09.13
ソフトを起動した時に既に起動していたら、既に起動してるソフトに引数をわたして
後から起動されたソフトの方を終了するにはどうしたらいいですか?
よくブラウザとかそんな感じになってますが
0240デフォルトの名無しさん2012/07/12(木) 19:22:40.48
mutex
0241デフォルトの名無しさん2012/07/12(木) 20:25:14.74
パイプまたはメールスロットとミューテックスを組み合わせるな普通
0242デフォルトの名無しさん2012/07/13(金) 02:52:10.42
>を組み合わせるな
組み合わせてはいけないのですね。わかりました
0243デフォルトの名無しさん2012/07/13(金) 03:20:04.40
>>242
こらこら
具体的なソースを誰か貼ってやれ
0244デフォルトの名無しさん2012/07/13(金) 12:44:40.49
自演ツマンネ
0245デフォルトの名無しさん2012/07/13(金) 12:57:29.09
プロジェクトソースのとこで自分のハンドルを取得してメッセージ送るのってダメ?
0246デフォルトの名無しさん2012/07/13(金) 14:26:10.10
Win32の本を読むと、あるプロセスから他のプロセスにメッセージを送る方法は
大きく分けて3つあり、共有メモリを使った通信、メールスロット、名前付きパイプ
がある。前者ほど易しいが欠点も多い。後者ほど難易度が増すが、より堅牢に
なる。前者はメッセージを受け取る努力がより要求され、後者はメッセージを
より強引に送りつけるようになるとある。

ケースに応じて使い分けろと書いてある。
0247デフォルトの名無しさん2012/07/13(金) 14:40:11.61
相手のハンドルが判ってれば
PostMassage
SendMassage
で桶
0248デフォルトの名無しさん2012/07/13(金) 15:40:45.59
>>247
引数ってその場合
UINT Msg, // message to post
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
これだけしか送れなくない?
コマンドラインみたいのを渡す時は使えない
0249デフォルトの名無しさん2012/07/13(金) 15:44:04.84
massage
0250デフォルトの名無しさん2012/07/13(金) 15:46:39.50
>>248
ここリンク貼れないのなんで?
ttp://cho●kuto.if●def.jp/advanced/copydata.html
0251デフォルトの名無しさん2012/07/13(金) 15:50:00.82
>>248
WM_COPYDATA
0252デフォルトの名無しさん2012/07/13(金) 16:24:34.59
でけた^^
0253デフォルトの名無しさん2012/07/18(水) 11:00:07.77
=?shift_jis?B? と "=?Shift_JIS? この形式変換する方法教えてくださあああああああ><

0254デフォルトの名無しさん2012/07/18(水) 11:01:49.18
あ、まちごうた
=?ISO-2022-JP?B? と =?Shift_JIS?B? ですた^^
教えてくださ
0255デフォルトの名無しさん2012/07/18(水) 11:41:50.74
知ってるがお前には教えない
0256デフォルトの名無しさん2012/07/19(木) 12:04:36.58
test
0257デフォルトの名無しさん2012/07/26(木) 14:42:59.26
C++Builder2010でjconvert.pasをコンパイルしたら
jconvert.hpp内の各関数の引数が全てAnsiStringからUnicodeStringに変わってしまって
正常に実行できなくなるのですが
これちゃんとhpp内の引数がAnsiStringのままになるようにコンパイルするにはどうしたらいいですか?
0258デフォルトの名無しさん2012/07/26(木) 22:33:58.28
jconvertは2009以降に対応していないらしい
0259デフォルトの名無しさん2012/07/26(木) 22:54:27.62
>>258
あ、なるほど、ありがとう。
じゃあやっぱ他の方法考えないとダメなんですね・・
0260デフォルトの名無しさん2012/07/27(金) 10:51:24.33
教えてください
例えば
ListView->Items->Item[i]->Data = new char[256];
↑みたいにnewした場合に
ListView->Items->Clear( );するとnewしたのも自動的にdeleteされるんですか?
それともClearする前にforで回して1つづつdeleteする必要ありますか?
0261デフォルトの名無しさん2012/07/27(金) 13:13:45.46
>>259
Delphi側でString/PCharをAnsiString/PAnsiCharに書き換えるという手もあり

>>260
勝手にdeleteされることはないので、OnDeletionイベントで処理するのがお勧め
0262デフォルトの名無しさん2012/07/27(金) 13:31:34.47
>>261
ありがとう
Delphi側でString/PCharをAnsiString/PAnsiCharに書き換えるというのは
jconvert.pasを自分で書き換えるって事ですよね?
0263デフォルトの名無しさん2012/07/27(金) 13:40:23.53
そう
jconvert.pasのライセンス条件に注意してね(調べてないけど)
0264デフォルトの名無しさん2012/07/27(金) 14:06:09.36
>>263
ありがとうやってみます。
ちなみに、個人で使うだけなので大丈夫です
0265デフォルトの名無しさん2012/07/27(金) 14:38:05.17
>>263
何かうまくいかないのですが、
Charでキャストしてるのがエラーになりますが
これは何にしたらいいですかね?
0266デフォルトの名無しさん2012/07/27(金) 15:11:57.11
具体的に
0267デフォルトの名無しさん2012/07/27(金) 15:17:01.92
これが実際のソース
Result[k] := Char( (dbuf[0] shl 2) or (dbuf[1] shr 4) );

CharをAnsiCharでキャストしたらとりあえずコンパイルエラーは出なくなったけど
動作させても文字が化けて以前と変わらずなもので。
ちなみに、ConvertJCode関連の関数は全てAnsiStrigに変更しました
0268デフォルトの名無しさん2012/07/27(金) 15:25:01.78
UnicodeStringとAnsiStringの多バイト文字列の内部表現が違うからじゃないか?
0269デフォルトの名無しさん2012/07/27(金) 15:28:28.22
黙ってコンパイルするとUnicodeStringになっちゃいますが
それをAnsiStringに変更しました
0270デフォルトの名無しさん2012/07/27(金) 16:12:14.96
Result, dbufの型は?
0271デフォルトの名無しさん2012/07/27(金) 16:14:50.26
dbuf: array[0..3] of BYTE;
ResultはAnsiString にしました。
0272デフォルトの名無しさん2012/07/27(金) 19:04:21.94
なら単に
Result[k] := AnsiChar( (dbuf[0] shl 2) or (dbuf[1] shr 4) );
でいいと思うが。
0273デフォルトの名無しさん2012/07/27(金) 21:40:26.16
>>272
たしかにそれでコンパイルは通りますが
ちゃんと変換できないのはやっぱり別の箇所に原因があるんですねこれ
どこなんだろう
0274デフォルトの名無しさん2012/07/28(土) 01:49:34.78
コンパイラに1バイトパッチあてるとデフォルトを ANSI に戻せるよ
0275デフォルトの名無しさん2012/07/28(土) 02:45:05.50
タスクバーをクリックしてアプリケーションに戻った時に,
最後にフォーカスがあったフォームしか表示されなく
なってしまった。

ちょっと前まで,全部のフォームが表示されたのに。
何を変えちゃったのか全然分からん。
0276デフォルトの名無しさん2012/07/29(日) 10:47:08.53
つ git
0277デフォルトの名無しさん2012/07/30(月) 10:05:24.98
IdPOP3->Retrieveって添付ファイルまで受信しちゃってるみたいですが
これ添付ファイルは受信しない方法を教えてください
0278デフォルトの名無しさん2012/07/30(月) 18:18:33.29
スクロールボックスの縦、横のスクロールバーが出てるかどうかを判断する方法を教えてほしい
0279デフォルトの名無しさん2012/07/30(月) 20:35:17.81
>>277
できないんじゃないかなぁ

>>278
VertScrollBar.Visibleじゃだめ?
0280デフォルトの名無しさん2012/07/30(月) 21:45:25.74
>>279
Visibleはダメなんですよね。
アレオブジェクトインスペクタでtrueにしてても
スクロールボックスにスクロールバーが出てない状態でもtrueのままなんです
0281デフォルトの名無しさん2012/07/30(月) 22:17:51.89
じゃあGetScrollBarInfoでSCROLLBARINFOのBarInfo.rgstate[0]に
STATE_SYSTEM_INVISIBLEが立ってるかどうかとか?
0282デフォルトの名無しさん2012/07/30(月) 22:22:35.95
>>281
ちょっと明日それ試してみますね
0283デフォルトの名無しさん2012/07/31(火) 11:42:55.58
>>281
IsScrollBarVisible でできました
0284デフォルトの名無しさん2012/07/31(火) 17:23:14.32
C++Builder2010でマウスカーソルをリソースマネージャに追加したのですが
これどうやってScreen->Cursorsにぶち込むのですか?
0285デフォルトの名無しさん2012/07/31(火) 17:55:58.22
でけた。
0286デフォルトの名無しさん2012/07/31(火) 20:57:10.15
2010多いな
XEとかXE2の質問がほとんどねえ
という事はXEが2010のバグ取りバージョンで、XE2がDelのみを64bit化したわけか
0287デフォルトの名無しさん2012/07/31(火) 21:15:57.16
XE3出たら買うよ
それまで2010で我慢しろく
0288デフォルトの名無しさん2012/08/01(水) 01:50:30.91
XE3 がでればよいね
0289デフォルトの名無しさん2012/08/02(木) 10:26:06.26
MouseDownイベントでマウスボタンが押されている間マウスカーソルを変更したいのですが変更されません
マウスボタンを離したら変更されるのですが
これボタンを押してる状態でカーソルを変更させる方法を教えてください
0290デフォルトの名無しさん2012/08/02(木) 13:06:25.71
でけた。
0291デフォルトの名無しさん2012/08/06(月) 22:26:49.96
Stringgridの罫線?の色ってどやってかえるの?BuilderXE使用中です
0292デフォルトの名無しさん2012/08/08(水) 16:05:43.47
jconvert.pasを2010でコード変えずにコンパイルする方法を教えて・・・
0293デフォルトの名無しさん2012/08/08(水) 16:20:47.12
お前には無理だからあきらめろ
0294デフォルトの名無しさん2012/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
のような学籍番号や氏名、身長体重が記載されているものです。
0295デフォルトの名無しさん2012/08/09(木) 23:03:15.74
取得したテキストファイルを1行ごとの文字列として処理して、
(Lines->Strings[i]とか)
その文字列を学籍番号や氏名の区切り文字でわけて
構造体(の配列?)に順に格納していく。
それを最終行まで繰り返す。
表示は表示先しだい。
0296デフォルトの名無しさん2012/08/09(木) 23:11:33.48
>>295
ありがとうございます。
早速LinesやStringsなどで調べてみます。
0297デフォルトの名無しさん2012/08/10(金) 04:41:10.79
>>296
OpenDialogでテキストを何に読み込んでるかわからんけど、
TStringListやTMemoでテキストを読み込んでいろいろと処理する
サンプルなら検索すればいくらでもあるかと。
0298デフォルトの名無しさん2012/08/10(金) 13:56:39.70
>>297
TstringList 構造体
などで検索をしましたが中々これだ!というものが見つかりませんでした。
Delphiですが
http://hpcgi1.nifty.com/MADIA/DelphiBBS/wwwlng.cgi?print+200403/04030068.txt
のような事をやりたいです。
良い検索ワードがあれば教えていただけないでしょうか?
0299デフォルトの名無しさん2012/08/10(金) 14:10:47.89
「のような事」じゃなくて、自分の言葉で書けよ。
せめてリンク先のどこまで理解できてどこが理解できないのか、
自分がやりたいこととここが違うからこうしたいとか。

何がやりたくて何がわからないのかさっぱりわからない。
0300デフォルトの名無しさん2012/08/10(金) 14:12:19.46
テキストはcsv(カンマテキスト)にしてTStringListで嫁
んで、もう1つTStringListを使ってCommaTextにぶちこんでアレしろ
0301デフォルトの名無しさん2012/08/10(金) 14:28:40.18
>>299
すみません。
OpenDialogを使用してテキストデータのパスを取得
それをTStringListオブジェクトに読み込み
1 175 60
2 180 70

のような数字のテキストデータを
それぞれ身長 体重 学籍番号 などに分類したいんです。
構造体を宣言し、格納したいのですが
どういうプログラムを書けば格納できるのかサッパリなんです。
0302デフォルトの名無しさん2012/08/10(金) 14:49:40.63
それ>>294のまんまじゃん…
0303デフォルトの名無しさん2012/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絡みで変なとこがあれば、デバッグで自分のソースを指摘
してくれそうなもんですが、このメッセージだと何がなんやらで・・・)

何かヒントになりそうな事でもいいので、教えてください。
よろしくお願いします。
0304デフォルトの名無しさん2012/08/15(水) 09:36:27.48
WINVER が小さいとみた
0305デフォルトの名無しさん2012/08/15(水) 10:08:52.21
プロジェクトそのものは新しく作ったほうがいい
0306デフォルトの名無しさん2012/08/15(水) 10:36:55.85
めんどくせぇ
0307デフォルトの名無しさん2012/09/25(火) 18:57:45.79
最近人気ねえなage
XE3パスする事にしたしなあ
0308デフォルトの名無しさん2012/09/26(水) 03:33:04.80
ドキュメントがでてきた?

ttp://docwiki.embarcadero.com/RADStudio/en/BCC64.EXE,_the_C%2B%2B_64-bit_Compiler
0309デフォルトの名無しさん2012/09/26(水) 13:29:54.80
こっちはくだすれだから。統合本スレに移動しておきましょ。
0310デフォルトの名無しさん2012/09/26(水) 17:55:54.57
だって事実上質問はこのスレにしか来ないじゃん
本スレは荒れ放題だし
0311デフォルトの名無しさん2012/09/26(水) 19:47:41.09
あっちは被害担当艦だろ
0312デフォルトの名無しさん2012/10/01(月) 14:22:28.27
C++Builderをバリバリ使ってる人、手挙げて−

まず俺
0313デフォルトの名無しさん2012/10/01(月) 14:48:44.19
     ∧_∧
     ( ゚ω゚ ) C++Builderは任せろー
 バリバリC□l丶l丶
     /  (   ) やめて!
     (ノ ̄と、 i
        しーJ
0314デフォルトの名無しさん2012/10/01(月) 15:33:26.34
なぜ止める!
0315デフォルトの名無しさん2012/10/01(月) 17:21:13.46
バリバリはまずいだろ。
0316デフォルトの名無しさん2012/10/01(月) 19:34:24.67
>>313
かわいい
元ネタ何?
0317デフォルトの名無しさん2012/10/01(月) 19:46:46.39
そのまんま「バリバリ AA」でggr
0318デフォルトの名無しさん2012/10/02(火) 10:31:35.18
312だけど、バリバリって何かと思ったら、あのバリバリか
誕生日に奥さんにポーターのバリバリ貰った俺は…
0319デフォルトの名無しさん2012/10/02(火) 11:19:12.06
ま、場を考えて使え。って点ではおなじだな。
Boost や C++99 の話をしているところに C++BUilder 使ってま〜す。って入って行ったら
あのバリバリと同じ思いをすることになるしな。
0320デフォルトの名無しさん2012/10/05(金) 07:23:14.72
C++Builder XE3 を試しに使ってみたんだけど
SDIアプリを作成して
vectorを使おうと
#include <vector>
して
vector<int> abc;
と書くとエラーになる

何がいけないんだろ
0321片山博文MZボット ◆0lBZNi.Q7evd 2012/10/05(金) 12:41:44.65
using namespace std;
または
std::vector<int> abc;
0322デフォルトの名無しさん2012/10/05(金) 21:53:24.59
>>321
ありがとう
うまくいきました。
0323デフォルトの名無しさん2012/10/18(木) 01:58:27.76
設定の段階で詰まりました
http://i.imgur.com/GIbjD.jpg
e2075でcfgファイルの何がダメだのかわかりません
よろしくお願いします
0324デフォルトの名無しさん2012/10/18(木) 03:45:38.68
>>323
CFGファイルの中身晒せや
0325デフォルトの名無しさん2012/10/18(木) 04:05:07.70
全角スペースあたりかねぇ。あとは冒頭に UTF8 BOM が入っているか。
.cfg はテキストファイルだから、からのテキストファイルでエラーが出ないことを確認したうえで
一行ずつ追加しては動作確認すれば、どの行に問題があるか見つけられるでしょう
0326デフォルトの名無しさん2012/10/18(木) 04:12:10.34
BOMの可能性が高い。
試してに.cfgに-myoptionの行を入れてbcc32を実行すると
オプションの間違い: -myoption
と表示されるが、その部分が化けている。
0327デフォルトの名無しさん2012/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割を越えた。
http://shunkan-news.com/archives/1557
0328デフォルトの名無しさん2012/10/18(木) 05:56:31.16
すみません。誤爆しますた。
0329デフォルトの名無しさん2013/01/16(水) 15:47:32.89
C++Builder5でWindows7の64bitでMySQLをODBC経由で接続したいのですがエラーになります。
32bitなら正常に接続できます。
64bit用のodbcドライバに対応するlibとdllありますか?
ちなみにWin7 64bitにODBC32bit用ドライバをインスコしてもMySQLが出現せずに選択できませんでした
0330デフォルトの名無しさん2013/01/16(水) 20:28:37.06
具体的なアドバイスはできないけど、アプリケーションが32bitならODBCの設定もMySQLの
ライブラリも32bitのものを使うことになる。特にODBCの設定は64bitと32bitで別々なので要注意。
多分ODBCの設定で64bitのほうを見て
> MySQLが出現せずに選択できませんでした
っていってるだけなような気がするけど…。
0331デフォルトの名無しさん2013/01/16(水) 22:37:24.97
Windows7の64bitの場合
ODBC接続マネージャーは普通にメニューから選ぶときと
.cplファイルを直接実行する場合とで
64bit用と32bit用で違うものが開かれる
0332デフォルトの名無しさん2013/01/17(木) 10:25:25.77
32bit用のMySQLのODBCドライバをインスコしてから
ODBCデータソースアドミニストレーターで新規作成をしても
リストにMySQLが表示されないんですが
0333デフォルトの名無しさん2013/01/17(木) 10:32:33.44
32bitのODBCデータソースアドミニストレータを起動してるか?
0334デフォルトの名無しさん2013/01/17(木) 11:00:56.94
管理ツールの中の
ODBCデータソースアドミニストレーター
は64bit専用

C:\Windows\SysWOW64\odbcad32.exe
が32bit専用の
ODBCデータソースアドミニストレーター
0335デフォルトの名無しさん2013/01/17(木) 12:14:35.20
>>333-334
ああ・・・
管理アレにあるのを起動してました。
これ64bitのですよね・・・
ありがとうございます。
32bitのを起動してみます
0336デフォルトの名無しさん2013/01/17(木) 12:26:33.17
ありがとうございました。できました!

が・・・
これ一度作ったのって構成で修正や削除ができない・・・
0337デフォルトの名無しさん2013/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を扱うにはどうしたらいいのでしょうか・・・
0338デフォルトの名無しさん2013/01/18(金) 14:22:08.70
C++Builder2009をWin7の64bitで動かしてますよーって人はいる?
0339デフォルトの名無しさん2013/01/18(金) 14:36:39.73
>>337
ISXの作るインストーラは16bitアプリケーションなのでx64環境にはインストールできない
(x64環境では16ビットアプリケーションは動作しない)。
InstallShield買うなりInnoSetupのようなフリー/オープンのインストーラ使うなりご自由に。
0340デフォルトの名無しさん2013/01/18(金) 17:00:24.08
>>339
そうですか、ありがとう・・・

うーん、どうしよう
他のインストールシールドとかでどうやってC++Builder5のDB関係をインスコさせるのかわからないしなあ
0341デフォルトの名無しさん2013/01/20(日) 19:34:15.58
>>340
オレが開発委託者ならキミには頼まないわん。VBでも使ったほうが良くない??
0342デフォルトの名無しさん2013/01/21(月) 11:18:03.34
>>341
知らないならレスしないで下さい。ウザイだけです
0343デフォルトの名無しさん2013/01/21(月) 19:03:25.81
Delphi Pascal Compiler
コマンドラインコンパイラdcc32は、どういう場合につかいますか?
03443412013/01/21(月) 20:40:50.34
>>341
ここにはIDでないからな。知らないで開発委託者の立場でレスはしない。
そんなことも知らないでC++を使ってるような経験値の低い開発者には
頼まないってこと。
MSがこれを入れておくと動きますよと言ってくれるVBで、といったのは
そういうわけ。
C++Builderはexeをコピーするだけで動くスタンドアロンなプログラムが作
れるのが利点の1つ。
03453412013/01/21(月) 20:52:06.09
やれやれ、アンカみすってる。で、ここは超初心者スレだったのか。

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

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

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

この2つで自前でLoadするDLL以外の依存は完全になくなる。実行ファイ
ルがでかくなるって嫌う人も多いが、そりゃ32Mバイトのメモリが広大だっ
たころの話。
これでデータベースのエラーがでるならそれはどこかがバグってる。
0346デフォルトの名無しさん2013/01/21(月) 21:43:56.42
>>344-345
ほんとに何も知らないならレスしないください。ウザイだけです。
0347デフォルトの名無しさん2013/01/30(水) 16:46:48.89
TChartで質問ですが
Series1->YValue[n] = 123;
みたいに既に作成されているグラフのn番目に値を後から変更できますが
Series1->Add( 0, "gggg", clTeeColor );
のようにAddした際にテキストとしてAddしているのですが
このテキストを↓
Series1->YValue[n] = 123;
これみたいに後からテキストの値を変更する方法を教えてください
0348デフォルトの名無しさん2013/01/30(水) 16:55:03.70
あ、ごめんでけた^^
0349デフォルトの名無しさん2013/02/22(金) 00:11:14.73
C++Builder2010を使用しています。
スレッド間の排他制御に関して教えて下さい。

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

どなたかアドバイスをお願い致します。
0350デフォルトの名無しさん2013/02/22(金) 00:16:26.09
当たり前だろ
マルチコアで変数に代入中に値を参照したらどうなる
アトミックなOS APIを使おう
03513492013/02/22(金) 00:48:14.88
>>350

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

「アトミックなOS API」の検索キーを教えて頂けませんか?
あちこち見て、クリティカルセクションというのを試して見ようと思っていました。
0352デフォルトの名無しさん2013/02/22(金) 00:54:15.07
>>351
単純な排他制御はパフォーマンスに悪影響を及ぼす事がある

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

などかな
0353デフォルトの名無しさん2013/02/22(金) 06:20:24.65
いま、同一パソコン上で、2つのWindowsアプリケーションを動作させてて、そのプロセス間通信でメモリマップドファイルを利用してファイルデータの受け渡しを行ってるんですが、一方のWindowsアプリケーションを別のパソコンへ持っていきたいと考えてます。
この場合、イーサネットで接続するようになるのですが、名前つきパイプを利用すれば同等の機能が実現できますでしょうか?
0354デフォルトの名無しさん2013/02/22(金) 08:37:37.69
それC++Builderに関係ない話だね
Win32スレで聞いたらいいかも
あ、今荒れてるか
0355デフォルトの名無しさん2013/02/22(金) 18:48:14.14
出来るか出来ないかで言えば出来る
0356デフォルトの名無しさん2013/02/22(金) 20:17:29.42
メールスロットでもいいんじゃねーの
プロセス間通信でしょ
0357片山博文MZパンク ◆0lBZNi.Q7evd 2013/03/22(金) 23:23:20.90
無料でC++Builderを使いたい。どこにあるの?
0358デフォルトの名無しさん2013/03/22(金) 23:32:57.19
>>357
警察に言って聞くといいよ!
0359デフォルトの名無しさん2013/03/23(土) 07:51:11.24
現在は14日間のTrialのみ
0360デフォルトの名無しさん2013/03/23(土) 16:33:24.75
試用期間は300日ですぞ
0361デフォルトの名無しさん2013/05/11(土) 16:43:38.72
0362デフォルトの名無しさん2013/06/29(土) 13:23:11.65
2010からXE4にVUPしたのですがプロジェクトオプションのデフォルト設定の仕方が分かりません
またパッケージを未使用にして保存してもいくつかXE4を再起動するとオンになってしまいます
(プロジェクトを保存して開き直す場合は反映されているのにXE4を再起動するとダメです)
XE3をいれてみても同じです。どうしたらいいの?
0363デフォルトの名無しさん2013/06/29(土) 17:22:08.08
デフォルトのプロジェクト設定はXE2辺りで無くなった
便利だったのにね

ファイルに保存できるオプションセットを使えだとさ
これ、正直仕様がよく分からん
0364デフォルトの名無しさん2013/06/29(土) 19:06:04.50
ありがとう!やっぱりそれですよね
でもパッケージの使用可否はやはり設定できないようです
0365デフォルトの名無しさん2013/07/01(月) NY:AN:NY.AN
俺も>>362と同じく2010からXE4にした者なんだけど
Releaseでコンパイルする方法がわからない・・・
以前は構成マネージャでdebugとreleaseを切り替えてたのに無くなってるので
これ何処で設定するの??
0366デフォルトの名無しさん2013/07/01(月) NY:AN:NY.AN
表示メニューに移動してた・・・

何でこんな糞みたいなことするんだろ
デフォのプロジェクト保存とか勝手に無くすし
0367デフォルトの名無しさん2013/07/01(月) NY:AN:NY.AN
プロジェクトオプションのダイアログの一番上にあるターゲットじゃないの?
0368デフォルトの名無しさん2013/07/01(月) NY:AN:NY.AN
>>367
それってたぶん、プロジェクト設定のターゲットじゃないかな、かな。
まあとりあえず解決したんだけどさ


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

以前C++Builder5でexeが肥大するバグがあってするUpdateが出たけど
何で使いもしないのも無理やりexeに組み込むんだろ
0369デフォルトの名無しさん2013/07/01(月) NY:AN:NY.AN
自分の所でしか動かさないのなら動的RTLの使用にチェックを入れとけば?
0370デフォルトの名無しさん2013/07/01(月) NY:AN:NY.AN
DebugとReleaseを切り替えるのって
プロジェクトマネージャで1ダブルクリックじゃん
XE4すげー便利じゃん
0371デフォルトの名無しさん2013/07/01(月) NY:AN:NY.AN
>>369
XE4入ってない環境で動かすから
>>370
プロジェクトマネージャ邪魔で非表示にしてるから今まで使った事ないんだよね
0372デフォルトの名無しさん2013/07/01(月) NY:AN:NY.AN
これツールバーカスタマイズでアクティブ構成のアレ追加できればいいのに
0373デフォルトの名無しさん2013/07/01(月) NY:AN:NY.AN
プロジェクトマネージャが邪魔なら
オブジェクトインスペクタとかと同じ場所にタブにして置けばいいじゃん
タブ1クリックで切り替えられるんだからさ
0374デフォルトの名無しさん2013/07/01(月) NY:AN:NY.AN
なるほど、タブでアレしたらよさげな感じになりそうですね

っていうか・・・
64bitコンパイルできるっつーからゲットしたんだけど
これプロジェクトのターゲットに32bitしか表示されないんだけど・・・
どやったら64bitでコンパイルできるんですかね??
0375デフォルトの名無しさん2013/07/01(月) NY:AN:NY.AN
プロジェクトマネージャ
ターゲットプラットホーム
右クリック
プラットホームの追加
0376デフォルトの名無しさん2013/07/01(月) NY:AN:NY.AN
>>375
ありがとうできました・・
これプロジェクトマネージャからでしか追加できないのかなあ

めっちゃ64bitをアピールしまくってたくせに何でデフォで選択できないんだろこれwwww
0377デフォルトの名無しさん2013/07/01(月) NY:AN:NY.AN
フォームだけのexeで4MBは多分Builderのリンカがアホなのが原因
sensorとか使ってないRTLがてんこ盛りにリンクされてる

DelphiでフォームだけだとXE3では2.2MBくらいだった
0378デフォルトの名無しさん2013/07/01(月) NY:AN:NY.AN
>>377
マジですか
むしろDelphiでもXE4にしたら4MBくらいになったりとか?

ちなみに、C++Builder1、3、5、6、2007、2010、EX4と使ってきたけど
新しいのリリースする度にどんどんexeが肥大化してってるww
まあいろんな機能が実装されてるから仕方ないんだろうけど
フォームだけで4MBは無いよなあ・・・
0379デフォルトの名無しさん2013/07/01(月) NY:AN:NY.AN
今やってみたら、Delphi XE4でもフォームだけで2.2MBだった。
俺の所ではBuilder XE4では3.5MBだけど何が違うんだろう?

リンカのオプションでマップファイル出力を詳細にすると何がリンクされているか分かるよ
0380デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
動的RTLのチャック入れてるとか?
0381デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
チャックって!!
チェックって脳内変換してね^^
0382デフォルトの名無しさん2013/07/04(木) NY:AN:NY.AN
XE4でさ、メモリをコピーだけするのを作ったのさ
んで、64bit OSで32bitと64bitでコンパイルして速度計ったら
64bitでコンパイルした方が倍時間がかかってたんだけど、何で?
0383デフォルトの名無しさん2013/07/04(木) NY:AN:NY.AN
ソースさらせ
単に対象メモリサイズまで倍になってるってことじゃないだろうな
0384デフォルトの名無しさん2013/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 );
0385デフォルトの名無しさん2013/07/04(木) NY:AN:NY.AN
CopyMemory が原因みたいだな
*des++=*src++
で単純にコピーすると64bitの方が速いな
0386デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
>>385
やってみた。
64bitの方が早くはならなかったが同じくらいの速度にはなった。
0387デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
System::Move()とかmemcpyだとどうかな?
0388デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
memcpyはCopyMemoryと同じだった
Moveは使ってないっぽ
0389デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
Moveやってみた
forで回すのと同じくらいの速度で32も64も同じくらいの速度だった
0390デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
Moveはx86だとfastcodeのアセンブラで、x64はfastcodeのpascalコードなので、同じくらいというのは
まぁそんなもんかという気はする。
0391デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
::CopyMemory って WinAPI 呼ぶんじゃないの?
0392デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
>::CopyMemory って WinAPI 呼ぶんじゃないの?
CopyMemory自体がWin32API
0393デフォルトの名無しさん2013/07/07(日) NY:AN:NY.AN
>CopyMemory自体がWin32API
じゃ遅くても仕方ないな。Win64 API 使えないのかよ。
使えねーつーるだな
0394デフォルトの名無しさん2013/07/07(日) NY:AN:NY.AN
さてどうしようか
0395デフォルトの名無しさん2013/07/07(日) NY:AN:NY.AN
またmalloc()やプリコンパイルヘッダの時みたいにユーザーが提案してきた
ルーチンを組み込むつもりなのかな
0396デフォルトの名無しさん2013/07/08(月) NY:AN:NY.AN
>>393
えっ?
0397デフォルトの名無しさん2013/07/08(月) NY:AN:NY.AN
64bitネタがでていたのでXE4にVUPしてから64bitでビルドしてなかったので試してみたら3倍速位になった
デジカメのRAW現像なのでshort変数ばかり使ってるんだけどなぜ速くなったのか全くわからん
0398デフォルトの名無しさん2013/07/09(火) NY:AN:NY.AN
exeのサイズは何倍になった?
0399デフォルトの名無しさん2013/07/09(火) NY:AN:NY.AN
32bitで3.4Mが64bitは9.8Mになってた
ランタイム不要のReleaseビルドでの比較です
2010で作成したソースをClipboardで使われているNativeUIntの部分を条件分岐追加してコンパイルしただけ
0400デフォルトの名無しさん2013/07/09(火) NY:AN:NY.AN
XE4 での 32bit 版の大きさも知りたいところだな
0401デフォルトの名無しさん2013/07/09(火) NY:AN:NY.AN
何の大きさ?チンポ?
0402デフォルトの名無しさん2013/07/09(火) NY:AN:NY.AN
XE4 での 32bit 版のチンポも大きさも知りたいところだな
0403デフォルトの名無しさん2013/07/09(火) NY:AN:NY.AN
だから32bit版の何の大きさを知りたいのさ?チンポ?
0404デフォルトの名無しさん2013/07/09(火) NY:AN:NY.AN
399は両方XE4です
2010だと1.2Mだった
サイズはあまり気にしないがやっぱりでかくなってるんだな
0405デフォルトの名無しさん2013/07/09(火) NY:AN:NY.AN
チンポ?
0406デフォルトの名無しさん2013/07/10(水) NY:AN:NY.AN
C++Builder XE4でandroidアプリって作成できますか?
0407デフォルトの名無しさん2013/07/10(水) NY:AN:NY.AN
出来ねーよ
0408デフォルトの名無しさん2013/07/10(水) NY:AN:NY.AN
雑魚は黙ってろよ
0409デフォルトの名無しさん2013/07/17(水) NY:AN:NY.AN
C++Builder5で質問なんだけど
最初はなんともなかったんだけど
フォーム数が増えてきてからコンパイルするとアイコンがデフォになってしまう
その状態になっても何度も再構築してたらちゃんと指定したアイコンになる時もあったんだけど
今はもう完全に何度再構築してもデフォアイコンのまま
しかもこの現象はXPだけでWin7だとちゃんとアイコンが表示されている。
このバグを回避してちゃんと指定したアイコンになる方法を教えてくださ・・・・
0410デフォルトの名無しさん2013/07/17(水) NY:AN:NY.AN
GDIオブジェクト数の制限が掛かってるんじゃね?
レジストリいじって再起動かも
0411デフォルトの名無しさん2013/07/17(水) NY:AN:NY.AN
レジストリどこ弄くればいいですかね?
0412デフォルトの名無しさん2013/07/17(水) NY:AN:NY.AN
http://technet.microsoft.com/ja-jp/windows/mark_16.aspx

ここをよく読んで

http://factory.sakura.ne.jp/tuneapp/

これで変更

レジストリエディタでも変更できるけど間違えるとWindowsが起動しなくなったりして危険

しかし制限値は10000なのでこれが原因じゃないような気がするなあ
0413デフォルトの名無しさん2013/07/17(水) NY:AN:NY.AN
>>412
ありがとう。
よく読んでアレしてみます
0414デフォルトの名無しさん2013/07/17(水) NY:AN:NY.AN
プロセス毎に10000だよ?
Formにそれだけのコンポーネント乗っけてないよね?
0415デフォルトの名無しさん2013/07/17(水) NY:AN:NY.AN
1つのフォームに1万も乗せてないですが
フォーム数は100ちょいで合計してもコンポーネント数は1万も無いかもあるかもって感じですが
0416デフォルトの名無しさん2013/07/17(水) NY:AN:NY.AN
dfmファイルは116ありました。
ちなみにちなみに、浅いフォルダでコンパイルすると正常にアイコンが表示されます
と言ってもダメな時のフォルダ階層って4つくらいなんですけどね・・
ルートにフォルダ作ってそこでやると何故か大丈夫
0417デフォルトの名無しさん2013/07/17(水) NY:AN:NY.AN
>>416
それじゃあ>>412やっても変わらないだろうな・・・
俺の場合はJaneStyleで多量のJPGを一気に開くと画面が崩れるので設定を変えたんだが
他の原因だな
0418デフォルトの名無しさん2013/07/17(水) NY:AN:NY.AN
浅いフォルダだとおk?
もしかしてパスの長さがMAX_PATHを超えてないか?
0419デフォルトの名無しさん2013/07/17(水) NY:AN:NY.AN
>>417
やっぱ変わらないですか

>>418
浅いフォルダ階層だとおkですがしかし
しかし、フォーム数が少ない時やもっと深い階層で他のフォームが少ないのは大丈夫
階層深くてもフォルダ名が短いのでMAX_PATH超えることはないです256ですよね?
せいぜいあって100バイトあるかないかですね
0420デフォルトの名無しさん2013/08/05(月) NY:AN:NY.AN
C++Builder2009で作成したプログラムをWindows7で実行したのですが
リストビューのカラム幅を変更しようとドラッグすると、ドラッグ途中では
再描画されずに縦棒で位置を示す表示がされるだけで、ドラッグ終了で
位置が確定してやっと新しいカラム位置で再描画されます。
これは2009はWindows7をサポートしていないことが原因でしょうか?。
また2009でもドラッグ中に再描画できるようなウラ技(?)とかありますか?。
スプリッターはResizeStykeをrsUpdateにしておけば旧OSと同様に
処理されていますが、カラムの変更も同じような感じにしたいのですが・・・。
0421デフォルトの名無しさん2013/08/08(木) NY:AN:NY.AN
C++Builder2009なんですが、

TTreeview の LoadFromFile と SaveToFile メソッド

内部的にはUnicode だと思うんだけど、 SaveToFile で Unicode で保存まではいいんだけど
LoadFromFile で Unicode で読み込んでくれず、どうやらS-JISで読んでいるみたいなんです。

LoadFromFile で Unicode で読み込む方法か、
もしくは SaveToFile で S-JISで保存する方法があったら教えてください。

TStringList だと TEncoding で指定できるのに・・・。
0422デフォルトの名無しさん2013/08/08(木) NY:AN:NY.AN
overloadされたLoadFromFileが存在してない?
0423デフォルトの名無しさん2013/08/08(木) NY:AN:NY.AN
ないです。

E2227 _fastcall TCustomTreeView::LoadFromFile(const UnicodeString) の呼び出しに余分なパラメータがある

といわれます。
0424デフォルトの名無しさん2013/08/08(木) NY:AN:NY.AN
どうにも方法がないなら、TStringList→TStream系→TTreeviewでなんとかなりませんかね。
もしくは、TStringList.Text→TStringStream→TTreeviewとか。
当方Delphiかつ現在環境を用意してないので試してはいない。適当でスマソ。
0425デフォルトの名無しさん2013/08/09(金) NY:AN:NY.AN
>>424
TStream系に変換してみましたが、TTreeview のLoadFromStream の段階でダメのようです。

当面は原始的に各ノードに対して .StringOfChar('\t',Node->Level)+Node->Text; をTStringListに追加していって、それを保存という感じで対応しようと思います。
この方法で保存したものなら TCustomTreeView::LoadFromFile(const UnicodeString) でちゃんと読み込めましたので。

ありがとうございました。
0426デフォルトの名無しさん2013/08/15(木) NY:AN:NY.AN
評価式についての質問なんですが。

int a=10,b=20;

if(a+=b && a==30) { }

こういう式があったとして、これって真になるということは保証されていましたっけ?
されてない?

if( (a+=b) && a==30) { }

こうすればOK?
0427デフォルトの名無しさん2013/08/16(金) NY:AN:NY.AN
変態コードだけど、いいんじゃね?
0428デフォルトの名無しさん2013/08/21(水) NY:AN:NY.AN
C++Builder6で作られたソフトのメンテやらされているんだけど
簡単な画像処理で
Image1->Canvas->Pixels[x][y]=color;
で512*512ぶん回してるところがやたら遅いんだけど

Canvasを実メモリ配列に吸い出して
なんか処理してから
元に戻したいんだけど、どうすればいいんでしょ?

サンプルコードでもあれば教えてください。
0429デフォルトの名無しさん2013/08/21(水) NY:AN:NY.AN
>>428
今日も面接いってきたよ 2012年の3月から147社正社員面接しているのに採用されないよ
正社員歴2年の高卒の27だよ 福岡市に一人で住んでるよ 身長174センチ体重55キロだよ
資格は 簿記3級 秘書検定3級 ITパスポート,運転免許 モスのエクセルとワードだよ
これはネタではないよ
事実だよ
コピペでもないよ
0430デフォルトの名無しさん2013/08/21(水) NY:AN:NY.AN
>>428
ScanLine()で一行分ゴッソリ取ってくるのが普通じゃないの?
0431デフォルトの名無しさん2013/08/21(水) NY:AN:NY.AN
>>430
ありがとうございます。
VC++ばかりやってたのでVCLのメソッドがよく判っていません。
明日やってみます。

ついでと言ってはなんですが、これ以外にcanvasのイメージを一気にxy配列で取り込む方法ってありますか?
0432デフォルトの名無しさん2013/08/22(木) NY:AN:NY.AN
>>431
CopyRect使えばTBitmapにコピー出来るけどそんな事したいのか?
配列に取り込むには一度TBitmapに変換してからじゃないと1ドット毎に
システムコールが起きるので遅くて仕方がない
0433デフォルトの名無しさん2013/08/22(木) NY:AN:NY.AN
だいたいWindowsのビットマップは丸っきり前後関係が逆なのでC言語の配列とは
相性が最悪なんだよな

C<=>FORTRANで行と列を交換するtranspose()位の手間がかかる
0434デフォルトの名無しさん2013/08/22(木) NY:AN:NY.AN
ここはくだすれ...

歴史的に Windows BitMap の内部フォーマットは千差万別。かつ、連続したメモリブロックになっていない場合もある(あった)
ので結構めんどくさい。ひとことで言うと例外が多い。
素性のはっきりしたデータを最新の OS で動かすのであればそんなに問題ないんだけど
どんな画像でも、ちょっとふるい OS でも、となるとね...

なので一ピクセル単位のアクセスってのが、とっても遅いんだけど、まぁ安全。ってこと。
もうちょい早く処理したいなら ScanLine を使えば水平一ラインごとに読み書きできるので
たいていこちらを使う。
0435デフォルトの名無しさん2013/08/22(木) NY:AN:NY.AN
千差万別って、DDBとDIB Sectionの2種類しかないじゃないか
0436デフォルトの名無しさん2013/08/22(木) NY:AN:NY.AN
フルカラーの24bit16万色が(+8bitα値がGDI+)当たり前の今は関係ないけど、
昔は少ないVRAMにパレットを割り当てる事によって原色に近い色を出してたろ

そういうのを全部VCLに吸収して表面から見えないようにしていたので、プログラム
によってはびっくりするような結果が出ていた

そこまで考慮するかどうかで対応策も違ってくる
無視していいと思うんだけどね
0437デフォルトの名無しさん2013/08/22(木) NY:AN:NY.AN
×16万色
○256^3≒1677万色
0438デフォルトの名無しさん2013/08/22(木) NY:AN:NY.AN
http://www13.plala.or.jp/kymats/study/multimedia.html

ここが分かりやすいな

俺はDelphi Graphic Secretsというすっげー古い本を読んでるけど
今でも関心するような事が書いてある

でもほとんど今では役に立たないような事が多いけどな
VCLがいかに初期Windowsのヒデエ場所を隠蔽して見えなくしているかも
だいたい分かる
04394312013/08/22(木) NY:AN:NY.AN
皆様のご親切に感謝です。
全体の内容がわかってなくての質問でした。

よく見てみると今回の質問は
ネットワークからモノクロ8ビットの画像データをメモリ配列に取り込んで
このメモリ配列の画像データを小さいウインド画面でモニタするために
 color=data*0x10000+data*0x100+data;
 Image1->Canvas->Pixels[x][y]=color; // これをグルグル
とやっているのを高速化したいのですがお勧めの手法はなんでしょうか?

単純に画像メモリ配列データをウインドに画像として出力したいということで
古いOSと古いマシンの対応は不要です。

勉強不足長文すみません。
0440デフォルトの名無しさん2013/08/22(木) NY:AN:NY.AN
http://www.geocities.jp/asumaroyuumaro/program/tips/ScanLine.html

こんな感じでScanLine()を行数分繰り返して出来たBitMapを
Imageに代入
0441デフォルトの名無しさん2013/08/22(木) NY:AN:NY.AN
ああそうだ、初めて知ったんだけど、ImageコンポーネントのPictureプロパティの
HandleからHBITMAP構造体へのポインタを得て、BITMAP構造体を
GetTObject()で取得しても、bmBitsはNULLになっちゃうのな
これどうすればいいんだろ
04424312013/08/23(金) NY:AN:NY.AN
>>440

おかげさまで何とか理解出来ました。

初歩的な質問に付き合っていただきましてありがとうございました。
0443デフォルトの名無しさん2013/08/23(金) NY:AN:NY.AN
>>441
そっちには入っていない
MaskHandleの方に入っている
というかわざわざカプセル化されているVCLの中身を覗いてゴニョゴニョしたいのなら
初めからMFCで書けばいいだろ
0444デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
TBitmap(もしくは、TCanvas)の2つを透過コピーするサンプルコード下さいorz


>>441

TImage->Picture->BitmapのWidthかHeightを設定するタイミングでアサインされるんでわ?
0445デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
ScanLineでマスク画像の白の部分以外を描けばいいだけじゃない?
マスク画像使わないんなら設定した色以外の場合だけ描けばいいんじゃない?
0446デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
AlphaFormatの事だとVCLは事情が異なるからなあ

GDI+をサポートしていないので、描画時に考慮するだけで他の動作は違うし
04474442013/08/30(金) NY:AN:NY.AN
>設定した色以外の場合だけ描けば

調べても動作させても上手くいかなかったので、そうします。
0448デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
ListViewでレポート表示させている場合に、ある行にフォーカスを設定すると
その行が画面に見えてない時には見える位置まで自動でスクロールしてしまうのですが
スクロールさせないようにすることは可能でしょうか?
スクロールしてしまった後に自力で戻すしかないでしょうか?
0449デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
ある行にフォーカスを設定ってSelectedってこと?
だとしたらウチではそんなことにならないんだけど…
0450デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
SelectedじゃなくてFocused
設定すると点線で囲まれる
0451デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
ListView1->Items->Item[10]->Forcused=true;
にしても全然スクロールしないよ。XEだけど
0452デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
その行が表示されていない状態でフォーカスを設定すると見える位置までスクロールしない?
ファイラーなんかでフォーカス行が見えていない時に↑↓キーでフォーカス行を変更すると
見える位置までスクロールするのと同じことなんだけど
0453デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
>>451
描画の更新するとどうなる?
0454デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
ListView1->Invalidate();しても移動しないよ
0455デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
UpdateやRefreshは?
あと移動しないということは見えない状態のままということだよね
それで↑↓キーをどっちか押すと見える位置まで移動する?
0456デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
いろいろ試してみた結果 「Forcusedをtrueにしたから」 というわけでもなく
再描画されたタイミングでフォーカス行までスクロールされているみたい
あと仮想リストビューを使っているのでその辺も違いがあったかもしれない
リストのデータを更新してCountに件数をセットしたタイミングでスクロールされていた
(フォーカスを設定していたタイミングではなかったので、ここで勘違いしてた)
なのでCountに件数をセットする前に表示されている一番上の行番号を退避しておいて
件数をセットした後でまた元の一番上の行番号が見えるように戻してやることで解決したっぽいです
ここまでお付き合いして情報を寄せて頂きありがとうございました
0457デフォルトの名無しさん2013/09/05(木) 17:36:57.52
C++Builder6のIDEについて質問です。
IDE使用中にパソコンがフリーズしたことがあり、それ以来エラーが出るようになりました。
エラーのメッセージは下記リンク先と全く同じです。

http://www.functiont.info/diary/200509.html
2005年9月18日(日) Delphiの本体でエラー?
--
モジュール 'vcl60.bpl' のアドレス 40110C48 でアドレス 00000018 に対する書き込み違反がおきました。
モジュール 'coreide60.bpl' のアドレス 0052700C でアドレス 000000B4 に対する読み込み違反がおきました。

私の場合は一応は使えるのですが、IDEのメニューで「開く」から別のプロジェクトを開くと
この上のエラーメッセージが出ます。そして検索やコンパイル結果が表示されるウィンドウが
ドッキングから外れて浮いた状態で小さく表示されます。この後このウィンドウを
ドッキングし直せば以降は普通に使えるのですが、また別のプロジェクトを開くと
同じ事象が発生します。
またこのウィンドウをドッキングから外したりして弄っていたら下のエラーメッセージが出ました。

リンク先では再インストールで直ったとあるので、修復インストールや、アンインストール後に
インストールし直してみたりしたのですが改善されませんでした。
ファイルが壊れたのなら上書きで直りそうですが、何かゴミデータでも残っているのでしょうか?。
そのウィンドウの位置やサイズ情報を読み込んで変な位置に表示しようとしてエラーが出ている
ようにも思えるのですが、何かお心当たりのある方いらっしゃいますか?。
0458デフォルトの名無しさん2013/09/05(木) 17:47:04.84
レイアウトファイルぶっ壊れてるんじゃね
デスクトップレイアウトとデバッグレイアウトを上書き保存したらどうだろうか
0459デフォルトの名無しさん2013/09/05(木) 18:18:41.61
レスありがとう。
「標準」という名称でデスクトップの配置を保存してみましたがやはり上のメッセージが出ますね。
また 表示→デスクトップの配置→標準 という感じで保存した名称「標準」を選択しようとしても
同じエラーメッセージが表示されて選択できず <未指定> にチェックが付いたままになります。
この配置の読み込みでエラーが出るということはその辺に問題点があるということなのでしょうけど
一体何を読み込んでしまっているのだろう・・・。
保存すると 標準.dst というファイルが作成されましたが、同じフォルダ内にある bcb.dsk と見比べて
みればいいのかな?。 dsk ファイルも散々書き換えて試したのですが、やはりこの辺を徹底的に
調べるしかないか。
0460デフォルトの名無しさん2013/09/05(木) 19:59:35.35
http://docwiki.embarcadero.com/RADStudio/XE4/ja/%E3%83%87%E3%82%B9%E3%82%AF%E3%83%88%E3%83%83%E3%83%97_%E3%83%AC%E3%82%A4%E3%82%A2%E3%82%A6%E3%83%88%E3%82%92%E4%BF%9D%E5%AD%98%E3%81%99%E3%82%8B

このあたりはどうなん
俺のXE4でも使えたけど

http://stackoverflow.com/questions/2893191/delphi-2009-rad-studio-desktop-selector-not-working

こんなのも発見した

HKEY_CURRENT_USER\Software\CodeGear\BDS\6.0\Session\DesktopName=Default Layout
HKEY_CURRENT_USER\Software\CodeGear\BDS\6.0\Session\RuntimeDesktopName=Debug Layout

壊れてないか?
0461デフォルトの名無しさん2013/09/05(木) 21:22:19.99
C++Builder6なので同じような項目を探してみたところ以下のような箇所を見つけました。

[HKEY_CURRENT_USER\Software\Borland\C++Builder\6.0\Session]
"DesktopName"=""
"RuntimeDesktopName"=""

現状では空欄になってますけど、これに各々 Default Layout と Debug Layout って入れるということなのかな?。
0462デフォルトの名無しさん2013/09/05(木) 21:38:11.37
古いパソコンにもC++Builderを入れてたので(こちらは問題なく動く、けどパソコンが非力)
レジストリを見てみましたがその2つの項目自体が無いですね。関係ないかもしれないです。
>>459 で「標準」という名前でデスクトップ レイアウトとデバッグ時のレイアウトを作ったので
その時に追加されたのかもしれない。そして症状が変わらなかったため削除したので
空欄になってるだけみたいです。
0463デフォルトの名無しさん2013/09/05(木) 22:05:26.23
参考にならないかも知れないですがXE4ではこうなっています

[HKEY_CURRENT_USER\Software\Embarcadero\BDS\11.0\Session]
"RuntimeDesktopName"="Debug Layout"
"DesktopName"="Default Layout"
0464デフォルトの名無しさん2013/09/05(木) 22:26:56.87
http://edn.embarcadero.com/article/39780
8.デスクトップレイアウトの設定

2009辺りからもプリセットで用意されてるみたいですね。
バージョン6の頃はまだ無いみたいです。

またアンインストールしてみるかなぁ。
多分レジストリに情報が残っていたんじゃないかと推測。
BCB6RegClean.exeをやればいいのかな?。
0465デフォルトの名無しさん2013/09/26(木) 23:00:41.47
XE2で、エントリーポイント(WinMain)があるファイルの
USEFORMマクロの上に気が付いたら空行を
どんどん追加されてるんだけど、これどうにかならないの?
0466デフォルトの名無しさん2013/09/28(土) 19:03:52.62
C++Builder2009Proを使っています。
.pas ファイルをコンパイルしようとしているんですが、Indy系のファイルが見つからないとしてエラーになってしまいます。

>[致命的エラー] F1026 ファイル 'IdBaseComponent.dcu' が見つかりません

cppのC++で書かれたフォームにIdHTTPを貼り付ける → コンパイルは通る。
pasのDelphiで書かれたフォームにdHTTPを貼り付ける → 上記のエラーが出る。

C++Builder2009に付属のdccコンパイラはお試し的なもので本格的にコンパイルできるようにするにはDelphi買えってことなんでしょうか?
それともなにか方法があるんでしょうか。
(まあC++BuilderだけでDelphiも利用できたら分ける意味が無いなとは思うのですが)
0467デフォルトの名無しさん2013/09/28(土) 19:43:41.98
>>466
Delphiユーザーですが、IdBaseComponent.dcuが存在するならば
そこへのライブラリパスが適切に設定されていないのでは?
という気がします。
0468デフォルトの名無しさん2013/10/08(火) 16:46:16.13
Delphi糞ユーザーは口をはさまないで下さい。うざいだけです。
0469デフォルトの名無しさん2013/10/08(火) 20:14:26.21
>>468
お前どこでも荒らしてるな
DelphiもC++Builderも持ってない癖に
0470デフォルトの名無しさん2013/10/08(火) 20:45:58.37
触らないほうが…
0471デフォルトの名無しさん2013/10/10(木) 03:23:18.25
エンバカってバグ取り=アップデート(要お布施)ってこと?
XE6が出ても、新規では10万するのかな
0472デフォルトの名無しさん2013/10/13(日) 12:32:54.38
リリースビルドの設定でパッケージを含んで動的リンクさせないような設定にしたいんだけど
毎回プロジェクト作るごとに設定するの面倒だからデフォルト設定にしたいんだけどそう言う設定ないの?
0473デフォルトの名無しさん2013/10/13(日) 12:50:08.40
よくわからんけど。
「プロジェクト」->「オプション」メニューから設定してない?
「ツール」->「オプション」から設定すればデフォにならない?
0474デフォルトの名無しさん2013/10/13(日) 13:24:40.58
ビルドの設定はわからなかったけど、フォーマッタって言うの見てたら
ソースの成形っていうメニューがあることを初めて知って設定して実行したらいい感じになった
VSだとある程度自動だけどこれいいな
0475デフォルトの名無しさん2013/10/14(月) 10:02:24.58
>>472
どのバージョンを使ってるのか分からないけど
プロジェクトのデフォルト設定はXEまではあったが、XE2からは廃止された
XE2からはオプションセットにプロジェクト設定を保存して、それを適用しろという事らしい
0476デフォルトの名無しさん2013/10/17(木) 11:29:53.79
Builder XE4でNMSMTPってみつからないんだけど?
なくなった?
Indy使えってこと?
0477デフォルトの名無しさん2013/10/17(木) 19:24:33.34
NM*とはずいぶん古いな。とっくに作ってた会社もなくなってる。Indyでどうぞ。
0478デフォルトの名無しさん2013/10/17(木) 21:30:50.90
入力補完でキャストすれば行けるのに出てこない候補とかあるんだけど
設定とかあるの?
0479デフォルトの名無しさん2013/10/17(木) 21:31:22.72
あ、XEです
0480デフォルトの名無しさん2013/10/23(水) 11:10:01.90
XE4ってデフォでAPIがWCHARになってるんだけど
WriteFileって引数はWCHARで通るのに書き出されたファイルみると
ちゃんとなってない・・・
アスキーの"123"ってかきたかったのに"1 2 3 "ってなっちゃうんだけど
これcharでやろうとしたら逆にエラーでるし
どうしたらWCHARでちゃんとWriteFileでファイル作れますかね?
0481デフォルトの名無しさん2013/10/23(水) 11:21:58.49
あれ?
試しにサイズにsizeof(WCHAR)かけたらちゃんとかけた
lstrlenは文字数を返してるけどWriteFileのサイズってバイト数のままかこれ
でもサイズが半分しか指定してなくて何でWCHARの2バイトのままかかれるのかwからん
0482デフォルトの名無しさん2013/10/23(水) 12:10:53.61
内部は全部ユニコードだから
0483デフォルトの名無しさん2013/10/23(水) 16:46:48.23
XE4で質問
ソフトを起動してからボタンを押すとメインフォームのVisible=falseにしたらフォームが消えるんですが
コンストラクタでやっても消えてくれません。
Application->ShowMainForm = false;
これやっても消えてくれません。
起動時にどうやったらフォーム非表示で起動できますかね?
0484デフォルトの名無しさん2013/10/23(水) 19:31:20.33
ApplicationEvents配置して、OnActiveイベントに記述
0485デフォルトの名無しさん2013/10/23(水) 19:35:46.81
>>480-481
BOOL WriteFile(hFile, lpBuffer, nNumberOfBytesToWrite, lpNumberOfBytesWritten, lpOverlapped)

HANDLE hFile; /* 書き込み先のファイルのハンドル */

LPCVOID *lpBuffer; /* ファイルに書き込むデータのアドレス */

DWORD nNumberOfBytesToWrite; /* 書き込むバイト数 */

LPDWORD lpNumberOfBytesWritten; /* 書き込まれたバイト数のアドレス */

LPOVERLAPPED lpOverlapped; /* 重複I/Oに必要な構造体のアドレス */

これでしょ?
引数は 
LPCVOID だからもとからバイト数だよ。
0486デフォルトの名無しさん2013/10/23(水) 19:42:04.47
だよな
0487デフォルトの名無しさん2013/10/24(木) 05:28:10.04
MainFormが表示されてから、表示を消さないといけない
MainFormが表示される前のタイミングで、表示を消しても無意味
ノーマルなやり方は
MainFormのOnActivate()イベントで、消すのが普通だろうな
0488デフォルトの名無しさん2013/10/24(木) 09:10:40.83
どういうのを作りたいのかよくわからんがフォーム自体いるのかね
消えたまま起動して後からまた表示させることもあるんかな
トレイに入れておくとか、あるいはバックで動かしたいのか
フォーム使わないなら最初から無いまま作ればいいんだし
0489デフォルトの名無しさん2013/10/24(木) 09:40:11.62
まあ、オプションの自動生成フォームから、MainFormを外せばいいんだけどね
0490デフォルトの名無しさん2013/10/24(木) 11:55:35.09
>>487
そこでfalseしても消えてくれない
0491デフォルトの名無しさん2013/10/24(木) 12:39:30.47
XE4とwin8で一回目にダイアログを実行してなにかファイルを選択して、
二回目にダイアログを実行したとき、フルパスで表示されます
ファイル名だけを表示させる方法を教えてください。
昔はファイル名だけが表示されたと思うんですが、、、、
ttp://www.dotup.org/uploda/www.dotup.org4608757.png
0492デフォルトの名無しさん2013/10/24(木) 14:03:31.99
>>489
それやると次は、「プログラムを起動しても何も起きません」ってなるんじゃね?
0493デフォルトの名無しさん2013/10/24(木) 15:46:08.57
>>483
フォームの〜.cppじゃなくて、プロジェクト名.cppのRun()の前で
Application->ShowMainForm = false;
やるんじゃないの?
0494デフォルトの名無しさん2013/10/24(木) 17:14:19.35
Application->ShowMainForm = false; はコンストラクタでおk
0495デフォルトの名無しさん2013/10/24(木) 19:26:03.98
>>483で、

> ソフトを起動してからボタンを押すとメインフォームのVisible=falseにしたらフォームが消えるんですがコンストラクタでやっても消えてくれません。
> Application->ShowMainForm = false;
> これやっても消えてくれません。

って書いてあったから流れ的にコンストラクタで Application->ShowMainForm = false; やっても消えないという意味だと解釈してしまったが
質問者は コンストラクタで Visible=false しかやってないってことなのか。

>>493
自動生成のフォームのコンストラクタはもとからRun()の前だよ。
0496デフォルトの名無しさん2013/10/26(土) 21:50:00.84
コンポーネント作ってるんだけど、ファイル名を格納するStringで
オブジェクトインスペクタにファイル選択ダイアログを表示させるボタンを表示させたいんだけど
どうやったらいいのでしょうか
0497デフォルトの名無しさん2013/10/26(土) 22:08:36.95
プロパティを文字列型じゃなくてTFileName型に変えたらどう?
0498デフォルトの名無しさん2013/10/26(土) 22:29:04.51
>>497
出ませんね
0499デフォルトの名無しさん2013/10/26(土) 22:44:08.65
あら。ごめん。俺あんま経験なくてw
なんか、プロパティエディタ登録すればいいらしいんだが、
DesignIntf.pasやDesignEditors.pas,VCLEditors.pasのデフォルトや標準のエディタが
登録されてて、これで間に合わなければ自分で作るらしい。
登録にはRegisterPropertyEditorとかいう関数で。
って、俺じゃあれだから、プロの意見の待った方がいいな。
0500デフォルトの名無しさん2013/10/26(土) 22:51:17.03
VCLEditors.pasにTMPFileNamePropertyというTMediaPlayer用の
File Open Dialogを表示するプロパティエディタがあるから、これを真似れば
いいんじゃないかと思う。
0501デフォルトの名無しさん2013/10/27(日) 15:44:18.10
初歩的な質問ですみません。
for文やwhile文などでくりかえし処理をすると,繰り返しの回数が99回目までは問題ないのですが
必ず100回目で「sqrt domain error」が必ず出ます。
数値を色々変えてみても必ず起きます.
ssqrt domain errorはルートの中身が負のときでるエラーだと思うのですが
それ以外に出る原因はありますか?
0502デフォルトの名無しさん2013/10/27(日) 16:20:24.52
そう言う場合はまず作ってるプログラムから離れて間違っているのか確認してから
そうでは無いなと確信してから自分のプログラムを疑う物ですよ
0503デフォルトの名無しさん2013/10/29(火) 13:52:21.53
>>501
√に入れる変数にunsigned入れたらいいんじゃね?
0504デフォルトの名無しさん2013/10/29(火) 14:24:43.48
何でもassert
0505デフォルトの名無しさん2013/10/29(火) 15:07:07.12
デバッグすればいいだけじゃん
ループの100回目でブレークポントを張って
変数の値を確認すればよい
0506デフォルトの名無しさん2013/10/29(火) 23:49:47.28
スタックでも壊してたりしてな
0507デフォルトの名無しさん2013/11/05(火) 17:38:05.77
void __fastcall TForm2::ButtonWRClick(TObject *Sender)
{
char *tmp;
CamRegInfo ci;
ci.devaddr = 0xba; // dev addr

unsigned short val[3];
int addr = 0;
int data = 0;

tmp = strdup(EditAddr->Text.c_str());
sscanf(tmp,"%02x",&amp;addr);
free(tmp);

tmp = strdup(EditData->Text.c_str());
sscanf(tmp,"%02x",&amp;data);
free(tmp);

ci.devaddr = addr;
ci.data = data;
USBWriteData((unsigned char *)&amp;ci,6,0x07); // to I2C Controller
}

2010年くらいにいただいたビルダーのサンプルプログラムを今,実行しようとしていますが
[BCC32 エラー] Unit2.cpp(204): E2034 'wchar_t *' 型は 'const char *' 型に変換できない
[BCC32 エラー] Unit2.cpp(204): E2342 パラメータ '__s' は const char * 型として定義されているので wchar_t * は渡せない
というエラーがtmp = strdup(EditAddr->Text.c_str());に出ます.
調べるとこうするとエラーが取れました.tmp = strdup(AnsiString(EditData->Text).c_str());
しかし,新たに[ILINK32 エラー] Fatal: ファイル 'K.OBJ' を開けません
というエラーが出て困っています.
0508デフォルトの名無しさん2013/11/06(水) 00:38:50.77
それは困りましたね。
0509デフォルトの名無しさん2013/11/06(水) 09:22:42.32
Unicodeの意識が無さ過ぎ
0510デフォルトの名無しさん2013/11/06(水) 10:02:11.48
0511デフォルトの名無しさん2013/11/06(水) 10:14:53.13
>>509 スレタイ読め
0512デフォルトの名無しさん2013/11/06(水) 10:23:07.10
>>511
オマエのクソレスの方が何の役にもたってないことに気付けボケ
0513デフォルトの名無しさん2013/11/07(木) 15:24:59.71
仮想デストラクタをcppに書くと必ず、
「ここには記憶クラス"virtual"は指定できない」ってエラーが出るんだけど
どうしたらよいの?
0514デフォルトの名無しさん2013/11/07(木) 17:28:29.26
>>513
ヘッダに宣言書いているでしょ?
CPPに書くデストラクタの本体には virtual はつけない。
       ~~~~~~~~~~~~~~~~~~
もしCPPに書いているのがclass宣言で、その宣言に virtual をつけるのはOK

もしそのようにしているのに怒られると言うなら具体的にコードを書いてみて
0515デフォルトの名無しさん2013/11/07(木) 17:32:54.63
>>514
ありがとう!ヘッダに宣言書いていました
0516デフォルトの名無しさん2013/11/07(木) 22:21:46.25
System.DateUtils.hppをインクルードすると、
W8058 ヘッダーに初期化データが含まれているためプリコンパイルヘッダーを作成できない
ってエラーが出るのは、回避不可能なの?
0517デフォルトの名無しさん2013/11/07(木) 22:38:52.41
>>516
そんなのしょっちゅうだよ
インライン展開はほんとうに控えめだし
0518デフォルトの名無しさん2013/11/11(月) 13:09:32.22
継承される可能性のあるクラスは、仮想デストラクターを置けって言うけど、
ヘッダーファイルに↓の置いておくだけでよいの?
virtual __fastcall ~TSample();
0519デフォルトの名無しさん2013/11/11(月) 13:32:23.26
>>518
それでもコンパイルエラーは出ないけど、いざ実行されるとランタイムエラーが出るんだっけ
確かそんなはず
0520デフォルトの名無しさん2013/11/11(月) 15:07:57.54
>>519
特にエラーは何も出ずに実行できるのだが
0521デフォルトの名無しさん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)宣言で問題にならないにしても、継承したクラスで問題起きるかもしれないから書いておいたほうが無難だとは思う。
0522デフォルトの名無しさん2013/11/11(月) 16:58:31.24
アプリの起動時に、しなきゃならない処理がたくさんあるんだけど
(INIファイルの読み込みとか)
メインフォームやスプラッシュフォームのコンストラクターとかに
書くと気持ち悪いから、アプリケーション初期化関連のメソッドを
並べたクラスを一つ作って、メインフォームのコンストラクターから
インスタンス作って全部やらせるのって、汚いやり方?
1つの仕事を順番にやるだけのクラスになるんだけど。
0523デフォルトの名無しさん2013/11/11(月) 17:01:13.43
>>521
これだと、"純粋関数定義の構文が正しくない"と怒られてしまうのだけど。。
virtual __fastcall ~TSample() { }
0524デフォルトの名無しさん2013/11/11(月) 17:46:35.14
>>522
別の関数作ってそこにたくさんの処理を書いてコンストラクタからその関数を呼び出すだけじゃだめなの?

>>523
そのエラーがどういう状況で発生するのか良くわからないのでお役に立てない感じ。
どういうクラス宣言しているのかちょっと気になります。
0525デフォルトの名無しさん2013/11/11(月) 17:52:53.52
>>524
ありがとう。

> >>522
> 別の関数作ってそこにたくさんの処理を書いてコンストラクタからその関数を呼び出すだけじゃだめなの?
メインフォームに関係ない処理を、メインフォームクラスに置くのは気が引けて。。

> >>523
> そのエラーがどういう状況で発生するのか良くわからないのでお役に立てない感じ。
> どういうクラス宣言しているのかちょっと気になります。
ごめん。IDEを再起動してみたら、普通にコンパイルできた。謎だ。
0526デフォルトの名無しさん2013/11/11(月) 18:15:55.83
共通なグローバルな初期化はメインのデータモジュール作って、データモジュールのコンスタラクタとかでやれば??
で、各フォーム特有の初期化は各フォームのコンストラクタでやる。
「プロジェクトオプション」の「フォーム」で指定する作成順序はメインデータモジュール->メインフォームの順で。
俺はだいたいそうやって作ってるけど。

大抵、データベースアプリとかで、グローバルな接続コンポはデータモジュール作って、そこに置くように、
その延長でそうしてる。
0527デフォルトの名無しさん2013/11/11(月) 18:47:50.47
>>526
TSQLDataSetとかTSQLConnection とかでなく、
自作のクラスを包含させるっていうこと?
ド素人で申し訳ない。。
0528デフォルトの名無しさん2013/11/11(月) 18:59:36.66
まず、データモジュールってコンポーネントはしってるんだよね??

グローバルな設定の初期化(終了化)するタイミングはデータモジュールのコンスタラクタ(デストラクタ)なわけで、
後は、君が書いたクラス次第でしょ。ここが何をして、どう使うクラスになってるのか全く想像できないから、
どう説明したらいいか・・
0529デフォルトの名無しさん2013/11/11(月) 19:02:26.66
えらそうに言わないでください
0530デフォルトの名無しさん2013/11/11(月) 19:05:13.57
それか、>>572はこういうことか。
もちろん、君のクラスはTComponent派生して、別にIDEに登録して使うわけじゃないと思うから、
TSQLConnectionみたく、IDEから貼り付けできないけど、そのクラスがインスタンスが
アプリの開始から終了までずっと、
存在する必要があるなら、データモジュールに、フィールド(プロパティ)を追加して、データモジュールの
コンストラクタ(デストラクタ)で作成・破棄してもいいし。そこはやっぱ、君のクラスが何してるか、どう使うか次第・・
0531デフォルトの名無しさん2013/11/11(月) 19:14:23.95
>>528
> まず、データモジュールってコンポーネントはしってるんだよね??
知らないんだ。リファレンスを見たところ、別のコンポーネントを一括管理するのかと思っているのだけど。

WinSocketの初期化、INIファイルのロード、各種スレッドの起動等を
メインフォームの表示前に終わらせてしまうのが目的。
元々やろうとしてたのは、この各処理を順々にやっていくパブリックメソッドを持った
アプリ初期化用クラスのインスタンスをメインフォームクラスで生成して、
そのメソッドをコールしようと思っていたのだけど。。
0532デフォルトの名無しさん2013/11/11(月) 19:29:42.48
>>リファレンスを見たところ、別のコンポーネントを一括管理するのかと思っているのだけど。
そう、それで、別にコンポーネントのためだけに使わなくてもいいわけで、そこに、グローバルなコンポーネント以外にも、
自作のグルーバルなクラスのインスタンスをプロパティ経由とかで、外部に公開してもいいわけで。そこはご自由にと。

>>元々やろうとしてたのは、この各処理を順々にやっていくパブリックメソッドを持った
>>アプリ初期化用クラスのインスタンスをメインフォームクラスで生成して、
>>そのメソッドをコールしようと思っていたのだけど。。
これをそのまんま使うなら、インスタンスの生成とメソッドコールを単にデータモジュールのコンストラクタに移動するだけ終わりじゃ?
0533デフォルトの名無しさん2013/11/11(月) 19:33:15.87
>>522でキミが 「メインフォームやスプラッシュフォームのコンストラクターとかに書くと気持ち悪い」と言ったコードを「データモジュール」のコンストラクタに書けばいいんだよ。

データモジュールは、C++Builderのバージョンがわからないのであれだけど、
自分のものは 新規作成→その他→C++Builderプロジェクト→C++Builderファイル にある

データモジュール自身にそれらを実行する関数を持たせて「別の関数作ってそこにたくさんの処理を書いてコンストラクタからその関数を呼び出す」ってのでもいいけど。
0534デフォルトの名無しさん2013/11/11(月) 19:35:02.08
クラス名は TDataModule ね
0535デフォルトの名無しさん2013/11/11(月) 20:02:57.86
説明不足で本当に申し訳ない。
汚いやり方とか、気持ち悪いとか言ったのは、
クラス名を動詞にするなとか、データがなくで振る舞い(メソッド)だけのクラスは良くないって
CODE COMPLETEやら、ほかのWEBサイトに書いてあったからなのです。
そういうクラスを作ること自体が、オブジェクト指向と外れているのではないかと。
0536デフォルトの名無しさん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ファイルのロード などのアプリケーション全体に影響する設定や処理をそこで行うということ。

ただし「各種スレッドの起動」に関してはそのスレッドが何をするものなのかにもよる気がするので。

データモジュールのユニットファイルにそれらを実行する関数を書く。
データモジュールのコンストラクタからそれを実行する。
05375352013/11/11(月) 21:01:01.58
>>536
物凄くよく分かりました!ありがとうございます!
参考に一度実装してみようと思います!
0538デフォルトの名無しさん2013/11/12(火) 15:12:44.63
>>510
リンクありがとうございます.
一通り目を通しましたが,解決方法がわかりませんでした.
どの辺を特に見たらいいですか?
0539デフォルトの名無しさん2013/11/12(火) 17:00:07.90
シングルトンデザインパターンで実装すると、

マルチスレッド アプリケーションのコンストラクタでローカル静的変数を使うことは危険です

という警告が出るのですが、どう危険なのでしょうか。
0540デフォルトの名無しさん2013/11/12(火) 17:40:58.25
初期化コードが複数回あるいは同時に実行されることがある、という
0541デフォルトの名無しさん2013/11/12(火) 17:42:13.78
この話かな?
ttp://d.hatena.ne.jp/A7M/20081027/1225088907
05425392013/11/12(火) 18:39:32.34
ありがとうございます。
マルチスレッド化する前にインスタンスが作られるのであれば、
#pragmaで消しても大丈夫な警告なのでしょうか?
0543デフォルトの名無しさん2013/11/12(火) 19:56:40.06
遅延生成をやめれば問題はない
05445392013/11/12(火) 20:26:11.82
>>543
分かりました。ありがとうございます!

それから、関係ないのですが、クラス名の1文字目の"T"って何の略ですか?
"TApplication", "TForm", "TThread", "TCheckBox"等の"T"です。
0545デフォルトの名無しさん2013/11/12(火) 20:44:20.00
昔、OWLを作った人がTypeのTだと明言してた
0546デフォルトの名無しさん2013/11/13(水) 16:44:57.65
XE4でTChartなくなった??
発見できないんだけど
0547デフォルトの名無しさん2013/11/13(水) 16:48:41.81
あ、あったわ。
変なタブに潜んでた
まあしかしお前等ってほんと糞の役にも立たないゴミ虫だよなww
0548デフォルトの名無しさん2013/11/14(木) 00:53:54.22
TurboApplication、TurboForm、TurboThread、TurboCheckBox。
0549デフォルトの名無しさん2013/11/14(木) 19:23:35.13
XE4の品質は超クソだな
さすがにXE3から数ヶ月で出ただけのことがあるわ
で、このクソ品質を修正しただけのXE5に更新するには\40,000-って
どんだけクソな会社なんだよ…
今に分かった事じゃないんだけどさ
0550デフォルトの名無しさん2013/11/14(木) 20:04:52.15
ボーランド時代は安くて痒い所に手が届く使い勝手の良いコンパイラを提供してくれていたのだが
0551デフォルトの名無しさん2013/11/14(木) 20:20:27.22
それに無理があったからボーランドは手放したんでしょ?
0552デフォルトの名無しさん2013/11/15(金) 01:00:43.35
とりあえず今のC++ XE4 Update1で発生する不具合

・ビルド時にsaveMemのエラー?でコンパイラが起動出来無くなる事がある
・インクリメンタルリンクを有効にしているとビルド後のバイナリ起動時にDelayLoaderのエラー発生
・突然プロジェクトファイルに不正なタグが書込まれる ProjectExtensions問題 XE2から
・デバッグ実行のプロセス起動時にアプリケーションエラーでIDEごと落ちる

こんなにクソなんです
QCに入れたって日本人担当者とさんざん英語でやりとりした挙げ句、
再現出来ずだしな
0553デフォルトの名無しさん2013/11/15(金) 01:43:24.74
可哀想に。
あの「日本人担当者」はボランティアなので多くを期待するな
0554デフォルトの名無しさん2013/11/15(金) 02:49:42.72
QC 入れるときに 「高橋さんはコメントしないでください」
って一文入れとけばいいと思う。

552 のバグレポートって、何番?
0555デフォルトの名無しさん2013/11/15(金) 18:42:10.89
現象が再現しないってのはよくあることだわな
ちゃんと、再現性があるなら
その再現条件を明記しないからだろ
再現しないのは、特殊環境下でしか起きないこともあるしな
あるいは自作プログラムのバグが悪さをして不安定になってるとか
自分が遭遇したBuilderのバグは、ぐぐればまず間違いなく同じ現象が出てくるわ
0556デフォルトの名無しさん2013/11/16(土) 02:04:02.26
それは甘え。
特殊なのは高橋さんのほうかもしれないしな
0557デフォルトの名無しさん2013/11/16(土) 10:40:50.67
それは言いがかりに近いな
0558デフォルトの名無しさん2013/11/17(日) 01:55:45.53
「再現できない」ってのは「バグがない」ってことではないのだよ
「テストケースエラー」でもない。

言いがかりをつけているのはどっちかな
0559デフォルトの名無しさん2013/11/17(日) 10:25:05.81
キミだよ
0560デフォルトの名無しさん2013/11/17(日) 10:52:17.44
558 支持。
0561デフォルトの名無しさん2013/11/17(日) 13:08:08.46
言いがかりだよ
0562デフォルトの名無しさん2013/11/17(日) 15:01:28.39
BCB6で32bitアプリを作る時にはどうすれば良いんでしょうか。
16bitしか作れないんでしょうか。
0563デフォルトの名無しさん2013/11/17(日) 15:16:10.42
64bitアプリの間違いか?
BCB6ならすでに32bitアプリなんだが。
0564デフォルトの名無しさん2013/11/17(日) 15:16:53.55
何か作ったexeが16bitになってるんですが、どうしたらよいんでしょうか
0565デフォルトの名無しさん2013/11/17(日) 15:26:14.61
ああ、バージョン情報を含めるをチェックしたらバージョン情報が出てきました。

マイクロソフトのサイトに、exeファイルを右クリしてバージョン情報が出てこなかったら16bitアプリって
書いてあったんですが、右クリで出てきたので32bitなんですかね。
0566デフォルトの名無しさん2013/11/17(日) 15:59:10.36
32bitになってました。どうもありがとうございました。
0567デフォルトの名無しさん2013/11/17(日) 16:18:23.61
>>565
それはMSのアプリに限っての話だろう。
32bitアプリはバージョン情報を含める事も含めない事もできる。
16bitアプリはバージョン情報を含める事ができない。
MSは自社アプリには必ずバージョン情報を含めるからバージョン情報が出ないなら16bitアプリっていう判断なんだと思う。
あとMSでなくても市販のアプリは基本的にバージョン情報含めているから同じ。
個人開発だと必ずしも含めているとは限らないからその判定法は成立しない。

と、そういうことなんだと思う。詳しくは知らないのだけど。
0568デフォルトの名無しさん2013/11/18(月) 10:49:06.19
>>567 の素晴らしい考察に感動したっ!!
そして >>562 のあまりのお粗末さにも感動したっ!!

でさ、みんなちゃんとバージョン情報付けてる?
どうでも良いツールなんか手抜きしてバージョン情報付けなかったりするけど、
>>562に16bitあぷりでつか?って言われちゃうのか
0569デフォルトの名無しさん2013/11/18(月) 10:53:04.82
初心者版で初心者かもしれない人に何いってんだか・・
0570デフォルトの名無しさん2013/11/18(月) 10:53:10.93
XE2以降ではバージョン情報の設定機能はダメダメになってるよね
プラットフォーム別にバージョン情報を別に出来るって言うのは理解できるけど、
そのおかげで全ビルド構成で別々にバージョン情報が作られてしまう
「ビルド番号を自動更新」にすると、DebugとReleaseで別々のバージョン情報になってしまうという…

一体全体どういう連中が作ってるんだろうか
0571デフォルトの名無しさん2013/11/18(月) 12:01:26.40
XE2を使っています。
プロジェクトマネージャのウインドウで、各ユニットのフォルダ構造が
表示されていますが、この中でユニットになっていないものがあります。
(+ボタンを押すと、開くようになっていない)

プロジェクトファイルで、DependentOnタグが付いていないユニットが
該当するようなのですが、このタグを直接プロジェクトファイルをいじらずに
付ける方法はございませんでしょうか。
0572デフォルトの名無しさん2013/11/18(月) 12:23:21.74
そこまで分かってるんならプロジェクトファイル直接書替えればいいじゃん?
あとは一度プロジェクトからソースを削除してもう一度追加してみるか

はっきりとは分からんけど、ヘッダファイルのインクルードガードのマクロ名で
ユニットになっているかどうかを判定しているように思えた
0573デフォルトの名無しさん2013/11/18(月) 12:54:15.00
>>572
ありがとうございます。
プロジェクトから削除〜追加でユニット化されました。

インクルードガードのマクロ名で判定しているのは確かだと思います。
そのため、#pragma onceが使う機会を持てません。
0574デフォルトの名無しさん2013/11/18(月) 18:10:46.44
> 16bitアプリはバージョン情報を含める事ができない。

含める事ができないんじゃなくて、32bitWindowsからは「16bitアプリのバージョン情報」は読めない(バージョンタブが表示されない)ってだけかもしれないな。
0575デフォルトの名無しさん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: リンクを実行できません。

とか表示されてしまうのだけど、何故?
05765752013/11/20(水) 09:11:06.26
ちなみに、PCを再起動するとコンパイルできるようになる。
IDE自体の再起動ではダメ。
0577デフォルトの名無しさん2013/11/20(水) 12:13:11.66
XPじゃないのか?
XE3SP1だったかSP2はそれで動かなくなってたな
0578デフォルトの名無しさん2013/11/20(水) 13:09:50.04
>>577
Win7
0579デフォルトの名無しさん2013/11/20(水) 15:42:32.95
LME286でぐぐるとなんかあるっぽいが
0580デフォルトの名無しさん2013/11/20(水) 22:55:34.09
>>575
Avastとかのアンチウィルス常駐してるなら一時的に無効にしから起動して作業しないとダメだよ
Avastが疑わしいexeとか強制でフックしちゃうから異常動作連発する
0581デフォルトの名無しさん2013/11/29(金) 18:01:14.70
DriveComboBoxでデフォルトドライブの変更方法教えて
DriveやItemIndexを弄っても全然変わってくれない
0582デフォルトの名無しさん2013/11/29(金) 18:46:03.82
>>581
Drive プロパティに代入するだけで変わるけど。
wchar_t 型だけど char 型で代入しようとしてない?
Enabled プロパティとか false になってない?
0583デフォルトの名無しさん2013/11/29(金) 23:14:08.18
何かiOSアプリの開発ができるようになるらしいが
0584デフォルトの名無しさん2013/11/30(土) 01:50:47.22
BCB6で、リッチエディットの上にマウスが乗った時のマウスカーソルを変更するのは
どうしたら良いんでしょうか 右向きの矢印が出ます
0585デフォルトの名無しさん2013/11/30(土) 12:42:42.49
リッチエディットのCursorをオブジェクトインスペクタで変更しておけばいいんじゃ?
0586デフォルトの名無しさん2013/11/30(土) 21:32:02.58
マウスカーソルの変更出来ました。ありがとうございました。
0587デフォルトの名無しさん2013/12/02(月) 17:27:08.37
TImageで質問
ストレッチがtrueで
Image1->Picture->LoadFromFileで画像を表示させて
Image1->Widthを変更して再度表示させても以前のサイズのままで
更に読み込むと指定した大きさになるんですがこれすぐ正常なサイズで表示するにはどうしたらいいんですか?
Image1->Picture=NULLにしてもすぐには変わってくれなかったです
0588デフォルトの名無しさん2013/12/02(月) 20:23:23.70
>>587
Image1->Picture->Bitmap->Height = height;
Image1->Picture->Bitmap->Width = width;

がいるんじゃないかな。
0589デフォルトの名無しさん2013/12/03(火) 14:45:38.60
>>588
ありがとうy、やってみる。
0590デフォルトの名無しさん2013/12/03(火) 14:56:18.60
ダメでした(´・ω・`)
0591デフォルトの名無しさん2013/12/03(火) 18:12:27.49
できますた( ´∀`)
0592デフォルトの名無しさん2013/12/06(金) 13:37:24.07
TJPEGImageでjpgを早く読む方法教えて
何かVBとか画像データの検証をオフにしてロードしたら早くできるみたいなんで
これにそういうのあったら教えてほしいですです
0593デフォルトの名無しさん2013/12/08(日) 14:49:43.62
Form1.cpp の中で
自分で作った関数や変数の宣言をするのと、

Form1.h の中のprivate: や public: の所で
自分で作った関数や変数の宣言をするのでは、

メモリ使用量やプログラムの大きさ等が何か変わってくるのでしょうか。
0594デフォルトの名無しさん2013/12/08(日) 17:09:11.28
オブジェクト指向プログラミング勉強してこい
0595デフォルトの名無しさん2013/12/09(月) 09:23:14.60
>>593
ヘッダに書くと小さいコードだとインライン関数になるか
メモリー使用量やプログラムの大きさは大きくなるけど速度は速くなる傾向。

>>594
オブジェクト指向プログラミングはあまり関係ないような気がする。
スモールトークにもJavaにもC#にもヘッダーファイルの概念は無いから。
05965942013/12/09(月) 10:32:01.94
>>593の前者は非メンバで後者はメンバ、という読みだが >>595
0597デフォルトの名無しさん2013/12/09(月) 11:28:50.09
エスパー検定勉強してこい
0598デフォルトの名無しさん2013/12/09(月) 13:21:54.02
>>596
そういう意味か!!
てっきり、インライン関数かそうで無いかだと思ったよ。
すまん。
0599デフォルトの名無しさん2013/12/09(月) 14:18:39.89
オブジェクト指向はメモリやプログラムの大きさの事を考えて設計する方法では無い
そもそもオブジェクト指向勉強してこいとか、質問の答えにさえなってない
06005942013/12/09(月) 14:42:09.84
じゃ質問に答えてやれよ
0601デフォルトの名無しさん2013/12/12(木) 13:51:00.24
スレッドのExecute()内で、StringGridを動的生成しようと
以下の様にしました。

TStringGrid *SG = new TStringGrid(this);

[BCC32 エラー] Get.cpp(103): E2285 'TStringGrid::TStringGrid(Get * const)' に一致するものが見つからない

エラーの意味が分からないのですが、
スレッド内で動的に生成してはいけないのでしょうか?
アドバイス頂けると助かります。
0602デフォルトの名無しさん2013/12/12(木) 14:19:34.01
スレッドのクラス内でthisでいいの?
0603デフォルトの名無しさん2013/12/12(木) 14:34:32.90
>>602

this はおまじないだと思っていました。
調べても良く分からないのですが、
空の StringGrid を作るには this の代わりに何を指定すれば良いのでしょうか?

作成したStringGridを貼り付けるGridFormを指定しましたが、
コンパイル時にエラーは出なくなりましたが実行時エラーが発生します。

TStringGrid *SG = new TStringGrid( GridForm );
0604デフォルトの名無しさん2013/12/12(木) 15:18:04.94
Execute内でStringGridの動的生成って、ダメじゃないけど豪快だな
Synchronize()とか使ってメイン側で更新する必要があるので、あまり意味がないことが多々ある

スレッド側で必要なのはStringGridではなく文字列の配列だったり、
スレッド生成時にStringGridも生成すれば十分だったりしないかな?
06056012013/12/12(木) 15:34:49.14
有り難うございます。

やっぱり余りやらない方法なんですね。
経緯を話しますと現時点では、スレッド内からSynchronize()を使って
StringGridのテーブルを更新しています。
このSynchronize()を使った更新処理が重くてなんとかならないかと考え試行錯誤しています。
Queue()を使った方法も試したのですがStringGridがたまにちらつくのでイマイチでした。
(DoubleBufferedはtrueにしてあります。)

次に、StringGridの更新はスレッド内からしか行わないので、
StringGridをスレッド内で生成すれば、StringGridの所有権がスレッドになり、
Synchronize()しなくて済むので、
早く(並列)なるのでは無いかと考えて今に至ります。

勘違いしている点やアドバイスがあればお願い致します。
0606デフォルトの名無しさん2013/12/12(木) 16:06:26.75
TStringGrid(Get * const) 

なんだから、テキストファイルとかを渡すんだろ
0607デフォルトの名無しさん2013/12/12(木) 16:34:01.69
更新処理が重いなら間引くべきだと思うよ
毎回更新する必要があるなら、それは並列化できない、つまりスレッド化の意味がない
06086012013/12/12(木) 17:13:53.53
有り難うございます。

間引く方向で検討したいと思います。
有り難うございました。
0609デフォルトの名無しさん2013/12/12(木) 17:48:46.90
スレ違いだけどこの仕様、C#でも受け継いでいて本当クソだと思うわ
ヘジたんこういう所はダメなのね
0610デフォルトの名無しさん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()しなくて済むということはないよ。
0611デフォルトの名無しさん2013/12/12(木) 19:09:59.46
Application->ExeName が化けてるんだけど
Win32のフォルダんとこが.\\.とかなってるし
これちゃんと取る方法おしえてくださ
C++BuilderXE4
0612デフォルトの名無しさん2013/12/12(木) 20:07:55.27
C++11から本格的にマルチスレッドと同期サポートが入ったから、案外行けるかも
あ、VCLはObject Pascalで書かれてるんだっけorz

.NETも4.5からAsync入ったしうかうかしてると横取りされちゃうぞ
0613デフォルトの名無しさん2013/12/16(月) 15:00:24.58
BCB6でデバッグの時にF12キー押したら出てくるCPUウインドウを出さないように出来ますか
0614デフォルトの名無しさん2013/12/16(月) 15:24:03.19
CPUを外してください
そうすれば出なくなりますから
0615デフォルトの名無しさん2013/12/17(火) 18:35:10.82
CPU外してもF12押したら出ました・・
嘘言うのはやめてくださいしんでください
0616デフォルトの名無しさん2013/12/18(水) 02:12:28.70
>>615
可哀想に幻覚が見えるのか
精神科をすぐに受診してください
0617デフォルトの名無しさん2013/12/18(水) 11:20:06.65
wmain だったら BCB6 では無理かも。
0618デフォルトの名無しさん2013/12/21(土) 15:16:38.70
BuilderXE4で実行時にPanelのColorを変更するとキャプションが消えるバグがあるのですが
これを回避する方法を教えてください
0619デフォルトの名無しさん2013/12/21(土) 15:28:12.77
できた

お前等ってほんと糞の役にも立たないゴミだな^^
0620デフォルトの名無しさん2014/01/09(木) 16:59:04.02
TPopupメニューをOwnerDrawする時に
表示されるメニューの幅と高さを任意に指定する方法をおしえて
0621デフォルトの名無しさん2014/01/09(木) 22:03:01.66
OnMeasureItemでWidthとHeightを変更する
0622デフォルトの名無しさん2014/01/24(金) 11:57:52.15
C++Builder2010でSQLConfigDataSourceがリンカエラーになるんだけど
odbccp32.libを追加してるのに。
ちなみに、XPでは正常にリンクできたのにWin7だとリンカエラーになるのですが
Win7でもちゃんとリンクする方法を教えてくださ
0623デフォルトの名無しさん2014/01/31(金) 11:46:42.51
印刷するのにお勧めのコンポーネント教えて
0624デフォルトの名無しさん2014/01/31(金) 15:43:16.58
FastReport
0625デフォルトの名無しさん2014/02/01(土) 16:32:08.39
Delphi XE4 Professionalを持ってるんですが、
C++BuilderXE5 Starter
のアップグレード版は使えますか?
0626デフォルトの名無しさん2014/02/01(土) 18:54:26.64
問題ありません。
0627デフォルトの名無しさん2014/02/01(土) 18:57:33.18
あー、
> Delphi StarterとC++Builder Starterの両方を購入して1つのマシンにインストールして「Mini RAD Studio」のように使うことはできますか?
> いいえ、1つのコンピュータには、1つのStarterエディションしかインストールすることができません。

なので、VMでも何でもいいので別のWindowsがいるので注意してね。
0628デフォルトの名無しさん2014/02/01(土) 18:59:06.09
いやもうデルファイ使わないんでC++さえ使えればいいですw
0629デフォルトの名無しさん2014/02/01(土) 21:01:02.00
コンパイラはx86でC++11対応じゃないので、そこも気をつけて。
0630デフォルトの名無しさん2014/02/04(火) 11:46:48.55
>>624
FastReportどこのタブにありますか?
言い忘れてましたがC++Builder2010ですう
0631デフォルトの名無しさん2014/02/04(火) 11:51:13.48
EX4にはFastReportのタブあったけど
2010には無いから2010ではFastReport使えないっぽいですねこれ
QuickReportも無いっぽいしどうしたらいいのこれ
0632デフォルトの名無しさん2014/02/04(火) 15:07:59.35
残念だけどRave Reports
0633デフォルトの名無しさん2014/02/04(火) 16:32:54.59
Rabeタブはありますが、Reportsがありませんえん
0634デフォルトの名無しさん2014/02/04(火) 16:33:28.11
Raveです、かみまみた
0635デフォルトの名無しさん2014/02/04(火) 16:37:20.60
あ、でも、RaveProjectで何か印刷のアレをビジュアルでできそうです
どうせ糞だろうけど頑張ってやってみますありがとうございました糞野郎共
0636デフォルトの名無しさん2014/02/06(木) 16:46:38.48
SOAP通信できるコンポーネント教えて
0637デフォルトの名無しさん2014/02/06(木) 16:56:59.54
TSoapConnectionを発見した!!XE4
んで、送受信はどうやってやるの?
0638デフォルトの名無しさん2014/02/10(月) 13:52:08.67
"44Op44O044Kn44Or44OK"みたいなUTF-8でアレされてるのを戻す方法を教えてください
C++BuilderXE4です。
0639デフォルトの名無しさん2014/02/14(金) 14:01:54.52
>"44Op44O044Kn44Or44OK"みたいなUTF-8でアレ
よくわからん。日本g
0640デフォルトの名無しさん2014/02/20(木) 11:40:21.94
TOpenDialogでInitialDirを指定しても直前に開いたとこを開くんだけど
ちゃんと指定したフォルダを開く方法を教えてください
0641デフォルトの名無しさん2014/02/20(木) 11:58:06.80
0642デフォルトの名無しさん2014/02/20(木) 15:39:58.88
>>641
サンクス、確かにOSはWin7でXPではちゃんといってたけど

しかし、C++BuilderXE4のバグなのかわからないんだけど
ExtractFileDir( Application->ExeName )で取得したexeのパスがバグってる
exe作るとWin32フォルダにdebugフォルダが作成されてそこで実行してるけど
取得したパスが必ずWin32フォルダの前に\.\が入ってる
これのせいでDialogのInitialDirやFileNameに指定してもうまくいかなかったんだけど
これちゃんとパスとる方法ありますかね?
0643デフォルトの名無しさん2014/02/20(木) 15:47:14.24
正規化
0644デフォルトの名無しさん2014/02/20(木) 16:03:01.36
いや意味わかんないです
0645デフォルトの名無しさん2014/02/20(木) 17:45:06.74
つ ExpandFileName
0646デフォルトの名無しさん2014/02/20(木) 19:12:22.42
>>645
ありがとう、感動した。
ExpandFileNameをかましてやったらちゃんとパスがアレしてくれました

しかし今までちゃんとできてたのに急に腐った仕様に変えないでほしいなあ園馬鹿ってやっぱ馬鹿なんだな
0647デフォルトの名無しさん2014/02/20(木) 19:54:49.15
勝手に相対になっちゃうの?
0648デフォルトの名無しさん2014/02/21(金) 10:19:05.00
パスを見るとフルパスになってるんだけど
何故かWin32フォルダの前に必ず\.\が付加されてる。
ちなみに、Win32フォルダが無い別フォルダで実行するとちゃんとしたパスがゲットできてる
0649デフォルトの名無しさん2014/02/21(金) 10:34:00.47
OSの仕様が絡んでいそうな・・・ よくわからんけど
0650デフォルトの名無しさん2014/02/21(金) 15:19:09.05
設定ファイルか何かでそう書いてるだけじゃないの
今まで気づいてないだけとか
0651デフォルトの名無しさん2014/02/21(金) 15:57:13.01
リンカのファイル出力先がそうなってるから、
デバッガに渡される実行ファイルのパスもそうなる

リンカの出力先指定:.\$(platform)\$(config)
0652デフォルトの名無しさん2014/02/22(土) 02:07:21.82
プロジェクトオプションでC++(共有オプション)の中間出力と最終出力ディレクトリにある.\を削除すればOK
0653デフォルトの名無しさん2014/02/22(土) 02:11:20.47
追記 参照ボタン押すとフルパスになるから文字列からダイレクトに削除してね
0654デフォルトの名無しさん2014/03/04(火) 10:32:24.33
>>651-653
それやっちゃうと違うPCやフォルダ変えてコンパイルする時はまたその設定が必要なのでは?
0655デフォルトの名無しさん2014/03/06(木) 11:19:51.13
XE4のTMediaPlayerで現在再生中かどうかを調べる方法を教えてください
0656デフォルトの名無しさん2014/03/06(木) 12:08:12.17
Modeプロパティで分かるよ
0657デフォルトの名無しさん2014/03/06(木) 14:07:45.92
ゴメン、Modeじゃ分からんかったわ
Notify = trueにして再生開始して、OnNotifyイベントで成功が通知されたら再生終了だ
現在再生中という情報を直接取ることは出来ないみたい
俺がやったのはOnNotifyでMode==Playingで処理結果が成功なら再生終了と判定したよ
0658デフォルトの名無しさん2014/03/06(木) 14:11:17.42
>>657
ありがとうございます。
OnNotifyは終了だけを検知したかったのでNotify=falseで使いたいんですが
自分で再生したのはわかるのでOnNotifyが来たら終了って判断できるのですが・・・
そういうのがあったらアレかなとおもって聞いてみましたがアレでしたね
0659デフォルトの名無しさん2014/03/06(木) 14:29:56.39
ほんとアレっすよね
0660デフォルトの名無しさん2014/03/06(木) 15:11:36.52
言うほどアレでもなかったわ
0661デフォルトの名無しさん2014/03/06(木) 15:18:52.18
つーか、今改めて試してみたけど>>656でおkかも
Notify=falseならModeで再生中とそれ以外の区別がついてる感じ
0662デフォルトの名無しさん2014/03/06(木) 15:32:48.53
フォーム非表示の状態で作成されたフォームのListViewがクリアできない
一旦表示させないとListView->Items->Clear( )受け付けてくれないんだけど
これ非表示のままならどやってリストビュークリアしたらいいの??
0663デフォルトの名無しさん2014/03/06(木) 15:42:40.54
Update() やってみるとか(適当・未確認)
0664デフォルトの名無しさん2014/03/06(木) 17:18:43.59
>>663
ダメでしたよ。
0665デフォルトの名無しさん2014/03/07(金) 00:06:06.17
Handleを取得してみる
0666デフォルトの名無しさん2014/03/07(金) 10:22:10.84
>>665
それから?
0667デフォルトの名無しさん2014/03/07(金) 20:28:14.79
>>662
どういう状況かよく分からない
その症状が出る最小のコードでも晒してくれればと思うが。

少なくともこちらでは「フォーム非表示の状態で作成されたフォーム」での
ListView->Items->Clear( )は正常に出来ている。
0668デフォルトの名無しさん2014/03/08(土) 00:04:52.41
>>666
処理の前にHandleNeededを呼ぶってこと
0669デフォルトの名無しさん2014/03/11(火) 16:18:17.81
>>667-668
返信遅れて申し訳ない
C++Builder5の時からそうだったんだけど
普通にフォームにListView貼り付けて設計時にデータ入れときます
んで、そのフォームのコンストラクタでListView->Items->Clear( )すると消えてくれない

ちなみに>>662で非表示でクリアできないうんぬんは消すタイミングの問題で
別フォームのボタンを押したらListViewのあるフォームのListView->Items->Clear( )したら消えますよ
0670デフォルトの名無しさん2014/03/11(火) 16:21:09.46
>>668
ちなみに、フォームのコンストラクタで
HandleNeeded();
ListView->Items->Clear( );
やっても消えませんでした。
0671デフォルトの名無しさん2014/03/11(火) 16:22:49.04
あ、すみません。
間違いました。
↓ですよね。
ListView->HandleNeeded();
ListView->Items->Clear( );
これやったらちゃんと消えましたすみまsん
0672デフォルトの名無しさん2014/03/11(火) 18:16:53.03
おめでとさん
0673デフォルトの名無しさん2014/03/11(火) 19:58:50.41
久々に引っ張りだしてBCB6使いましよ。
未だに便利だな。
0674デフォルトの名無しさん2014/03/11(火) 20:56:45.64
故Winny作者も使ってたBCB6
0675デフォルトの名無しさん2014/03/12(水) 10:09:18.17 ID:gNDuFwAY
>>672
ありがとゆ

しかし、長年CBuilder使っててHandleNeededって初めて知ったぽ・・・
0676デフォルトの名無しさん2014/03/12(水) 12:04:47.65 ID:QsWejUh6
XE4までは使ってたんだけど64bitがClang使ってて怪しいし、C#の方が便利なんで
最近こちらばかり使っている
0677デフォルトの名無しさん2014/03/12(水) 12:56:32.95 ID:9wY/JUzG
正解
0678デフォルトの名無しさん2014/03/12(水) 14:14:10.21 ID:gNDuFwAY
C++BuilderでC#って出てる?

てか、ここID出るよういんあったのね。
0679デフォルトの名無しさん2014/03/12(水) 15:03:45.80 ID:n+Y+ZrF5
以前は.NET向けの何かがあったが今は無いよ
>>676 はVS使ってるって事でしょう
0680デフォルトの名無しさん2014/03/13(木) 21:22:18.12 ID:2KMiQ96l
ちなみにBCB6からはどれに移行するのが便利かな?
最新の安いの買えば古いのは落とせるんだよね?
0681デフォルトの名無しさん2014/03/14(金) 00:00:21.88 ID:Ar+khIgg
まず2007。次はXE5で。古いのが使えるのはPro以上で、Arcだろうがアカデミックは除外。
0682デフォルトの名無しさん2014/03/14(金) 09:49:14.65 ID:OyQukPKW
Unicode以前に移行するくらいなら6のままで良いんじゃないの?
ちなみにC++はXE以降で何も変わってないよ
それどころかXE2以降では訳の分からん不具合が結構ある
2009から使ってるけど、Win32VCLならXEが一番まともだと思う
0683デフォルトの名無しさん2014/03/14(金) 10:22:00.41 ID:E4e1CSrP
>>681
>>682
ありがとう。最新版への移行は試してみたんだけど、確かにUnicode周り
が大変な感じだった。コンパイラは変わってないのね。
2007借りて試してみてダメだったら6のまま現役で作ります。
0684デフォルトの名無しさん2014/03/14(金) 13:28:13.98 ID:1agqAwAb
2007はバグ多いからお勧めできんけど。
0685デフォルトの名無しさん2014/03/14(金) 15:14:33.31 ID:OyQukPKW
仕事で6使ってるの?
まだまだ結構いそうだけど
0686デフォルトの名無しさん2014/03/15(土) 10:16:32.35 ID:2N6ROkeB
6も最初バグだらけだった気がした
0687デフォルトの名無しさん2014/03/15(土) 11:08:01.76 ID:bzLcn0oj
6+Upd4だっけ
0688デフォルトの名無しさん2014/03/16(日) 05:58:29.84 ID:nUsKxNa+
6はデバッガに問題がある
0689デフォルトの名無しさん2014/03/17(月) 05:40:28.03 ID:r15lmn2t
いまだに5を使っている
0690デフォルトの名無しさん2014/03/17(月) 10:12:10.52 ID:STcoURnP
5って一番よかったわ。
俺もまだ5を使ったりするけど最近はXE4が多いかな64ビットアレできるし
0691デフォルトの名無しさん2014/03/18(火) 15:09:16.49 ID:qmOr3Dts
TListViewはどやって動的に作成するの?
ListView1 = new TListView( this );
で作成してもAddすると落ちるんですが
0692デフォルトの名無しさん2014/03/18(火) 16:01:40.93 ID:giRVVYry
thisはどこ指してる
0693デフォルトの名無しさん2014/03/18(火) 17:56:10.93 ID:rfN06h31
>>692
クラス自身。だからクラスのメソッド内でしか使わない。

class hoge{
private:
class hoge *this;
};
こういうこと
多少の差異はあるものの
0694デフォルトの名無しさん2014/03/18(火) 17:57:13.04 ID:rfN06h31
>>690
1使ってる俺に謝れ
0695デフォルトの名無しさん2014/03/18(火) 19:22:32.30 ID:nfn1DUZV
>>693
>>692が聞いてるのはそういうことじゃなくて、thisとして何を渡してるのかなんだと思うが。
この場合のコンストラクタのパラメータには既に表示済の(hwndが有効な)TWinControlか
その派生クラスのインスタンスを渡すのがいいと思う。普通はTListViewを乗せるフォームかな。
0696デフォルトの名無しさん2014/03/18(火) 19:26:19.29 ID:+03dJUij
1も使ったことある
超昔に会社で
Delphi2 相当で
後に連番が繰り上がって 2 がなくて
3,4,5 になっていったのを克明に覚えている
0697デフォルトの名無しさん2014/03/18(火) 21:07:14.37 ID:cZ3kjopq
一番最初の記念価格のやつ買いました、しかも本屋さんで。
バージョンの番号が付いていなかったけど、ちゃんとバージョンアップされていきましたね。
単発で終わるかも?って思ってました。
0698デフォルトの名無しさん2014/03/18(火) 23:12:28.25 ID:VHoYM8as
>>693
横着せずにまずは新しいプロジェクト作って簡単なコードで TListView を動的作成したほうが原因つかみやすいだろ。
ちゃんとParent設定してるかとか。
0699デフォルトの名無しさん2014/03/20(木) 15:53:38.30 ID:ZOtvmQUF
XE5ってXE4から何が変わったの?何か追加された?
0700デフォルトの名無しさん2014/03/20(木) 15:59:12.78 ID:oBNShYHt
全く何も変わってない
不具合もそのまま
0701デフォルトの名無しさん2014/03/24(月) 17:16:54.97 ID:jkhS/0AK
よし!じゃあ今から注文するわ
0702デフォルトの名無しさん2014/03/25(火) 17:19:10.70 ID:6CkDQtbn
XE4が腐った。
ソースをコピペしたら意味不明なエラーが出てコンパイルするとリンクエラーが出るようになる。
再起動したらまたちゃんとコンパイルもリンクもできるけどめんどい
エロい人助けてエロい人
0703デフォルトの名無しさん2014/03/25(火) 17:25:29.82 ID:8L+P/Z2e
もうちょっと具体的に書いたら
0704デフォルトの名無しさん2014/03/25(火) 17:26:38.41 ID:CSTEObew
XE5を買いなさいと言うエンバカからのお告げじゃない?
まったく直ってないと思うけど
意味不明なエラーってどんなんだよ
0705デフォルトの名無しさん2014/03/25(火) 17:28:34.86 ID:TO7HBHku
>>702
エラー内容も書かないとかw

再インストールしろ
0706デフォルトの名無しさん2014/03/25(火) 17:33:33.93 ID:lCjhtacd
ユーザーに致命的なエラーが発生しました
0707デフォルトの名無しさん2014/03/25(火) 17:53:04.92 ID:6CkDQtbn
だって、エラー内容書いたってお前等馬鹿だからどうせ解決しないし
>>703-706みたいなゴミレスは不要なんですよ。
知らないならレスしないで下さい。ウザいだけです。
0708デフォルトの名無しさん2014/03/25(火) 18:05:36.46 ID:lCjhtacd
既にNGに入ってます
0709デフォルトの名無しさん2014/03/25(火) 18:21:57.56 ID:TO7HBHku
解決するかどうかは別として開発者ならエラー内容なしにエスパーするのは難しいって知っていると思うが。
専ブラの初心者ユーザ並みの能力だな。
0710デフォルトの名無しさん2014/03/25(火) 18:38:09.70 ID:8L+P/Z2e
ゴミ箱に放り込みました
0711デフォルトの名無しさん2014/04/02(水) 16:12:11.76 ID:t1Fz8vI4
C++Builderで作ったっぽいプログラム資源がある
ただしC++Builderのバージョンや、
どんなカスタマイズ(コンポーネントやパッケージ)を用いているのか
さっぱり不明

プログラムの修正依頼をされたけど
最新版のXE5を使えば、開発できるもんなの?
やってみたが、コンパイルエラーが腐るほど出る
0712デフォルトの名無しさん2014/04/02(水) 16:28:11.27 ID:XXXtG5bC
首吊る準備した方が早いな
0713デフォルトの名無しさん2014/04/02(水) 17:42:58.20 ID:4mJ5OkVZ
コンポーネントの行方次第だな
0714デフォルトの名無しさん2014/04/02(水) 19:06:32.00 ID:fe4YAVY6
行方(ゆくえ)
0715デフォルトの名無しさん2014/04/02(水) 20:42:56.15 ID:jXqwXVYI
ActiveXとか使われてると最悪
0716デフォルトの名無しさん2014/04/02(水) 20:50:12.64 ID:dFeJg3uF
>>711
コンパイルエラーの始めの辺りを貼れ
07177112014/04/03(木) 09:16:33.75 ID:c6M8SUjY
>>all
サンクス

>>716
本当にこれでいいのかよくわからん資源を集めて
PGを修正しまくって
コンパイルはどうにか通した
ただ、リンクでエラーになる

[ilink32 エラー] Fatal: シンボル @$xp$25Endigrph@TDibGraphicClass の
サイズがゼロか、オフセットが大きすぎます
(モジュール 'C:\PROGRAM FILES\EMBARCADERO\
20786_ENVISION_IMAGE_LIBRARY\ENV201\TRIAL\CB6\ENDIGRPH.OBJ' 内)

EnDiGrph.hpp obj dcu は無かったのでダウンロードした資源
07187112014/04/03(木) 15:06:39.14 ID:c6M8SUjY
Envision Image Library とかいうのを
取り込んでいるっぽい
それが古い版だったのでXE5対応のやつをパッケージで
取り込んだ

しかしdcuファイルはあるが、hppファイルが無いため
クラス定義なしのエラーになる
0719デフォルトの名無しさん2014/04/03(木) 19:37:58.06 ID:03j6Q/GA
ああなんかそのエラーとかって requires セッションになんか加えるんだっけな?
0720デフォルトの名無しさん2014/04/10(木) 11:41:05.83 ID:hCZjGgXU
EX4のTProgressBarで質問です
ProgressBar->Max = 100;
ProgressBar->Position = 0;
for( int i = 0; i < 100; i ++ ){
 ProgressBar->Position ++;
}
ProgressBar->Position = 0;
こうした時にProgressBarの表示が半分くらいのとこで終わるのですが
最後にPosition=0をしないと最後まで表示はされますが
処理が終わってからProgressBarが最後まで行くまでに時間がかかってます。
これ以前のようにPosition++した瞬間にProgressBarの描画がされるようにする方法を教えてください
0721デフォルトの名無しさん2014/04/10(木) 13:27:41.43 ID:MBnprmD9
Repaint
0722デフォルトの名無しさん2014/04/10(木) 13:58:03.40 ID:BMsuBXEr
Invalid Update Repaintについてはここ見るよろし
http://kwikwi.cocolog-nifty.com/blog/2008/06/bcbdelphi_cfcb.html
0723デフォルトの名無しさん2014/04/10(木) 15:53:27.45 ID:cHkBS6BK
僕が提出したノートは2冊だっけな?
0724デフォルトの名無しさん2014/04/10(木) 17:36:41.17 ID:hCZjGgXU
>>721-722
いえいえ、そういうことを言ってるのではなくてですね
TProgressBarが意図的に推移バーを遅延させてるんですよこれ
XE4で>>720やってみてもらうとわかるとおもいますが
そして>>723は視ね
0725デフォルトの名無しさん2014/04/10(木) 18:06:04.55 ID:CRnY9LL7
Application->ProgressMessage() じゃないの?
最後まで言ったのに描画更新が行われず前回の更新時の画面で止まるってのはたまによくまれにある。

あとプロパティ値に対して ++ ってOKだっけ?

>__property int Position = {read=GetPosition, write=SetPosition, default=0};

展開すると GetPosition()++ 見たいになる的な糞な仕様があったけど、
当然改善されているのかな?

ProgressBar->Position = i+1;

に変えるか

ProgressBar->Position = ProgressBar->Position +1;

にするかとか。
EX4なんて新しいもの持ってないんで最近のことはよくわかんね。
0726デフォルトの名無しさん2014/04/10(木) 19:00:03.95 ID:coZ4bcw7
ProgressMessage()
ってはじめてみた
0727デフォルトの名無しさん2014/04/10(木) 19:17:35.95 ID:UFqHLSfk
Application->ProcessMessages()か

C#で言うとApplication.DoEvents()みたいな
XPマシン電源消したからわからん
0728デフォルトの名無しさん2014/04/10(木) 19:58:45.76 ID:ZTfayk7W
×ProgressMessage()
○ProcessMessages()

ループ処理させる時とかでイベント割り込ませるのによく使うよな
掴んだままだと応答なしとか出て行儀の悪いプログラムになるし
0729デフォルトの名無しさん2014/04/10(木) 20:06:46.33 ID:CRnY9LL7
あーそれそれ。
0730デフォルトの名無しさん2014/04/10(木) 20:32:29.24 ID:J0ZVG4eI
ProcessMessagesで、手動でメッセージループを回すケースが必要になるなんて
どっちかというと、プログラムの設計が行儀悪いからだと思うけど。
プログレスを表示するってことはそもそも、ある程度時間のかかる処理なわけで、
そんな処理をUIスレッドで行なおうとするからProcessMessagesせざるを得なくなるわけで、
サブスレッドでそもそもやれと思う。
0731デフォルトの名無しさん2014/04/10(木) 20:35:06.53 ID:coZ4bcw7

またスレタイ読めない人が出現
0732デフォルトの名無しさん2014/04/10(木) 20:42:37.46 ID:/AIMsHz9
HandleMessage() もさほど変わらん
0733デフォルトの名無しさん2014/04/10(木) 20:58:17.17 ID:J0ZVG4eI
>>720
つか、そもそも、Windowsシステムにおいて描画の処理って優先度低くて、暇な時やるってスタンスだから、
for( int i = 0; i < 100; i ++ ){
 ProgressBar->Position ++;
}
でループで頻繁に回しても、描画まとめられちゃうからね・・
0734デフォルトの名無しさん2014/04/11(金) 13:13:27.96 ID:bepIv9hm
>>733
いえいえ、違います>>720は例です
以前はちゃんと描画されてた(Builder5)ので
いつからかはわかりませんが、勝手に遅延描画されてるんですよ
0735デフォルトの名無しさん2014/04/11(金) 18:05:40.10 ID:73QXDgv6
>>734
自分(>>725)もBuilder5持ってる、試してみたけど確かになるね。
2009で試したけど、こっちもなる。

MarqueeInterval というプロパティ値は?
>アニメーション表示の更新間隔(ミリ秒)。これにより、強調表示部分が動く速度を設定します。デフォルトは 10 ミリ秒です。値を大きくするほど、速度は遅くなります。
2009でのデフォルトだと10(ミリ秒)
Builder5にはなかったプロパティ。

確認してもダメと言うことならたぶんコントロールとしての動作仕様が変わったとかじゃない?
とりあえず ProgressBar->Positionを更新した後にProcessMessages()を呼び出せばちゃんと更新されるようになる。
もしそれでも更新されないならコードがおかしい(最適化のせい)とかかも知れない。
0736デフォルトの名無しさん2014/04/11(金) 21:41:50.01 ID:G2hHL9t4
VisualStyleの影響とか、VCL Styleの影響って事はない?
0737デフォルトの名無しさん2014/04/13(日) 02:21:43.71 ID:An7WAIh1
> ProgressBar->Position ++;
この書き方はしたこと無かったな、自分は
ProgressBar->StepIt();
いつもこう書いている
あるいはStepBy(1);
違いがあるのか、無いのかは知らないが
0738デフォルトの名無しさん2014/04/13(日) 12:31:07.74 ID:HXOgCYL2
最近XE4 C++ Builderを使い始めた初心者ですが、次のような
コードでエラーが出ないのは何故でしょうか?

char *ptr = "ABCD";
*ptr = 'X';

普通Visual Studio 2010等ではコンパイル・エラーとなりますが、
XE4ではコンパイルが通ってしまいます。。。。(´・ω・`)
XE4の場合は上記のようにポインタを文字列リテラルのアドレスで
初期化する際に、明示的にconst修飾子を付けない限り、文字列
はconst領域のデータ・セグメントには格納されないのでしょうか?
それともコンパイラの警告オプションの設定の問題でしょうか?

初歩的な質問ですみません。
0739デフォルトの名無しさん2014/04/13(日) 14:55:05.57 ID:PtXBUBAS
URLを貼ろうとしたら「さくらが咲いてますよ」と言われるんだが

-dcオプション

無視されるみたいだけど
0740デフォルトの名無しさん2014/04/15(火) 09:19:24.78 ID:ERITG9Tj
>>739
多分嫌儲とJIMがやってるサクラサーバ除外処理でしょう。
面倒だからオープンにスレ立てますか。
0741デフォルトの名無しさん2014/04/30(水) 18:44:48.10 ID:lAKrL3qN
ボタンのAnchorsで設計時にLeftとBottomして
実行すると配置より上にボタンが表示されちゃいます。
フォームはMDI子フォームでBorderStyle=bsSizeable
何が原因ですかね?
ちなみに他の画面でも同じ事やってるフォームありますがそっちは正常です。
Builder5
0742デフォルトの名無しさん2014/04/30(水) 18:52:25.22 ID:ZY5HChQC
parentの設定し忘れ
0743デフォルトの名無しさん2014/04/30(水) 18:52:54.78 ID:+uCJ/EHs
スケーリングの問題じゃないの?
0744デフォルトの名無しさん2014/05/01(木) 09:56:57.94 ID:CuOT4gd+
>>742
動的に作成してなくて設計時にボタンを貼り付けてます

>>743
フォームのScaledはfalseにしてます。
正常に表示されてるフォームと同じ設定にしてます

パネルにのっければすむ話なんですがなるべく画面を弄りたくないのでめんどくさいし。
他にアンカーをbottomとかに変更したら実行時に位置が変わる原因て何かありますかね?
0745デフォルトの名無しさん2014/05/01(木) 10:01:15.76 ID:CuOT4gd+
あー、もしやとおもってscaled=trueにしたらうまくいった。
これtrueにするとグリッドの表示がくずれるんだよなあ・・・
でも他のフォームはscaled=falseにしてるのになんでうまくいくんだろ
0746デフォルトの名無しさん2014/05/01(木) 10:10:46.81 ID:CuOT4gd+
更に他の画面でやったらやっぱscaled=falseでもうまくいく
ダメな画面はステータスバーついてるんだけどこれが悪さしてる希ガス
0747デフォルトの名無しさん2014/05/01(木) 10:12:13.71 ID:K+RzAtOV
フォームに直接置かないでパネル敷いてみ
0748デフォルトの名無しさん2014/05/01(木) 10:20:04.52 ID:CuOT4gd+
0749デフォルトの名無しさん2014/05/01(木) 10:29:27.77 ID:K+RzAtOV
なにがどうめんどうくさいのかね?
オボコみたいにコピペでやればちょちょいのちょいだよ
0750デフォルトの名無しさん2014/05/14(水) 11:21:30.30 ID:iA+Geeud
XE4が何かおかしくなったので再インスコしてるんだけどInterBaseのインスコで止まる・・
何度やってもダメ、全部アンスコしてからインスコしてもダメ
これどうしたらいいのさ・・・
0751デフォルトの名無しさん2014/05/14(水) 12:08:09.15 ID:V3q1idwI
いくら超初心者とはいえ
われわれは超能力者でもエスパーでもありませんので
もう少し詳しく状況を書いてもらわなければ
何も回答することができません
0752デフォルトの名無しさん2014/05/14(水) 12:13:12.78 ID:iA+Geeud
しゃーないからInterBaseはインスコせずに際インスコしたら
今度はCodeSite Expressのインスコで固まった・・・
何この糞ソフト・・・
えん馬鹿ってほんと馬鹿だな・・・
0753デフォルトの名無しさん2014/05/14(水) 19:18:14.12 ID:HdE5rqaa
Support KBに完全アンインストールのアーティクルがあったはずなんで、まずは全部消してみては?
0754デフォルトの名無しさん2014/05/14(水) 19:22:16.80 ID:eTwx7JM5
ところでBDS2006ってWin7でも使えるん?
0755デフォルトの名無しさん2014/06/09(月) 14:29:51.16 ID:2i9+DxAv
XE4のTTrackBarで1回動かすとOnChangeイベントが2回入るバグを回避する方法を教えて
0756デフォルトの名無しさん2014/06/13(金) 11:39:41.87 ID:cEBL9XA9
TTreeViewで質問ですが
起動時にフォルダツリーを作成してるのですが
これを指定した階層のフォルダを開いた状態にする方法を教えて
例えば aaa\bbb\cccって指定したらcccが開かれてるとか
0757デフォルトの名無しさん2014/06/13(金) 12:43:24.46 ID:JKfszcic
展開された状態にしたいTTreeNodeのインスタンスを取得して、
ExpanededプロパティをいじるかExpandメソッド使うだけでしょ。
0758デフォルトの名無しさん2014/06/13(金) 16:20:58.51 ID:cEBL9XA9
いや、そうなんだけどさ。
これ自分で指定ノードまで検索しないとダメなのかなっておもって
0759デフォルトの名無しさん2014/06/13(金) 18:26:01.38 ID:PxwdU0Uh
自分でそういう関数を作るしかない。
TTreeViewがディレクトリ階層を表しているとは限らないから。
継承でフォルダツリー専用に作られたクラスがあればあるかもしれないけど。
0760デフォルトの名無しさん2014/06/13(金) 21:08:02.50 ID:q7Aw8i3I
自分でフォルダを読んで
TreeViewしているんだから
その途中で
Expandしたいフォルダに該当するか判定して
該当していたら、開けばいいだけじゃん
0761デフォルトの名無しさん2014/06/24(火) 14:24:51.72 ID:qPVXYS8O
フォームのBorderStyleをbsSizeableにしてTChartを貼っているんだけど
フォームの大きさに合わせてチャートも大きさが変わるように
Anchorsを全部trueにしてますが、実行するとチャートの大きさが設計時より小さくなってしまいます
フォームのScaledはfalseにしてますが、これちゃんと設計時と同じ大きさになる設定を教えてくださ
C++Builder5
0762デフォルトの名無しさん2014/06/24(火) 14:46:21.04 ID:qPVXYS8O
AnchorsでRightとBottomをtrueにするとそれぞれ幅と高さが設計時より小さくなってる
falseにして実行すると設計時と同じサイズ
他のフォームでも全く同じ事してるけどこんな現象にならない、なぜー
0763デフォルトの名無しさん2014/06/24(火) 18:01:29.87 ID:rXmVvt0n
予めプロパティで設定しないで、コード上で(OnShowとかで)設定してみたら?
0764デフォルトの名無しさん2014/07/03(木) 10:09:46.51 ID:4L5y/HxP
ちと質問。
最新のC++BuilderXE6ってOpenMP使える?
0765デフォルトの名無しさん2014/07/04(金) 12:39:14.35 ID:41y9bvYX
え、もうEX6出てるのかww
EX5ってあるの?4買ってからあんま経ってないのにもう6で照るのかあ
0766デフォルトの名無しさん2014/07/04(金) 12:56:41.14 ID:/hEGMFuo
XE6が出て1年近く経ってると思うぞ。
最近は毎年位のスパンで更新している感があるかな。
0767デフォルトの名無しさん2014/07/04(金) 13:11:10.26 ID:HHdjCYam
英語のメール送ってくるエンバカヤロゥ
日本語でサポートしろやエンバカヤロゥ
0768デフォルトの名無しさん2014/07/04(金) 14:22:44.55 ID:ZGvxbiPP
XE6はまだ2月ちょっとだ…XE7は10月頃か?といわれてる。

ちなみにC++BuilderでOpenMPは使えない気がする。ぐぐったらVCでDLL化して使ってる、という話は見かけた。
0769デフォルトの名無しさん2014/07/04(金) 16:26:54.97 ID:41y9bvYX
まじかー
この前XE4買ったかっばだと思ってたのに
ちなみに、4と6って何か大きな違いある?
オブジェクトインスペクタがバグるのは健在なのかな
0770デフォルトの名無しさん2014/07/04(金) 17:45:59.48 ID:ZGvxbiPP
つ ttp://docwiki.embarcadero.com/RADStudio/XE6/ja/Delphi_XE6_%E3%81%8A%E3%82%88%E3%81%B3_C%2B%2BBuilder_XE6_%E3%81%AE%E6%96%B0%E6%A9%9F%E8%83%BD
0771デフォルトの名無しさん2014/07/04(金) 18:09:45.42 ID:41y9bvYX
>>770
チョンクス
androidのアプリって簡単に作れるのかなあ
0772デフォルトの名無しさん2014/07/04(金) 18:14:39.60 ID:41y9bvYX
うーん、XE6欲しいけど10月にXE7出る可能性あるみたいだしー

てか、XE4で64bitソフト作ったらexeサイズが8MBになるんだけど
XE6ではもっとexe肥大化するのかなあ。
以前Builder5のバグでアプデしたらexeサイズがアレしたけど
これ以上でかくなったら圧縮してもメールで送るの分割せにゃいかんくなる
0773デフォルトの名無しさん2014/07/04(金) 22:34:14.30 ID:rpZ/Sb2N
>>768
あれ、2月位だっけ......

OpenMPは簡単に使えないんね......
ネットで調べたら、使ってる書き込みがあったから、
CLangとLLVMのお陰で普通に使えるのかなと思ったんだけど、
実際はVCでDLL化してたんね......
0774デフォルトの名無しさん2014/07/05(土) 07:25:24.64 ID:hnlFrnru
XE6 2014/04/16 発売開始
0775デフォルトの名無しさん2014/07/05(土) 10:21:35.59 ID:VqZamtnF
安くて使い勝手が良かったから使ってたボーランド時代
今はバージョンアップされても何も魅力を感じなくなってしまった
0776デフォルトの名無しさん2014/07/05(土) 10:35:06.93 ID:MbZ2I/h/
RT >>775
0777デフォルトの名無しさん2014/07/15(火) 13:04:03.79 ID:gF1f+2ak
OpenCLなら通るのに…
0778デフォルトの名無しさん2014/07/31(木) 14:13:33.13 ID:C2bwOfzI
XE7っていつ出るの
0779デフォルトの名無しさん2014/08/04(月) 12:54:28.30 ID:WuS127/J
XE4のTImage3Dってデフォで変な形してるけどこれ正方形や長方形にするパラ教えてくださ
0780デフォルトの名無しさん2014/08/06(水) 20:35:33.11 ID:EE9HlvVo
>>779
3D表示は設計時カメラがデフォルトで使用される。
Viewport3DのUsingDesignCameraがTrueだと設計時カメラで表示されるが
falseにするとViewport3DのCameraプロパティに設定されたカメラで表示される。
0781デフォルトの名無しさん2014/08/07(木) 10:12:15.87 ID:bzHTj0Lj
>>780
ありがとうございます。
ちなみにViewport3Dってどこにありますか?・・・
0782デフォルトの名無しさん2014/08/07(木) 10:13:57.59 ID:bzHTj0Lj
ViewportsグループにViewport3Dありました。
これで色々試してみますありがとう
0783デフォルトの名無しさん2014/08/07(木) 10:29:52.73 ID:bzHTj0Lj
うーん、うまくいかない・・
手順として

1.Viewport3Dを設置してのUsingDesignCameraをfalseに
2.TCameraを設置してViewport3DのCameraプロパティーをCamera1に設定
3.TImage3Dを設置

カメラとImage3Dの関連付けというかがわからない
カメラ動かしても特にImageの方は形かわらないですし
これうまく使えたら結構色々できそうで良さげなんだけどなあ
0784デフォルトの名無しさん2014/08/13(水) 10:56:58.97 ID:+YEx4mAs
フォームがアクティブになったのを検知する方法おしえて
0785デフォルトの名無しさん2014/08/13(水) 11:10:47.54 ID:+YEx4mAs
できた。
お前等ってほんと糞の役にも立たないカスだな^^
0786デフォルトの名無しさん2014/08/13(水) 11:19:36.51 ID:aA3WCwQl
教えてもらっても感謝もしない
質問されても答える気もない
0787デフォルトの名無しさん2014/08/13(水) 15:17:33.61 ID:TZPZmb+y
自己解決したら解決方法も記す
0788デフォルトの名無しさん2014/08/13(水) 21:12:30.04 ID:CDpySFdN
>>787
( ゚Д゚)y─┛~~
0789デフォルトの名無しさん2014/08/15(金) 21:08:13.06 ID:k1aLXotA
IFMXScreenServiceを使いたくてヘルプにあったとおりに
http://docwiki.appmethod.com/appmethod/1.14/topics/ja/FireMonkey_%E3%83%97%E3%83%A9%E3%83%83%E3%83%88%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0_%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9
書いたんだけど、コンパイル通らないんだけど
0790デフォルトの名無しさん2014/08/15(金) 23:55:03.47 ID:k1aLXotA
自己解決したわ
0791デフォルトの名無しさん2014/08/21(木) 18:11:45.79 ID:cjBUwTlW
C++Builder5 使ってるんですが、
TComboBox、TListBox、TToolBar、TListView にbuffer overflowする欠陥があるってことなんですけど
Builder5だとVCLソースを修正するなんてことできないですよね?

あとこれも。
http://support.embarcadero.com/article/44015
0792デフォルトの名無しさん2014/08/21(木) 21:51:35.45 ID:9Z06b8uo
ソースがついてりゃできるし、ついてなきゃできない。エディションによるとしか。ところでBMPの件はともかく、
そんな話あったっけ?
0793デフォルトの名無しさん2014/08/29(金) 22:34:31.99 ID:VvmJl6gy
XE6を使っています ビルド構成をdebugにして実行すると正常動作しますが
Releaseにして実行ファイルを作成すると起動はするのですが異常に重たい
動作になります(スレッドでRS232Cの通信をやっていて通信が重くなる)

ちなみに、XE6を起動した状態(そのプロジェクトを読まない状態)で
その実行ファイルを実行すると正常に動作します。

実行ファイル作成時のオプションなどをいじれば直るものなのでしょうか?

OSはwin8です。
0794デフォルトの名無しさん2014/08/29(金) 22:43:09.84 ID:DWWx7kEW
>>793
最適化とかの影響でおかしくなることもある。
動作が変わってしまう場合はまずdebugと同じにして徐々にはずすとかするといいかもしれない。
0795デフォルトの名無しさん2014/08/29(金) 22:45:58.90 ID:VvmJl6gy
>>794
ありがとうございますやってみます。
0796デフォルトの名無しさん2014/08/30(土) 11:08:55.59 ID:GfRuM6rp
>>794
解決しました、DEBUGと同じにそて最適化をはずしてもだめだったのでスレッドの速度を
はかってみたところ
Sleep(1);
がXE6を起動しているときと、単独で起動しているときではSleepしている時間が違うように
みえました。
もともとのルーチンもあまりよくなかったので双方を調整し何とか正常に動作するように
なりました。
ありがとうございました。
0797デフォルトの名無しさん2015/01/09(金) 17:41:11.11 ID:tgzE7GLA
うんこ
0798デフォルトの名無しさん2015/01/25(日) 16:43:12.52 ID:zaVj/bx6
Windows7にC++Builder6をインストールしたんだけど
統合環境のエディタ画面のスクロールバーが欠けて
半分くらいしか表示されていないのはテーマのせいかね?
Windowsクラシックに変更すればちゃんと表示されたけど
他に何か改善策ないかな
0799デフォルトの名無しさん2015/01/25(日) 20:00:30.91 ID:apxi13NM
古いバージョンを使うなら
VM環境に入れればイイじゃん
VMにXPなりターゲットのOSを入れてそこで動かせばエエがな
さすれば、OSを最新に変えても
VMのファイルさえコピーすれば
再インストールする必要もなくそのままつかえるべ
0800デフォルトの名無しさん2015/01/27(火) 18:27:33.75 ID:YUbq7nJU
テーマで変わるのはあると思う。
自分はWindows7にC++Builder5。
テーマはWindows7ベーシックかな。
右側が若干はみ出しているがまぁ気にせず使っている。
Aeroだと問題ないようだけど。
0801デフォルトの名無しさん2015/01/27(火) 20:45:29.35 ID:fVDilJE1
Aeroでもベーシックでもダメだった
結局BCB6でコンパイル&デバッグする時は画面をクラシックに変えることにした
デスクトップを右クリックして変えるだけで手間もかからないし動作も機敏になるし
ウィンドウの端もキッチリ合わせられるので統合環境ではこの方が見やすいので
あとメッセージウィンドウをソースエディタとドッキングしてるとエラーが出たりしたので
これは外に出して並べることで対処した
0802デフォルトの名無しさん2015/01/27(火) 21:59:24.62 ID:mRBjUfrP
ショートカット作って互換性タブの設定をいじくれ
0803デフォルトの名無しさん2015/01/27(火) 22:12:10.87 ID:fVDilJE1
その辺も当然いろいろ弄って確認したけどダメだった
0804デフォルトの名無しさん2015/02/08(日) 20:32:52.12 ID:vRhQTF3i
いまさらだが>>800だけど右じゃなくて左だったわ
まぁいまさらだけど
0805デフォルトの名無しさん2015/02/08(日) 21:42:13.84 ID:nmkJZ9OV
ボーランドが良かった
0806デフォルトの名無しさん2015/02/20(金) 13:00:58.09 ID:f+GBkftj
C++Builder2010でメール送信できません。
どっかのサイトまんまのやり方です。
IdSMTP->Sendで固まってタイムアウトまで抜けません。
ちなみに同じコードをC++BuilderEX4でやると正常にメール送信できましたが
C++Builder2010ではどうしたらいいんですかね?

TIdMessage *msg = new TIdMessage( this );
IdSMTP->Host = "yahoo";
IdSMTP->Username = "Username";
IdSMTP->Password = "password";
IdSMTP->Port = 587;
//差出人
msg->From->Name = "From name";
msg->From->Address = "From address";
//宛先
TIdEMailAddressItem* to = msg->Recipients->Add();
to->Name = "To name";
to->Address = "To address";
//件名
msg->Subject = "Subject";
//本文
msg->Body->Text = "This is e-mail.";
//送信
IdSMTP->Connect();
IdSMTP->Send(msg);
IdSMTP->Disconnect();
0807デフォルトの名無しさん2015/02/20(金) 17:46:53.96 ID:VCgGEknY
> IdSMTP->Host = "yahoo";

これでメール遅れるの?
0808デフォルトの名無しさん2015/02/20(金) 21:07:17.00 ID:NQxtOl0f
indyを最新にすればいいんじゃないかな
0809デフォルトの名無しさん2015/03/25(水) 19:52:20.09 ID:zQ0lz0zO
builderにおいて、キーボードショートカットで定型文のコメント挿入したいんですが可能性ですか?
0810デフォルトの名無しさん2015/03/27(金) 11:42:13.86 ID:h/AyVghg
化膿です
0811デフォルトの名無しさん2015/04/08(水) 23:15:02.99 ID:PTXuHWUE
XE8が出た訳だが。 さて、・・・
0812デフォルトの名無しさん2015/04/13(月) 16:54:22.63 ID:XpW/wdfu
マジで?
0813デフォルトの名無しさん2015/04/20(月) 15:56:31.29 ID:gud9zPg6
ちょっとEX8で質問なんですが
DataModule1 = new TDataModule( this );
として
Destroyでdelete DataModule1; すると
そのdeleteの行で無効なポインタ操作のエラーがでるんですが・・・
以前(EX4)はこれでエラー出なかったのになんでですかね??
0814デフォルトの名無しさん2015/04/20(月) 16:01:20.29 ID:gud9zPg6
あれ?何かMdbModuleのDestroyが2回呼ばれてるなんでだろ
とりあえず理由はわからんけど、回避法はわかったからいいや
0815デフォルトの名無しさん2015/04/20(月) 16:05:24.10 ID:gud9zPg6
あ、わかった、デフォで自動作成になっとった何この仕様変更
0816デフォルトの名無しさん2015/04/24(金) 09:58:36.40 ID:m/xUqZvj
TStringGridでセルの文字をセンタリングとかさせるのってやっぱDrawCellでないとできない?
せっかくカラムクリックで自動で色が変わってくれるのにDrawCellで再描画するとその変がダメになるし
バージョンアップしても以前のコントロールが全く便利になってないなあ
どうでもいいとこに力入れすぎ
0817デフォルトの名無しさん2015/04/30(木) 00:50:33.24 ID:0ZqGd+2G
C++Builder5 Enterpriseをアキバで1kでゲットしたが
使い道があるのか考えてしまった。。。
アップデートもDL出来ないし・・・
0818デフォルトの名無しさん2015/04/30(木) 12:17:40.30 ID:48P0pUJa
Builder5だとシリアルコード入れなくても使えるんだっけ?
自分はPersonalだけど(正規購入だぞw)古いDelphなら欲しいけど古いC++Builderはいらんなぁ
EnterpriseでもVCLのコードって付いてないんでしょ?
08198172015/04/30(木) 23:41:47.60 ID:0ZqGd+2G
Builder5もシリアル要りますよ。
バンドルとしてDelphi4 Professionalと
JBuilder3 Professionalが付いてる。

VCLのコードについては、クイックスタートマニュアルの6-2に
「C++BuilderのProfessional版とEnterprise版にはVCLのソースコードが付属しています。」
と書かれてますけどコレのことかな?
0820デフォルトの名無しさん2015/04/30(木) 23:44:59.51 ID:48P0pUJa
VCLソースいいなぁ

というか秋葉のどこでげっとしたんだ?
行ってももうないだろうけど

そのお古はシリアルコードもちゃんと有効なん?
08218172015/05/01(金) 00:42:07.23 ID:K4xtKnpk
Win7-32しかなくインストールはまだしていない。
6からは認証が必要らしいけど5までは不要だったような。
シリアルは有効かと思うが・・・
専用PC構築しないとな。。

あ、ディスクだけなら3-7-11にあったよ(笑)
買った物と同じ盤がばら売りされててびびったw
C5のEnt、C5のコンパニオン、D4のPro、J3のProの4枚。
他にもちらほら盤があったね。
ただこちらは1枚で1k也。。。
見間違いではないと思うけど違ってたらすまない。
行くだけ行ってみれば?
0822デフォルトの名無しさん2015/05/01(金) 02:37:45.19 ID:2Cy6f4Lo
シリアルは売買できなかったんじゃなかったっけ?誰か登録したやつ使えばライセンス違反じゃないの?
0823デフォルトの名無しさん2015/05/01(金) 19:05:29.43 ID:UqXlBgJO
>>821
やーやー
情報サンクス
確認だがその数値は住所の番地ということでよろしいか?

その前提でとりあえず行ってみたよ
秋葉原3-7という住所
まず結論だけ言おう

閉まってた(´・ω・`)

たぶん本当に倉庫整理していたら出てきたものを処分しただけなんだろうな。
数千円程度なら使える使えないに限らず試しに買ってみたかったorz
08248172015/05/01(金) 21:54:27.15 ID:K4xtKnpk
>>822
シリアル単体ではないぞ。
プレスされたメディア付きだよ。
利用規約的に言えばメディアを放出した時点で
元オーナーはアンインストールしたものと判断します。
実際は知らんけどさ。

>>823
もう一度言うけど3-7-11です。3-7では無いです。
もっと言うと区が違います(笑)
0825デフォルトの名無しさん2015/05/01(金) 21:59:55.89 ID:UqXlBgJO
3-7-11だけじゃ分からん
教えたくないってなら別に良いけど
0826デフォルトの名無しさん2015/05/01(金) 22:13:52.77 ID:UqXlBgJO
外神田のほうか?
でも区は同じだが
まあ今度行ってみよう
08278172015/05/01(金) 22:23:17.33 ID:K4xtKnpk
うーん、お店に対する配慮というか何と言うか。
と言うか秋葉原の住所って難しいか?
0828デフォルトの名無しさん2015/05/01(金) 22:44:32.71 ID:UqXlBgJO
難しいというよりも住所気にせずに行くから
秋葉原って住所は台東区だったんだな
アキバと言っているのが駅周辺という意味じゃなく住所そのままだと思ってた
08298172015/05/01(金) 23:20:56.97 ID:K4xtKnpk
入れ違いで書き込みがあったようだ。失礼した。
もうわかったようだね。ご武運を。
0830デフォルトの名無しさん2015/05/02(土) 19:25:14.06 ID:FdAlwk8v
>>829
どうもありがとう
無事ゲットしてきた
J3以外全部確保してしまった
ただC5のコンパニオンって家帰って気づいたけど持ってたんだよねwww
インストールも無事成功ですw
08318172015/05/02(土) 23:51:08.74 ID:sJwdov9U
>>830
おめ。
無事見つかったようで何より。
しかし何故にC5のコンパニオンだけ持っていたのやら。
0832デフォルトの名無しさん2015/05/03(日) 00:45:18.44 ID:44WJ0p/h
あーなんかすみません
本当自分の記憶力の悪さに呆然とする

なぜ持っていたかと言うと・・・とディスクの山を漁ってみたが持っていなかった雰囲気
何か別のソフトウェアのオプションディスクと勘違いしてたようですorz
ムダナレスヲサセテシマッテゴメンナサイ・・・

お店でその勘違いをしないでよかったw
08338172015/05/03(日) 21:48:47.99 ID:uwBNPmrf
つまりはダブらずに済んだ、と。
0834デフォルトの名無しさん2015/05/03(日) 23:06:23.76 ID:44WJ0p/h
たぶんw
0835デフォルトの名無しさん2015/05/28(木) 15:29:36.25 ID:mWzjZbOD
MDI子フォームのShowイベントでそのフォームを閉じたい時があるのですが
Closeで閉じると一瞬そのフォームが表示されて閉じられるので
表示されずに終了する方法を教えてくださ
0836デフォルトの名無しさん2015/06/12(金) 16:36:52.03 ID:NiHM1R4i
EX8なんだけど、ツールボタンの標準がツールバーから抜けてウィンドウになっちゃったんだけど・・
これまたツールバーに収める方法教えて・・・
何かダブクリしたら勝手にウィンドウになって戻せなくなるバグなんとかしろよ円馬鹿・・・
0837デフォルトの名無しさん2015/06/14(日) 22:45:30.59 ID:uFZap+BE
「ツール|オプション|環境オプション|ドッキング|自動オートドラッグドッキング」オフ
0838デフォルトの名無しさん2015/06/15(月) 09:59:23.79 ID:V8+T4SmB
>>837
できましたありがとう。
これずっとウィンドウになったままですごくウザくて助かりました
0839デフォルトの名無しさん2015/06/16(火) 15:14:04.02 ID:dfwwDFvi
複数のコントロールから同じTPopupMenuを呼ぶようにしてるのですが
MenuItemClick時にどのコントロールからメニューを開かれたか調べるのはどうしたらいいですか
0840デフォルトの名無しさん2015/06/16(火) 17:42:23.81 ID:qOgIsb4N
Popupを自動にするんじゃなくて、コントロールのOnMouseUpイベントでPopupさせる。
そのときにどのコントロールが右クリックされたかを記憶する。
MenuItemClick時にはそれを読み出して利用する。
0841デフォルトの名無しさん2015/06/17(水) 18:13:40.39 ID:G7CsTola
TADOQueryでSQL文が1024文字を超えるとエラーになるのですがどうしたら正常に処理できますかね
0842デフォルトの名無しさん2015/06/17(水) 18:28:26.72 ID:G7CsTola
1024までもいかず900くらいでもエラーになりました。
文字数減らすとエラー出無いのですが・・・
0843デフォルトの名無しさん2015/06/17(水) 18:39:17.23 ID:G7CsTola
わかりましたまちがってましたすみません
0844デフォルトの名無しさん2015/07/31(金) 08:16:04.95 ID:tGs5KeIA
兄貴分のJBuilderのスレ立ちました

【Java】JBuilder Part8
http://peace.2ch.net/test/read.cgi/tech/1438131050/
0845デフォルトの名無しさん2015/08/06(木) 12:19:16.15 ID:/1pEP5C4
XE4とかのオプション画面て画面左側がツリーで右側はツリーで選択された画面になるけど
これって画面の右側ってどうやってるの?
TPageControlでタブ消して複数の画面にしてるの?
他に方法思いつかないので他あったら教えてくださいね
0846デフォルトの名無しさん2015/08/07(金) 21:53:51.23 ID:YV6/OEFp
ブックオフにC++Builder6の書籍があったので買ってきたが
C++Builder5でも応用できるかしら?
0847デフォルトの名無しさん2015/08/16(日) 16:41:47.98 ID:vjdAeV5L
買ったんだからやってみなさいよ
0848デフォルトの名無しさん2015/08/17(月) 19:21:10.35 ID:vmfaec38
>>845
Formを複数用意してTPanelとかのコンテナをFormのParentにして(ry
0849デフォルトの名無しさん2015/09/06(日) 15:41:58.28 ID:GQAlD4H2
BCB5 から新しいバージョンの BCB に移行する場合、何に移行すれば
良いのでしょうか。

C++Builder XE とか C++Builder 10 Seattle とか色々あって良くわからなくて。
0850デフォルトの名無しさん2015/09/06(日) 16:42:52.95 ID:w/fh4aRG
BCB6
0851デフォルトの名無しさん2015/09/10(木) 18:25:50.89 ID:k719s5uw
BCB6
0852デフォルトの名無しさん2015/09/11(金) 22:34:46.84 ID:98PhPo8I
何故移行しなくてはならないのか?
そのままでいい
0853デフォルトの名無しさん2015/09/12(土) 06:32:02.51 ID:KBtNVTvL
ハードウェアブレークポイント使っていると、ダイアログが出てくるのが面倒
08548492015/09/12(土) 07:57:19.47 ID:KUaVREQw
>>852

UNICODE に対応したいから。
ソースコードを大幅に書き直す必要があるのは覚悟しています。
BCB の他に C++ で GUI が簡単に作れる開発環境があるなら
どれでも良いけど、VCL の知識が活かせるならそちらの方が
良いので。

種類が多すぎる割に情報が少なくて結局どれ選んだら良いか
わからないです。
0855デフォルトの名無しさん2015/09/12(土) 10:13:28.58 ID:eW6YJlyb
UNICODE対応は2009以降だけど新しいの選んでおけばいいんじゃないの
0856デフォルトの名無しさん2015/09/12(土) 11:36:21.55 ID:qrzL7i6b
移行するなら最新のシアトルでいいでしよ。シアトルでも、今まで通りVCL使えるし。もしくは流行りのクロスプラットフォームならFireMonkeyも使えるし。
0857デフォルトの名無しさん2015/09/14(月) 10:39:51.87 ID:fY32/ZaV
ActionListでMainMenuとButtonと同じイベントに飛ぶようにしたのはいいんだけど
MainMenuから来たのかButtonから来たのかを判別する方法教えてくださいよ

これ面倒だし使う必要性が全くわからないんだけど。
同じイベ呼びたいならAction使わずに普通にイベントの飛び先指定すればいいだけだし・・・
0858デフォルトの名無しさん2015/09/14(月) 12:55:41.26 ID:WSaSFqcL
Senderを判別
0859デフォルトの名無しさん2015/09/14(月) 20:56:48.71 ID:Kxs9LERE
TAction.ActionComponent 使え
必要性が理解できないなら使わなきゃいいじゃん
君はコマンドを無効にする時ボタンとメニューの両方のEnabledを操作したいのか?
0860デフォルトの名無しさん2015/09/15(火) 10:56:46.92 ID:CGLdKAoh
知らないならレスしないで下さい。ウザいだけです
0861sage2015/09/15(火) 13:23:01.76 ID:VZEmjz2I
昔あった、エディタ内のフリーカーソル無効化アドイン、URL無くなっちゃってて
移転先かソースコードある場所教えてください
0862デフォルトの名無しさん2015/09/15(火) 13:24:06.77 ID:VZEmjz2I
名前にsage書いちゃった
スマソ
0863デフォルトの名無しさん2015/09/29(火) 15:00:53.25 ID:Zuz2kDtS
EX8で質問。
TThreadでコンストラクタにtrueを設定してコンストラクタでStart();を呼ぶとエラーになるのは何故??
Resume();使えば正常に動作はするけどResume使わずにStart使えってヘルプに書いてるし。
どうしたら正常にStart使えますかね?
0864デフォルトの名無しさん2015/09/30(水) 00:21:35.15 ID:Nn2OCuq6
>コンストラクタでStart();を呼ぶと

このコンストラクタってのは何のコンストラクタ?

1)TThread派生クラスのコンストラクタ
2)TThread派生クラスを所有しているクラスのコンストラクタ
3)まったく無関係なクラスのコンストラクタ

http://qiita.com/7of9/items/09542ff8bace30712593
http://stackoverflow.com/questions/1624071/resuming-suspended-thread-in-delphi-2010

1の場合は、そのコンストラクタでの呼び出しは無理のようだけど
The crux is that the thread cannot start until the AfterConstruction is being called.
0865デフォルトの名無しさん2015/09/30(水) 10:14:06.54 ID:w2iELAw5
>>864
1の場合です。
Resumeは普通に出来てたからStartもできるとおもってましたがダメなんですね。
仕方ないからコンストラクタを抜けてからStart呼ぶと正常に動作しました
0866デフォルトの名無しさん2015/10/06(火) 13:21:26.24 ID:zVBm4qLy
USB-IO2.0(aki)をC++BuilderXE8で動作させようとしています。
Bakesanのところのdllをダウンロードしましたが、全く動作しません。
C++BuilderXE8またはDelphiXE8で動作するサンプルプログラムをしりませんか?
コンポーネントもありませんか?
0867デフォルトの名無しさん2015/10/09(金) 16:10:29.84 ID:KdS16RZw
フォームにPanelを張ってPanel->Align=alLeftとしてフォームの左に配置して
そのパネルにSplitterをくっつけて実行時にPanelを幅を変更させてますが
SplitterのAutoSnapをtrueにしてPanelの幅をめいっぱい小さくすると
確かにPanelがフォームにスナップされスプリッターだけが見える状態になります。
この時にフォームの幅をちょっとでも広げたり縮めたりすると
スプリッターをドラッグしても二度とPanelの幅を調整できなくなってしまいます。
スナップさせた状態にフォームサイズを変更しても正常にスプリッターでPanel幅を調整できるようにする方法を教えてください
EX8でございます
0868デフォルトの名無しさん2015/10/22(木) 15:54:27.59 ID:iO0WLFkx
LabeledEditって設計時にどやってラベルのキャプション返るの?
オブジェクトインスペクタに無いんだけど?EX8
0869デフォルトの名無しさん2015/10/22(木) 17:25:29.78 ID:kuSYPgN9
>>868
Textってプロパティないか?
0870デフォルトの名無しさん2015/10/23(金) 11:18:36.14 ID:j6IZpfew
>>869
TextはLabelじゃなくてEditのプロパティじゃまいか
0871デフォルトの名無しさん2015/10/23(金) 17:05:49.65 ID:9nV0Wa1S
>>870
適当に答えた

>>868
C++Builder2009で見たけど EditLabel ってプロパティないだろうか
それを開くと Caption ってのがある

もしEditLabel というプロパティがないのなら分からん
0872デフォルトの名無しさん2015/10/27(火) 16:24:02.30 ID:9n46hpc8
XE8だけど度々ツールボタンの配置が勝手に変な配置になることあるんだけど
これツールバーを固定とかできないの?
0873デフォルトの名無しさん2015/10/27(火) 20:24:11.50 ID:Vhrm1X6v
typedef AA* BB; // error
typedef struct AA {
int a;
char b;
};

typedef struct AA* BB // struct が必要
見落としでず〜〜とはまってたorz
0874デフォルトの名無しさん2015/10/29(木) 15:30:22.16 ID:LrNG8hLc
InternetOpen関数が未解決の外部シンボルとなってしまうのですが、
#include <wininet.h>だけでは駄目なのでしょうか?
C:\Windows\System32にdllは入っているのですが。
バージョンはRAD Studio XE4です。
0875デフォルトの名無しさん2015/10/29(木) 16:35:36.25 ID:KGbQTZfg
>>874
ちゃんと wininet.lib をリンクしているか?
ヘッダーをインクルードしただけじゃだめだったはず
もしくはTDllなど使って動的に読み込むか
0876デフォルトの名無しさん2015/11/06(金) 17:29:45.23 ID:QzzrXzlg
TStringGridでセルをレンジセレクトした時に
どこからどこのセルが選択されてるか知る方法を教えてくださいよ
0877デフォルトの名無しさん2015/11/06(金) 18:00:16.20 ID:QzzrXzlg
自己解決
0878デフォルトの名無しさん2015/12/17(木) 11:56:28.88 ID:OtFQlLjA
ツールバーを固定する設定教えてEX8
0879デフォルトの名無しさん2016/01/11(月) 16:58:48.18 ID:2/5w5vru
久々のBCB6でアクチできん、
Win10にしてしまったからかな?
0880デフォルトの名無しさん2016/01/18(月) 15:16:01.58 ID:EJWQpEFC
はい
0881デフォルトの名無しさん2016/01/18(月) 15:30:54.31 ID:KyMS6dV3
bds2006の場合は .borland と .jiam のコピペでいけるけどな
0882デフォルトの名無しさん2016/01/18(月) 15:31:57.16 ID:KyMS6dV3
bcb6の場合はなんかレジストリの方を書き換えるんだっけかな?
0883デフォルトの名無しさん2016/01/20(水) 15:05:35.49 ID:bBwjBHqk
教えて下さい。
TADOQueryでSQLでoleobject型のフィールドを作成し
そこにバイナリデータの書き込みまではできたのですが
それを読み込む方法と何バイトあるかを取得する方法をを教えてください。
0884デフォルトの名無しさん2016/01/23(土) 18:38:40.51 ID:726AhWun
C++Builder 10 Seattle トライアル版を落として使ってみたんだけど
プロジェクトを閉じて、次にまた開くと
直前に開いていたソースの状態が保存されていない
例)3個の.cppファイルを開いていて、プロジェクトを保存して閉じる。
 次にプロジェクトを開くと、1個の.cppファイルだけが開いた状態になっている。
なんか操作をしないと、ソースの状態は保存されないのかな?
0885デフォルトの名無しさん2016/01/23(土) 20:38:46.73 ID:QG0chHOm
若干意味が分からないんだが「ソースの状態」って何?
「終了時に開いていたファイル(タブ)が起動時に開いた状態になっていない」って意味なのか?
普通の動作じゃないのか?それ
最近になって仕様が変わったんならあれだけど、過去にはそういう動作していたのか?
08868842016/01/23(土) 20:57:45.78 ID:726AhWun
A.cpp B.cpp C.cpp D.cpp E.cpp F.cpp とファイルがあり
プロジェクトを開くと なぜか
A.cpp E.cpp F.cpp が開いた状態になる
A.cpp B.cpp C.cpp だけを開いて、プロジェクトを(保存して)閉じても
次にプロジェクトを開くと
常に、A.cpp E.cpp F.cpp が開いた状態となる
これって普通なの???
でこれが普通だとして、この状態を変えて
プロジェクトを閉じるときの状態を記憶させる方法を知りたい訳
0887デフォルトの名無しさん2016/01/23(土) 22:24:31.32 ID:QG0chHOm
>>886
その動作は知らん
まず作成した「プロジェクト」は何?Windowsアプリケーションとか
各CPPファイルはプロジェクト作成した後に作成したものなのか、それとも既存のファイルをプロジェクトに追加したのか
各CPPファイルは何?フォームとかフレームとかユニットとか

考えられるのはUACのファイル仮想化の影響だろうか
そのプロジェクトはどこに保存されているのか
0888デフォルトの名無しさん2016/02/02(火) 01:41:53.70 ID:GAVe+K2q
>>886

ツール - オプション - 環境オプション - 自動保存の設定 - プロジェクトデスクトップ

チェックを有効

でどうかな。

C++Builder とか Delphi で生成したバイナリは変な関数や変数名が
勝手にエクスポートされるけど抑止出来ないのかな。

内部で使ってるクラス名とかが見えてしまうのがちょっと恥ずかしい。
0889デフォルトの名無しさん2016/02/02(火) 14:44:18.56 ID:chGMw9p3
staticおじさんきたー
0890デフォルトの名無しさん2016/02/03(水) 06:02:49.86 ID:sqi/9QAv
CppBuilderやDelphiの文字見えただけで
プッておもってるっつーの。
0891デフォルトの名無しさん2016/02/04(木) 10:26:04.24 ID:yRIhdZTa
ん?何で?
0892デフォルトの名無しさん2016/02/15(月) 13:36:47.08 ID:uj4lhjZt
XE8のTChartで設計時と実行時でタイトルのフォントやサイズが違うんですが
これ設計時と同じにする設定教えてくださ
0893デフォルトの名無しさん2016/02/15(月) 16:19:32.11 ID:uj4lhjZt
TPopupMenuのクリックイベントでどのコントロールがメニューを出したのかどこ見たらわかるんですか?
0894デフォルトの名無しさん2016/02/21(日) 11:01:02.36 ID:UzPMPT/j
http://homepage1.nifty.com/MADIA/delphi/delphi_bbs/200810/200810_08100054.html

これ使えるなら、SenderにTagつけとくのが一番良いのでしょうか。
全部読んでないし、よくも知りませんけど。
0895デフォルトの名無しさん2016/02/21(日) 19:09:08.88 ID:Vu+T+AQR
>>893
PopoupComponentプロパティー
0896デフォルトの名無しさん2016/03/11(金) 08:59:49.50 ID:O+H4Y2rU
Wndows7 Home EditionでC++Builder6使って32bitアプリを造ってるんですけど
昨日まで問題なく動いてたのがアクセスバイオレーションで
「モジュールCC3260MT.DLLのアドレスXXXXXXXXでアドレスYYYYYYYYに対する
読み込み違反が起きました。」というデバッガからのメッセージで停止するようになったんですけど

読み込み違反が起きたのはバイナリファイル(Asciiテキストや16bit整数、32bit整数が混合してます)を
fread()でファイル先頭にあるテキストデータをchar buf[4];にFILE *streamから1組を1回読み込むステップです。
昨日までは問題なく読み込みできました。
読み込みデータの内容ははネットで流通してるバイナリエディタで確認してあります。

「モジュールCC3260MT.DLL」はMSが作ったのかBorlandが作ったのかどちらでしょう。
開発用のPCはネットにつながってます。

マイクロ・ソフトがwindows updateでHDDの中を盗み見して破壊工作したんでしょうか
C++Builderの再インストールで解決するのか
Windows7の再インストールをしなければいけないのか
もっと簡単な解決策はありますか。
0897デフォルトの名無しさん2016/03/11(金) 09:16:05.33 ID:8EX0/NZE
>>896
まず、そのDLLはborlandのもの
($BCB\Bin以下にもある)

そして、そのDLL(内のコード)がアクセス違反を起こしたからといって、そのDLLが悪いというわけではない
DLLを呼び出す部分で誤ったパラメータを渡しただけというのが普通
0898デフォルトの名無しさん2016/03/17(木) 22:50:34.00 ID:PqfLOiE9
C++Builder XE7で以下のコンパイルエラーの対策を教えて下さい
”E2491:最大VIRDEF数を超過しました。再帰をチェックして下さい”
元のソースでは下記のようなクラスが再帰的に定義されています。
どなたかこのエラーの回避方法などあったらアドバイスをお願いします

/***********************************************************************/
class _NullItem {
public:
std::string nullpo;
std::time_t null_time;
private:
friend class boost::serialization::access;
BOOST_SERIALIZATION_SPLIT_MEMBER();
template <class Archive>
void save(Archive& archive, const unsigned int version) const {
static_cast<void>(version); // No use
archive & boost::serialization::make_nvp("nullpo", nullpo);
archive & boost::serialization::make_nvp("null_time", null_time);
}
template <class Archive>
void load(Archive& archive, const unsigned int version) {
if( version == 0) {
archive & boost::serialization::make_nvp("nullpo", nullpo);
archive & boost::serialization::make_nvp("null_time", null_time);
}
}
};
BOOST_CLASS_VERSION(_NullItem, 0);
0899デフォルトの名無しさん2016/03/18(金) 09:01:16.41 ID:M/rhXFbP
> E2491 最大 VIRDEF 数を超過した:再帰をチェックしてください (C++)
>
> 割り当てられた VIRDEF シンボルが多すぎます。
> コンパイラは,変換ユニットごとに使用できる VIRDEF の数を制限しています。
> 現在,この VIRDEF の制限は 16384 です。
>
> たとえば,プログラムに 16384 個を超える関数があると,このエラーが発生します。

さぁ、まず心当たりは?
0900デフォルトの名無しさん2016/03/18(金) 23:26:05.16 ID:tkVQMYU5
>さぁ、まず心当たりは?

心当たりがあります。関数数を数えたことはないのですが、8000位はあります。
変換ユニット毎との制限ということで、ユニットの内容を分割したところ、エラーは出なくなりました。
取り合えずこれで様子見とします。

ヒントをありがとう。
0901デフォルトの名無しさん2016/03/19(土) 04:02:39.11 ID:5djHDgqa
>>896-897
バイナリをテキストモードで読んだとか?

ファイルポインタが指す場所が、間違っているとか、
ファイルサイズ以上の場所を指しているとか
0902デフォルトの名無しさん2016/03/21(月) 18:43:25.64 ID:lWwxAdTu
管理者権限だとアクセス違反が出ないとか
0903デフォルトの名無しさん2016/03/25(金) 18:56:36.63 ID:EuSX1SpK
>>896
メールなどで個人的やり取りしてソース出せるなら見てみますが。
0904デフォルトの名無しさん2016/05/01(日) 15:03:32.96 ID:tKi6j9CT
匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrentがオープンソースで開発されています

言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?

Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al

ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw


The Covenant Project
概要

Covenantは、純粋P2Pのファイル共有ソフトです

目的

インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します

特徴

Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)

接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません
0905デフォルトの名無しさん2016/07/12(火) 11:43:55.23 ID:1/WKDUDU
質問ですが
フレームにStringGridを貼り付けてて、そのフレームをフォームに貼り付けているのですが
フォームを開いてもフレームのStringGridの一切のイベントが入ってこないのですが
これどうやったらイベント入るようになりますか?
0906デフォルトの名無しさん2016/07/12(火) 11:44:31.94 ID:1/WKDUDU
>>905 はC++Builder XE8です
0907デフォルトの名無しさん2016/07/28(木) 15:41:11.09 ID:iO9WFioI
TSpeedButton の Down プロパティーのヘルプに

Caption プロパティが true の場合,選択された(押されている)状態の
ボタンを 1 個ユーザーがクリックすると,クリックしたボタンの選択が
解除され Down プロパティが false に設定されます。

と,Caption プロパティが boolean みたいに書いてあるけど何かの間違い?
0908デフォルトの名無しさん2016/07/28(木) 16:58:58.04 ID:l777pp12
何かの間違いというか今のヘルプは適当だから疑問に持たず脳内変換するw
自分でもCaption プロパティじゃなくDown プロパティの間違いだと分かっているだろ
0909デフォルトの名無しさん2016/07/29(金) 12:23:30.40 ID:f/3nZbUf
ほれ。
GroupIndex プロパティが 0 より大きい場合,Down プロパティを true に
設定するとボタンを選択できます。同じ GroupIndex の値を持つ、
選択されていない(押されていない)状態のボタンのうちの 1 つを
ユーザーがクリックすると,クリックしたボタンが選択され Down
プロパティが true に設定されます。
AllowAllUp プロパティが true の場合,選択された(押されている)
状態のボタンをユーザーがクリックすると,選択が解除され Down
プロパティが false に設定されます。
...
メモ:GroupIndex が 0 の場合,ボタンをクリックし終わったときに、
選択状態は解除されます。
0910デフォルトの名無しさん2016/08/11(木) 23:22:55.82 ID:FivtrhEz
C++Builder互換の廉価版コンパイラでもどっかで出してくれないかなぁ
エンバカ高いダロの価格表みて唖然としたゎ
0911デフォルトの名無しさん2016/08/16(火) 14:55:25.10 ID:st4g9UZS
個人は門前払いだもんな
0912デフォルトの名無しさん2016/08/28(日) 16:44:47.74 ID:1u9LySbX
簡単なメッセージボックスを表示させたいのですが下記の記述だとその下のエラーが表示します。
メッセージボックスに関するヘッダーファイルはincludeしてませんがそのせいでしょうか?
初歩の初歩的な質問で申訳ありませんが教えてください。
C++Builder10.1 starterです。

  Application->MessageBox("送信スイッチ","確認",MB_OK);


E2034 'char const[5]' 型は 'const wchar_t *' 型に変換できない
E2342 パラメータ 'Text' は const wchar_t * 型として定義されているので const char * は渡せない
0913デフォルトの名無しさん2016/08/28(日) 16:58:33.68 ID:q+wmDdzP
Application->MessageBox(L"送信スイッチ",L"確認",MB_OK);
知らんけど
0914デフォルトの名無しさん2016/08/28(日) 21:14:52.85 ID:4X0IeHM2
プロジェクトで使ってる xxx.cpp の xxxのファイル名を変更するには、
どうしたら良いのでしょうか。

BCB6 です。
0915デフォルトの名無しさん2016/08/29(月) 01:42:36.38 ID:553LWAbc
プロジェクト名.cpp なのか ユニット名.cpp なのか分からんけど
前者なら「プロジェクトに名前をつけて保存」
後者ならそのユニットを選んで「名前をつけて保存」
古いほうはそのまま残っているのでエクスプローラなどから削除
0916デフォルトの名無しさん2016/08/29(月) 08:42:46.05 ID:ON1kcqtq
>>913
ご指摘の通りにLを追加することで解決しました。
迅速適切な回答をいただきお礼申し上げます。
0917デフォルトの名無しさん2016/08/30(火) 01:02:54.87 ID:KyhU9szH
メニューバーのアクセラレーター文字を表示させない為には、
どうしたら良いんでしたっけ。
0918デフォルトの名無しさん2016/08/30(火) 20:35:56.94 ID:vrBeNxH6
起動おそすぎね
0919デフォルトの名無しさん2016/09/01(木) 12:19:54.09 ID:+u33jOlz
チュートリアルやってたら
型限定子 'TDialogServiceSync' がクラス名または名前空間名ではない
宣言の構文エラー
っていわれるんだけどどうしたら修正できるんでしょうか?

int UserResponse = TDialogServiceSync::MessageDialog(L"This will clear the current document. Do you want to continue?",
TMsgDlgType::mtInformation, mbYesNo, TMsgDlgBtn::mbYes, 0);
0920デフォルトの名無しさん2016/09/01(木) 15:17:43.78 ID:+u33jOlz
include追加でよくなった
+++ #include <FMX.DialogService.Sync.hpp>
それと、
--- Fmx::Memo::TDeleteOptions()
+++ Fmx::Memo::Types::TDeleteOptions()

---Fmx::Memo::TDeleteOption
+++Fmx::Memo::Types::TDeleteOption
でコンパイルとおったわー
0921デフォルトの名無しさん2016/09/01(木) 16:52:01.59 ID:wmHkFOqO
omede
too
0922デフォルトの名無しさん2016/09/03(土) 16:01:45.49 ID:w8mOGCX1
消したった
0923デフォルトの名無しさん2016/09/04(日) 07:46:37.03 ID:5SDmlLW2
Delphi / C++Builder 10.1 Berlin Starter Edition が無料でダウンロード可能

注意事項
・無料ダウンロードは2016年8月22日から9月9日までの期間限定
・1回の登録/申請で1ライセンス入手可能
・1つのEメールアドレス/アカウントごとに1ライセンスのみ入手可

[Delphi 10.1 Berlin Starter Edition]
https://www.embarcadero.com/jp/products/delphi/starter/promotional-download

[C++Builder 10.1 Berlin Starter Edition]
https://www.embarcadero.com/jp/products/cbuilder/starter/promotional-download

894 :デフォルトの名無しさん [↓] :2016/08/27(土) 23:49:13.99 ID:9sh8Hs6g.net
Berlin StarterでDelphiとC++Builderの両方をインストール
しようとして失敗したりして気づいたこと

サイトから手動でダウンロードする実行ファイルは共通みたい
最初Delphiを手順通りにインストールすれば
C++Builderはインストールコードだけメールで送ってもらい
それをライセンスマネージャで登録する

Delphiでダウンロードした実行ファイルをもう一度実行すると
C++Builderがインストールできるようになる
0924デフォルトの名無しさん2016/09/04(日) 19:19:32.02 ID:Vrh+QpQO
全然だめじゃんこれ
ツカエネー
ディスク容量の無駄
0925デフォルトの名無しさん2016/09/06(火) 13:18:52.54 ID:JudOQXZV
無料のc++版なんですがLiveBindingの設定が見つかりません
Embarcadero C++Builder 10.1 Berlinです
http://i.imgur.com/mM9Wak9.png
0926デフォルトの名無しさん2016/09/06(火) 19:39:47.98 ID:MfZbc6Jb
残念だったな
0927デフォルトの名無しさん2016/09/10(土) 18:04:46.91 ID:IC/YnQoN
BCB6のプロジェクトを10に変換できますか?
0928デフォルトの名無しさん2016/09/13(火) 16:19:15.63 ID:rgca+Jie
これなに?
E2342 パラメータ 'S' は const UnicodeString 型として定義されているので TStrings は渡せない
0929デフォルトの名無しさん2016/09/13(火) 16:41:44.27 ID:rgca+Jie
Fmx::Printer::Printer()->FontsをListBoxにaddしたいんだけど、
ListBox1->Items->Add(Fmx::Printer::Printer()->Fonts[i]);
とすると上記エラーがでます。
どう直せば良いでしょうか?
0930デフォルトの名無しさん2016/09/14(水) 05:51:56.96 ID:MHBTWTzU
Fonts->Items[i]
0931デフォルトの名無しさん2016/09/14(水) 09:08:01.91 ID:73fyrNos
>>928
パラメータ'S'が単一の海栗コード文字列引数として宣言されているところに
文字列リストを渡そうとしています。
0932デフォルトの名無しさん2016/09/14(水) 12:00:42.03 ID:YPGuBiXl
>>930-931
ttp://docwiki.embarcadero.com/Libraries/Berlin/ja/System.Classes.TStrings.Strings
ここに
>特定の位置にある文字を取得したり設定するには、Strings プロパティを使用します。
って書いてあったから
ListBox1->Items->Add(Fmx::Printer::Printer()->Fonts->Strings[i]);
としたらコンパイルできました
ありがとうございます
0933デフォルトの名無しさん2016/09/14(水) 13:14:01.62 ID:FqUE/Us6
おめ

delphiで、配列的に[]で直接アクセスできるものを
builderでは、直接[]ではなくItems[]とかStrings[]にするっていうのは、パターンだね

参照ではなくポインタなので、[]が別の意味になっちゃうから
0934デフォルトの名無しさん2016/09/14(水) 19:13:14.57 ID:SAtYzmLp
Formを追加してForm1とForm2があります。
Form1に変数int portnoがありForm2よりForm1の変数を下記の記述で変更すると
「portnoはTForm1のメンバではない」とエラーメッセージがでます。

Form1->portno = (Edit1->Text.ToInt());

お互いのフォームのリンクはしています。
初歩的な質問で申訳ありませんが教えてください。
0935デフォルトの名無しさん2016/09/14(水) 19:39:23.19 ID:UPhwSVZG
portno って Form1 の public 変数?
単なるグローバル変数なんじゃないの
0936デフォルトの名無しさん2016/09/14(水) 20:48:27.28 ID:SAtYzmLp
>>935
ご指摘の通りに変数の宣言位置を間違えていました。
public: のもとで宣言することで解決しました。有難うございます。
0937デフォルトの名無しさん2016/09/15(木) 15:34:10.35 ID:XGSP2Mqe
C++ Builder 10.1 Berlin Starter Edition落として使ってみてるんですけど
std::shared_ptr みたいな、C++11の機能はまだ未実装なんですかね?
#include <memory> しても「E2316」が出てしまいます。
0938デフォルトの名無しさん2016/09/15(木) 16:21:33.43 ID:/7fa7B3U
STLを落とせ
0939デフォルトの名無しさん2016/09/15(木) 20:19:34.21 ID:E4bLsAAi
C++Builder XE7以降でOpenCVを使いたいのですが、
使用するまでの手順を教えて下さい orz
0940デフォルトの名無しさん2016/09/29(木) 14:11:12.83 ID:6DQvtiI1
すみません
ttp://docwiki.embarcadero.com/Libraries/Seattle/ja/FMX.TreeView.TTreeViewItem.Create
URLのページにはTTreeViewItem.Createがあるのに
TTreeViewItem* tvi = TreeViewItem1->Create(NULL);
と書くと
'Create' は 'TTreeViewItem' のメンバではないとコンパイラに言われてしまいます
実行時にTTreeViewに項目を追加したいのですが、どう書けばよいのでしょうか?
Embarcadero C++Builder 10.1 Berlinです
0941デフォルトの名無しさん2016/09/29(木) 14:58:18.92 ID:W6ujk58U
TTreeViewItemの方じゃなくてTTreeViewItemsの方にAddメソッドあるでしょ。
Addメソッドの戻り値がTTreeViewItemじゃなかったけ?
0942デフォルトの名無しさん2016/09/29(木) 17:46:57.75 ID:q+RL0+b6
>>940
CreateメソッドはDelphiのインスタンス作成メソッド
C++(Builder)でのコンストラクタにあたるもので直接呼び出すものじゃない

TTreeViewItem* tvi = new TTreeViewItem(Owner);
0943デフォルトの名無しさん2016/09/29(木) 23:33:36.75 ID:6DQvtiI1
>>941-942
TValue a;
FolderDetails obj(L"新しいフォルダ");

TTreeViewItem* tvi = new TTreeViewItem(TreeView1.Selected);
tvi->Parent = TreeView1.Selected;
a = &obj;
tvi->Data = a;
tvi->Text = obj.Name;

こんな感じでできました ありがとうございます
0944デフォルトの名無しさん2016/09/29(木) 23:56:40.42 ID:6DQvtiI1
×TreeView1.Selected;
○TreeView1->Selected;
です
0945デフォルトの名無しさん2016/10/02(日) 08:57:24.17 ID:GEDjtSli
>入門者向け「Delphi」「C++Builder」の有償販売が終了、無期限の無償版として公開
> エンバカデロ・テクノロジーズ社は27日、入門者向けに提供している統合開発環境「Delphi 10.1 Berlin Starter Edition」
>および「C++Builder 10.1 Berlin Starter Edition」の有償販売を終了し、無期限の無償版として公開したことを明らかにした。
>従来はそれぞれ38,000円(税別)で販売されていた。

ttp://forest.watch.impress.co.jp/docs/news/1021826.html
0946デフォルトの名無しさん2016/10/02(日) 10:19:31.75 ID:LRFGAx2/
有料でいいからそれくらいの価格で最新版を出してくれ
0947デフォルトの名無しさん2016/10/04(火) 12:11:02.21 ID:v3wpM9GX
すみません
TWindowHandle *handle = Form1->Handle;
TWinWindowHandle *h = WindowHandleToPlatform(handle);
と書くと
[bcc32 エラー] Unit1.cpp(81): E2451 未定義のシンボル TWinWindowHandle
[bcc32 エラー] Unit1.cpp(81): E2268 未定義の関数 'WindowHandleToPlatform' を呼び出した
とコンパイルエラーになります
#include <FMX.Platform.Win.hpp>
はしてあります
どう書いたら良いのでしょうか?
Embarcadero C++Builder 10.1 Berlinです
0948デフォルトの名無しさん2016/10/04(火) 15:53:57.43 ID:Fh5hzUKR
書き方は間違ってないです
0949デフォルトの名無しさん2016/10/04(火) 18:37:21.14 ID:v3wpM9GX
Fmx::Platform::Win::TWinWindowHandle *ThisHandle = Fmx::Platform::Win::WindowHandleToPlatform(this->Handle);
でコンパイル通りました でもHWNDがほしい場合は
HWND hWnd = Fmx::Platform::Win::FormToHWND(Form1);
こっちで
0950デフォルトの名無しさん2016/10/04(火) 19:08:52.56 ID:ZPmHgmj0
using namespace Fmx::Platform::Win {
TWindowHandle *handle = Form1->Handle;
TWinWindowHandle *h = WindowHandleToPlatform(handle);
HWND hWnd = h->Wnd;
}
0951デフォルトの名無しさん2016/11/09(水) 10:52:46.15 ID:kuZLiOyu
メインフォームからNewで作成&表示したFormAを
FormAのXボタンを押した時に破棄するにはどうすれば良いでしょうか?

FormAにはそれぞれ数MBytesのデータを持っていて、
使い方によっては500枚位New→Showする場合もあります。
09529512016/11/09(水) 11:48:15.48 ID:kuZLiOyu
補足です。

FormAを作成表示する時
 FormA = new TFormA( NULL );
FormA->Show();

FormAのヘッダに、

 WORD img[X_SIZE][Y_SIZE];

となっています。

タスクマネージャで見ているとFormAを作成&表示するタイミングで、
アプリのメモリ使用量が増え、FormAをXボタンで閉じてもメモリ使用量は減りません。

何かヒントでも良いので宜しくお願いします。
0953デフォルトの名無しさん2016/11/09(水) 11:56:08.41 ID:oUIt6up3
deleteしてもOSに返さないという動作は普通
09549512016/11/09(水) 12:10:21.29 ID:kuZLiOyu
>>953

Formの生成→破棄を繰り返すとメモリ使用量がどんどん増えてしまい空きがなくなってしまうのですが、
回避策はないのでしょうか?
0955デフォルトの名無しさん2016/11/09(水) 13:19:55.14 ID:oUIt6up3
そもそもdeleteしてないのか
09569512016/11/09(水) 15:21:51.68 ID:kuZLiOyu
>>955
有り難う御座います。

deleteはしています。

FormAのFormDestroyイベントで、

delete FormA です。

newする時に FormA = new TFormA( NULL ); とすると、
自動で破棄されるとありましたので試しても同じでした。
0957デフォルトの名無しさん2016/11/09(水) 16:59:53.71 ID:MySZ1+Fo
ちゃんと確認しろよ・・
>FormAのFormDestroy
FormAのFormDestroyイベント発生してないだろ???
FormAのOnCloseイベントでActionがcaHideになってるから閉じても
ただ隠されてるだけ。
Action = caFreeに。
09589512016/11/09(水) 18:44:01.88 ID:kuZLiOyu
>>957

解決しました。
有り難う御座います。
0959デフォルトの名無しさん2016/11/10(木) 22:02:20.88 ID:5giHah+7
トレースしてデバッグすればすぐに分かりそうなもんだが
0960デフォルトの名無しさん2016/11/15(火) 10:49:42.24 ID:tf1AFsOG
そういやBorlandの処理系って効率重視で
showとhideだったな
0961デフォルトの名無しさん2016/12/19(月) 15:15:25.78 ID:VPbqLagj
C++BuilderXE8でたまにツールボタンの並びが勝手になるバグがあるんだけど
これツールボタンを固定する方法あります?
0962デフォルトの名無しさん2016/12/20(火) 16:20:59.51 ID:8sj0h97T
OnClose の所で Release(); をしておけば、メモリは解放されるだろう。
0963デフォルトの名無しさん2017/03/01(水) 11:07:01.60 ID:KtcD2OJw
だれか>>961教えてよさっさと教えてよ
0964デフォルトの名無しさん2017/03/03(金) 13:36:20.10 ID:nBceVUOh
もう8なのか
0965デフォルトの名無しさん2017/03/05(日) 12:02:33.47 ID:JDaHwQbX
BuilderからDelphiのコードを使用すると関数等がエクスポートされちゃうんですけど
これを抑止する方法は有りませんか?
0966デフォルトの名無しさん2017/03/05(日) 22:37:22.07 ID:nindsAFW
.defを書く
0967デフォルトの名無しさん2017/03/05(日) 22:55:24.78 ID:JDaHwQbX
Export していない関数を.defに書けばExportできるけど
Export している関数を.defにどうやって書けばExport しないようにできるんですか?
0968デフォルトの名無しさん2017/03/05(日) 23:09:57.15 ID:nindsAFW
@を付ける
0969デフォルトの名無しさん2017/03/16(木) 17:22:49.23 ID:3Whp+BAf
C++Builderで一番新しいのってなんて名前?
0970デフォルトの名無しさん2017/03/17(金) 11:38:25.48 ID:pwo5j4El
C++Builderだろ
RAD Studioとかの話?
0971デフォルトの名無しさん2017/03/17(金) 11:55:30.90 ID:bHm1rqvy
バージョンの話でしょ
0972デフォルトの名無しさん2017/03/17(金) 12:01:35.13 ID:ol/nseXL
gcc/g++使えないかな
0973デフォルトの名無しさん2017/03/17(金) 16:51:43.51 ID:f98hbWM+
次のバージョンの名前は「C++Builder 10.2 Tokyo」じゃね?
0974デフォルトの名無しさん2017/03/17(金) 19:41:55.54 ID:QjW8EYFj
いや、
  「C++Builder 10.2 PyongYang」(正男追悼 Special Version)
だな・・・。
これくらいの反骨リベラルセンスが欲しいw
0975デフォルトの名無しさん2017/03/25(土) 02:06:45.28 ID:rdchZzwu
C++BuilderXE6でSFTP(クライアント機能)を使用したいと思っています。
調べるとOpenSSHライブラリのWindows版がありダウンロードしたのですが、
中身はコンソール用のEXEファイルでした。
使用方法としては、プログラムからシェル経由でOpenSSHのEXEを呼び出すという事になるのでしょうか?

ライブラリにはlibとかdllがあって、APIを呼び出すイメージかと思っていたので・・・
0976.(たこやき)2017/04/02(日) 20:12:02.88 ID:a+01og6C
新着レスの表示
レス数が950を超えています。1000を超えると書き込みができなくなります。
レスを投稿する