X



くだすれC++Builder(超初心者用)その5
レス数が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/
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出たか?
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/  〈 / -‐   /
0011デフォルトの名無しさん
垢版 |
2012/05/04(金) 23:55:11.37
>>10
あとEXEのサイズが全然違う
開発環境が入っていればDLLは必要ないけど配布版はライブラリリンクしないと
C#は全てダイナミックリンクだから
0015デフォルトの名無しさん
垢版 |
2012/05/07(月) 12:04:39.83
XE2 から clang の改変版に切り替わったから、XE3 で LLVM コードを出せるようになって問題解決
0018デフォルトの名無しさん
垢版 |
2012/05/08(火) 09:13:40.03
TServiceを使用してサービスを作ったのですが、
exeをリネームして複数サービスを登録したい場合どうすればよいのでしょうか?

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

よろしくお願いいたします。
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
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のバグなのかなあ・・・
003426
垢版 |
2012/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);
}
}
}
003726
垢版 |
2012/05/18(金) 12:08:59.27
こんなしょーもない質問にマジレスしてくれてありがとう

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

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

皆さん色々ありがとう
今回はTPopupMenuを動的に作って逃げてみます
004526
垢版 |
2012/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のはチェックにしてます
0051デフォルトの名無しさん
垢版 |
2012/05/23(水) 15:58:14.83
>>49
あー、わかりました。
ShowCaptions=Trueならダメなんですねこれ・・・
キャプションを表示しつつToolButtonの幅は変えられないですかね?
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で背後に行かないようにする方法を教えてください
0061デフォルトの名無しさん
垢版 |
2012/05/25(金) 14:48:16.55
>>60
5も大丈夫だったので2007だけかもしれません。
とりあえずWMWindowPosChangingメッセージでTOPにして常に最上位に表示するようにしてますが・・・
2007ってバグ多いからなあ
0063デフォルトの名無しさん
垢版 |
2012/05/25(金) 15:38:04.10
>>62
Form1のコンストラクタで動的に作成してます
んで、Form2を表示させる場合にShowして必要なくなったらHideしてます。
Form2はフリーせずにずっと非表示で存在してます
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はどこに書かれているのですか?
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内部でフォームの情報を読んでそれぞれのコンポーネントを生成、初期化している。
0078デフォルトの名無しさん
垢版 |
2012/05/29(火) 10:20:37.46
誰かさピクセル関数の使い方教えてくれる人いない?
課題で黒い線の上を車の画像走らせるアプリ作ってるんだけどその車の左右には触覚?みたいなものがついていてその触覚の色を取得したいんだが・・・
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にコピーして、
^^
0085デフォルトの名無しさん
垢版 |
2012/05/30(水) 10:19:22.99
とりあえずマウスダウンでピクセル使って色を取得するプログラム作ったんだけどフォームの色しか取得出来ないんだが
イメージ画像とかコンポーネントの色が取得出来ないのは何でだ?
0087デフォルトの名無しさん
垢版 |
2012/05/30(水) 10:30:24.03
いまからはじめても大丈夫?
会社つぶれない?
0089デフォルトの名無しさん
垢版 |
2012/05/30(水) 10:48:40.13
>>86
コンポーネントの色を取得出来ないのはしかたがないとしてビットマップ画像の色は取得したい
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);
0098デフォルトの名無しさん
垢版 |
2012/05/31(木) 11:50:12.26
MSIME2010 です。
0100デフォルトの名無しさん
垢版 |
2012/05/31(木) 12:04:12.49
もしかと思い、OS変えて調べてみました。
手元にある、Win7では×ですが、XPでは○でした。
OSなんですか?
0103デフォルトの名無しさん
垢版 |
2012/05/31(木) 12:21:44.69
>>94で書いたような、IME位置の移動処理をしなくても、

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

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

win7だと、>>95で書いた方法でIMEを移動できても、無理かもしれませんね。
0105デフォルトの名無しさん
垢版 |
2012/05/31(木) 12:36:04.75
私が使ているのは、Win7-32bitなんですが、
WOW64は、32bitOSでも関係あるものでしょうか?
0109デフォルトの名無しさん
垢版 |
2012/06/04(月) 19:15:32.73
プログラミングの前に、高校数学をやり直したほうがいいぞ
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%くらいまでしか進んでいません。
これ以前のようにちゃんと現在位置を表示させる方法を教えてください
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などをやってもダメでした・・・
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で使用しています。
メインファームである処理をしている時にフォームを掴むとその処理が停止してしまいますが、
これを回避する方法はありますか?
離せばまた元通り動き出すので、今は「掴むな!!」という事にしています。
0126デフォルトの名無しさん
垢版 |
2012/06/07(木) 21:52:25.64
FormのEnabledプロパティをfalseにするとフォーカスが当てられなくなるな

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

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

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

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

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

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

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


Synchronizeメソッドの説明を読むと、
一度メインフォームに処理を戻してVCLの更新を実行するという事が書かれています。
でもフォームが掴まれている状態でSynchronizeメソッドを呼ぶとそこで止まってしまうのではないかと・・・?
結局止まってしまうのではないかと。
0130123
垢版 |
2012/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円は新規の人に魅力的だろうか?
0134デフォルトの名無しさん
垢版 |
2012/06/09(土) 14:34:38.30
>>133
画像は分かりやすいけど…
dotupじゃすぐに消えちゃうぞ。一発ネタならちょうどいいけどね。
とりあえず、imgurにでもアップしなおして。
0136バカでごめんね
垢版 |
2012/06/09(土) 14:38:35.85
ユーザー名ぐらいはいいかなあと
0137デフォルトの名無しさん
垢版 |
2012/06/09(土) 14:46:28.54
いいんならいいけど。
てか、よく見たらこれBuilderじゃなくて、Borland C++ Compiler 5.5.1か〜。
0139デフォルトの名無しさん
垢版 |
2012/06/09(土) 18:41:25.01
>>132
魅力でしょ、
50000円ならシェアウェアを公開して
1ライセンス2000円もとれば、あっという間に元は取れるんだし。
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ビット云々のダイアログがでているだけ。
0143142
垢版 |
2012/06/09(土) 21:22:31.31
あ、cpad が実行しているわけではないのか。
0144デフォルトの名無しさん
垢版 |
2012/06/10(日) 13:24:50.15
RAD2010を使用しているのですがエディタでコメントを日本語入力しているときに、マウスカーソルがコードにかかっていると定義の検索が作動した時に文字化けしたり落ちたりしてしまいます。
IMEでマウスカーソルオフ以外の方法でこれを回避する方法はないでしょうか?再インスコや別PCでも治りません。誰か助けて…。
0146デフォルトの名無しさん
垢版 |
2012/06/10(日) 15:34:38.64
ということはあまり問題になっていないということでしょうか?強制電源オフしなくてはならないので困ってます。
BDS2006から発生していてバージョンアップをやめていたのですがWin7で安心して使用できるようにバージョンアップしたらまた同じでした。
もしかしてうちだけですか?
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が出る頃までなんとかガンバりますわ。
0152142
垢版 |
2012/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がやっとでてきたり不安定です。
0162デフォルトの名無しさん
垢版 |
2012/06/11(月) 00:08:53.72
登録ユーザーダウンロードを見ているのですがどれなのかわかりません。HF2まで当てていますが。
0163デフォルトの名無しさん
垢版 |
2012/06/11(月) 00:32:00.57
見つけました。が、インストールしても治らず。
というかインストールすると普通に文字化けが…。
0166デフォルトの名無しさん
垢版 |
2012/06/15(金) 16:21:48.56
エクスプローラが落ちたときに、タスクトレイに表示されているアイコンが消えてしまいます。
これを防ぐにはどうしたら良いのでしょうか?
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なんて一企業が成立するくらい使ってもらってるじゃん
0175デフォルトの名無しさん
垢版 |
2012/06/22(金) 13:17:09.31
そういや秀丸って名前がかっこ悪いバグまだ直ってないのか?
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は文字化けしないみたいなんですが
どうしたら文字化けしなくできますか?
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を試してほしい・・
0189デフォルトの名無しさん
垢版 |
2012/07/04(水) 14:21:51.41
んじゃさ、受信したSubjectとか=?ISO-2022-JP?形式なんだけど
これを変換する方法を教えて><
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じゃちゃんと変換されるんだけどなあ
0196デフォルトの名無しさん
垢版 |
2012/07/04(水) 14:57:38.42
そうなんだよね、それ気づくの遅かったアホだし俺とか
んで、諦めて、アレしたんだけど
しかし何故delphiの方はSubjectそのままぶち込んでもちゃんと表示されてんだろ
0198デフォルトの名無しさん
垢版 |
2012/07/04(水) 15:28:45.56
どうしたものか
とりあえず>>189教えてくらさ><
0200デフォルトの名無しさん
垢版 |
2012/07/04(水) 15:33:11.48
やってみる・・・
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だったけど
ニフティーから来たメールはダメだったぽ・・
これプロバによってアレかあ死にたい
0208デフォルトの名無しさん
垢版 |
2012/07/05(木) 21:52:36.95
コモンコントロールってWM_NOTIFYを親に送りますよね
親がコントロールだったら、そのコントロールをサブクラス化するしか
WM_NOTIFYを捕捉する術はないのでしょうか?
0210デフォルトの名無しさん
垢版 |
2012/07/06(金) 10:02:51.17
この前からIdPOP3がバグるって騒いでる基地外ですが
>>203氏のおかげで結構変換することができた
で、色々受信してたらMecsShrinkElementを通しても化けるのがあって
よくよくみてみると、MecsShrinkElementで化けるのは
最初から既にちゃんと変換されてたってのがわかったんだけど
2010のIndyのバグのせいか、ちゃんと変換されてるのと無変換で
MecsShrinkElementを通すとOKってのがあったんだけど
これを判別する方法としてCharSetがISO-2022-JPならMecsShrinkElementを使う
って事にしたら大抵OKになったけど、たまにCharSetに何も入ってないのに
MecsShrinkElementを使わないとダメなのがあって
これどうやって判別したらいいのですか・・・

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ビット作れないみたいだし次まで待つ事に
0215デフォルトの名無しさん
垢版 |
2012/07/06(金) 11:38:13.20
とりあえず、判断は
AttachmentEncoding、CharSet、ContentTransferEncodingでなんとかなりそうです。
で、最後に・・・
=?shift_jis?B? この形式で来るのが現在変換できなくて困ってます。
これを変換する方法を教えてください・・・
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
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つ変換できたら思い残すことはないかもしれないぽ
0224デフォルトの名無しさん
垢版 |
2012/07/11(水) 17:21:14.33
TListViewにExchangeメソッド無い??
行入れ替えどうやったらいいのかおしえてくらだ
0225デフォルトの名無しさん
垢版 |
2012/07/11(水) 17:42:41.81
>>222
XE2ではタイトルがそうならないみたいな気がするので分からないけど
Base64のデコードに失敗してるんだと思うので自分でデコードすればもしかしたらうまくいくのかもしれない
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
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に放り投げられるんだけどなあ
0237デフォルトの名無しさん
垢版 |
2012/07/12(木) 16:48:26.40
>>235
それのRotateBitmap使ったらできましたー!!!
C++Builder2010
しかしこれパラメータ多くてとりあえず適当に入れてやってみたんだけど
回転角に90って入れても90度になってくれないなあ
たぶん他のパラメータの指定が悪いんだとおもうけど
0239デフォルトの名無しさん
垢版 |
2012/07/12(木) 18:15:09.13
ソフトを起動した時に既に起動していたら、既に起動してるソフトに引数をわたして
後から起動されたソフトの方を終了するにはどうしたらいいですか?
よくブラウザとかそんな感じになってますが
0245デフォルトの名無しさん
垢版 |
2012/07/13(金) 12:57:29.09
プロジェクトソースのとこで自分のハンドルを取得してメッセージ送るのってダメ?
0246デフォルトの名無しさん
垢版 |
2012/07/13(金) 14:26:10.10
Win32の本を読むと、あるプロセスから他のプロセスにメッセージを送る方法は
大きく分けて3つあり、共有メモリを使った通信、メールスロット、名前付きパイプ
がある。前者ほど易しいが欠点も多い。後者ほど難易度が増すが、より堅牢に
なる。前者はメッセージを受け取る努力がより要求され、後者はメッセージを
より強引に送りつけるようになるとある。

ケースに応じて使い分けろと書いてある。
0248デフォルトの名無しさん
垢版 |
2012/07/13(金) 15:40:45.59
>>247
引数ってその場合
UINT Msg, // message to post
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
これだけしか送れなくない?
コマンドラインみたいのを渡す時は使えない
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? ですた^^
教えてくださ
0257デフォルトの名無しさん
垢版 |
2012/07/26(木) 14:42:59.26
C++Builder2010でjconvert.pasをコンパイルしたら
jconvert.hpp内の各関数の引数が全てAnsiStringからUnicodeStringに変わってしまって
正常に実行できなくなるのですが
これちゃんとhpp内の引数がAnsiStringのままになるようにコンパイルするにはどうしたらいいですか?
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を自分で書き換えるって事ですよね?
0265デフォルトの名無しさん
垢版 |
2012/07/27(金) 14:38:05.17
>>263
何かうまくいかないのですが、
Charでキャストしてるのがエラーになりますが
これは何にしたらいいですかね?
0267デフォルトの名無しさん
垢版 |
2012/07/27(金) 15:17:01.92
これが実際のソース
Result[k] := Char( (dbuf[0] shl 2) or (dbuf[1] shr 4) );

CharをAnsiCharでキャストしたらとりあえずコンパイルエラーは出なくなったけど
動作させても文字が化けて以前と変わらずなもので。
ちなみに、ConvertJCode関連の関数は全てAnsiStrigに変更しました
0269デフォルトの名無しさん
垢版 |
2012/07/27(金) 15:28:28.22
黙ってコンパイルするとUnicodeStringになっちゃいますが
それをAnsiStringに変更しました
0273デフォルトの名無しさん
垢版 |
2012/07/27(金) 21:40:26.16
>>272
たしかにそれでコンパイルは通りますが
ちゃんと変換できないのはやっぱり別の箇所に原因があるんですねこれ
どこなんだろう
0275デフォルトの名無しさん
垢版 |
2012/07/28(土) 02:45:05.50
タスクバーをクリックしてアプリケーションに戻った時に,
最後にフォーカスがあったフォームしか表示されなく
なってしまった。

ちょっと前まで,全部のフォームが表示されたのに。
何を変えちゃったのか全然分からん。
0277デフォルトの名無しさん
垢版 |
2012/07/30(月) 10:05:24.98
IdPOP3->Retrieveって添付ファイルまで受信しちゃってるみたいですが
これ添付ファイルは受信しない方法を教えてください
0278デフォルトの名無しさん
垢版 |
2012/07/30(月) 18:18:33.29
スクロールボックスの縦、横のスクロールバーが出てるかどうかを判断する方法を教えてほしい
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が立ってるかどうかとか?
0284デフォルトの名無しさん
垢版 |
2012/07/31(火) 17:23:14.32
C++Builder2010でマウスカーソルをリソースマネージャに追加したのですが
これどうやってScreen->Cursorsにぶち込むのですか?
0286デフォルトの名無しさん
垢版 |
2012/07/31(火) 20:57:10.15
2010多いな
XEとかXE2の質問がほとんどねえ
という事はXEが2010のバグ取りバージョンで、XE2がDelのみを64bit化したわけか
0289デフォルトの名無しさん
垢版 |
2012/08/02(木) 10:26:06.26
MouseDownイベントでマウスボタンが押されている間マウスカーソルを変更したいのですが変更されません
マウスボタンを離したら変更されるのですが
これボタンを押してる状態でカーソルを変更させる方法を教えてください
0291デフォルトの名無しさん
垢版 |
2012/08/06(月) 22:26:49.96
Stringgridの罫線?の色ってどやってかえるの?BuilderXE使用中です
0292デフォルトの名無しさん
垢版 |
2012/08/08(水) 16:05:43.47
jconvert.pasを2010でコード変えずにコンパイルする方法を教えて・・・
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]とか)
その文字列を学籍番号や氏名の区切り文字でわけて
構造体(の配列?)に順に格納していく。
それを最終行まで繰り返す。
表示は表示先しだい。
0297デフォルトの名無しさん
垢版 |
2012/08/10(金) 04:41:10.79
>>296
OpenDialogでテキストを何に読み込んでるかわからんけど、
TStringListやTMemoでテキストを読み込んでいろいろと処理する
サンプルなら検索すればいくらでもあるかと。
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

のような数字のテキストデータを
それぞれ身長 体重 学籍番号 などに分類したいんです。
構造体を宣言し、格納したいのですが
どういうプログラムを書けば格納できるのかサッパリなんです。
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絡みで変なとこがあれば、デバッグで自分のソースを指摘
してくれそうなもんですが、このメッセージだと何がなんやらで・・・)

何かヒントになりそうな事でもいいので、教えてください。
よろしくお願いします。
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
0313デフォルトの名無しさん
垢版 |
2012/10/01(月) 14:48:44.19
     ∧_∧
     ( ゚ω゚ ) C++Builderは任せろー
 バリバリC□l丶l丶
     /  (   ) やめて!
     (ノ ̄と、 i
        しーJ
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;
0323デフォルトの名無しさん
垢版 |
2012/10/18(木) 01:58:27.76
設定の段階で詰まりました
http://i.imgur.com/GIbjD.jpg
e2075で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
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が表示されないんですが
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を扱うにはどうしたらいいのでしょうか・・・
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関係をインスコさせるのかわからないしなあ
0342デフォルトの名無しさん
垢版 |
2013/01/21(月) 11:18:03.34
>>341
知らないならレスしないで下さい。ウザイだけです
0344341
垢版 |
2013/01/21(月) 20:40:50.34
>>341
ここにはIDでないからな。知らないで開発委託者の立場でレスはしない。
そんなことも知らないでC++を使ってるような経験値の低い開発者には
頼まないってこと。
MSがこれを入れておくと動きますよと言ってくれるVBで、といったのは
そういうわけ。
C++Builderはexeをコピーするだけで動くスタンドアロンなプログラムが作
れるのが利点の1つ。
0345341
垢版 |
2013/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を使おう
0351349
垢版 |
2013/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アプリケーションを別のパソコンへ持っていきたいと考えてます。
この場合、イーサネットで接続するようになるのですが、名前つきパイプを利用すれば同等の機能が実現できますでしょうか?
0357片山博文MZパンク ◆0lBZNi.Q7evd
垢版 |
2013/03/22(金) 23:23:20.90
無料でC++Builderを使いたい。どこにあるの?
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
表示メニューに移動してた・・・

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


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

以前C++Builder5でexeが肥大するバグがあってするUpdateが出たけど
何で使いもしないのも無理やりexeに組み込むんだろ
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でコンパイルした方が倍時間がかかってたんだけど、何で?
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 );
0386デフォルトの名無しさん
垢版 |
2013/07/05(金) NY:AN:NY.AN
>>385
やってみた。
64bitの方が早くはならなかったが同じくらいの速度にはなった。
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コードなので、同じくらいというのは
まぁそんなもんかという気はする。
0393デフォルトの名無しさん
垢版 |
2013/07/07(日) NY:AN:NY.AN
>CopyMemory自体がWin32API
じゃ遅くても仕方ないな。Win64 API 使えないのかよ。
使えねーつーるだな
0395デフォルトの名無しさん
垢版 |
2013/07/07(日) NY:AN:NY.AN
またmalloc()やプリコンパイルヘッダの時みたいにユーザーが提案してきた
ルーチンを組み込むつもりなのかな
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の部分を条件分岐追加してコンパイルしただけ
0404デフォルトの名無しさん
垢版 |
2013/07/09(火) NY:AN:NY.AN
399は両方XE4です
2010だと1.2Mだった
サイズはあまり気にしないがやっぱりでかくなってるんだな
0406デフォルトの名無しさん
垢版 |
2013/07/10(水) NY:AN:NY.AN
C++Builder XE4でandroidアプリって作成できますか?
0408デフォルトの名無しさん
垢版 |
2013/07/10(水) NY:AN:NY.AN
雑魚は黙ってろよ
0409デフォルトの名無しさん
垢版 |
2013/07/17(水) NY:AN:NY.AN
C++Builder5で質問なんだけど
最初はなんともなかったんだけど
フォーム数が増えてきてからコンパイルするとアイコンがデフォになってしまう
その状態になっても何度も再構築してたらちゃんと指定したアイコンになる時もあったんだけど
今はもう完全に何度再構築してもデフォアイコンのまま
しかもこの現象はXPだけでWin7だとちゃんとアイコンが表示されている。
このバグを回避してちゃんと指定したアイコンになる方法を教えてくださ・・・・
0411デフォルトの名無しさん
垢版 |
2013/07/17(水) NY:AN:NY.AN
レジストリどこ弄くればいいですかね?
0413デフォルトの名無しさん
垢版 |
2013/07/17(水) NY:AN:NY.AN
>>412
ありがとう。
よく読んでアレしてみます
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を一気に開くと画面が崩れるので設定を変えたんだが
他の原因だな
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 で指定できるのに・・・。
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?
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パスポート,運転免許 モスのエクセルとワードだよ
これはネタではないよ
事実だよ
コピペでもないよ
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 を使えば水平一ラインごとに読み書きできるので
たいていこちらを使う。
0436デフォルトの名無しさん
垢版 |
2013/08/22(木) NY:AN:NY.AN
フルカラーの24bit16万色が(+8bitα値がGDI+)当たり前の今は関係ないけど、
昔は少ないVRAMにパレットを割り当てる事によって原色に近い色を出してたろ

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

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

ここが分かりやすいな

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

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

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

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

勉強不足長文すみません。
0441デフォルトの名無しさん
垢版 |
2013/08/22(木) NY:AN:NY.AN
ああそうだ、初めて知ったんだけど、ImageコンポーネントのPictureプロパティの
HandleからHBITMAP構造体へのポインタを得て、BITMAP構造体を
GetTObject()で取得しても、bmBitsはNULLになっちゃうのな
これどうすればいいんだろ
0442431
垢版 |
2013/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+をサポートしていないので、描画時に考慮するだけで他の動作は違うし
0447444
垢版 |
2013/08/30(金) NY:AN:NY.AN
>設定した色以外の場合だけ描けば

調べても動作させても上手くいかなかったので、そうします。
0448デフォルトの名無しさん
垢版 |
2013/08/30(金) NY:AN:NY.AN
ListViewでレポート表示させている場合に、ある行にフォーカスを設定すると
その行が画面に見えてない時には見える位置まで自動でスクロールしてしまうのですが
スクロールさせないようにすることは可能でしょうか?
スクロールしてしまった後に自力で戻すしかないでしょうか?
0449デフォルトの名無しさん
垢版 |
2013/08/31(土) NY:AN:NY.AN
ある行にフォーカスを設定ってSelectedってこと?
だとしたらウチではそんなことにならないんだけど…
0452デフォルトの名無しさん
垢版 |
2013/08/31(土) NY:AN:NY.AN
その行が表示されていない状態でフォーカスを設定すると見える位置までスクロールしない?
ファイラーなんかでフォーカス行が見えていない時に↑↓キーでフォーカス行を変更すると
見える位置までスクロールするのと同じことなんだけど
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が存在するならば
そこへのライブラリパスが適切に設定されていないのでは?
という気がします。
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使えってこと?
0478デフォルトの名無しさん
垢版 |
2013/10/17(木) 21:30:50.90
入力補完でキャストすれば行けるのに出てこない候補とかあるんだけど
設定とかあるの?
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からん
0483デフォルトの名無しさん
垢版 |
2013/10/23(水) 16:46:48.23
XE4で質問
ソフトを起動してからボタンを押すとメインフォームのVisible=falseにしたらフォームが消えるんですが
コンストラクタでやっても消えてくれません。
Application->ShowMainForm = false;
これやっても消えてくれません。
起動時にどうやったらフォーム非表示で起動できますかね?
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 だからもとからバイト数だよ。
0487デフォルトの名無しさん
垢版 |
2013/10/24(木) 05:28:10.04
MainFormが表示されてから、表示を消さないといけない
MainFormが表示される前のタイミングで、表示を消しても無意味
ノーマルなやり方は
MainFormのOnActivate()イベントで、消すのが普通だろうな
0488デフォルトの名無しさん
垢版 |
2013/10/24(木) 09:10:40.83
どういうのを作りたいのかよくわからんがフォーム自体いるのかね
消えたまま起動して後からまた表示させることもあるんかな
トレイに入れておくとか、あるいはバックで動かしたいのか
フォーム使わないなら最初から無いまま作ればいいんだし
0491デフォルトの名無しさん
垢版 |
2013/10/24(木) 12:39:30.47
XE4とwin8で一回目にダイアログを実行してなにかファイルを選択して、
二回目にダイアログを実行したとき、フルパスで表示されます
ファイル名だけを表示させる方法を教えてください。
昔はファイル名だけが表示されたと思うんですが、、、、
ttp://www.dotup.org/uploda/www.dotup.org4608757.png
0493デフォルトの名無しさん
垢版 |
2013/10/24(木) 15:46:08.57
>>483
フォームの〜.cppじゃなくて、プロジェクト名.cppのRun()の前で
Application->ShowMainForm = false;
やるんじゃないの?
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で
オブジェクトインスペクタにファイル選択ダイアログを表示させるボタンを表示させたいんだけど
どうやったらいいのでしょうか
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
そう言う場合はまず作ってるプログラムから離れて間違っているのか確認してから
そうでは無いなと確信してから自分のプログラムを疑う物ですよ
0505デフォルトの名無しさん
垢版 |
2013/10/29(火) 15:07:07.12
デバッグすればいいだけじゃん
ループの100回目でブレークポントを張って
変数の値を確認すればよい
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' を開けません
というエラーが出て困っています.
0511デフォルトの名無しさん
垢版 |
2013/11/06(水) 10:14:53.13
>>509 スレタイ読め
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

もしそのようにしているのに怒られると言うなら具体的にコードを書いてみて
0516デフォルトの名無しさん
垢版 |
2013/11/07(木) 22:21:46.25
System.DateUtils.hppをインクルードすると、
W8058 ヘッダーに初期化データが含まれているためプリコンパイルヘッダーを作成できない
ってエラーが出るのは、回避不可能なの?
0518デフォルトの名無しさん
垢版 |
2013/11/11(月) 13:09:32.22
継承される可能性のあるクラスは、仮想デストラクターを置けって言うけど、
ヘッダーファイルに↓の置いておくだけでよいの?
virtual __fastcall ~TSample();
0519デフォルトの名無しさん
垢版 |
2013/11/11(月) 13:32:23.26
>>518
それでもコンパイルエラーは出ないけど、いざ実行されるとランタイムエラーが出るんだっけ
確かそんなはず
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
まず、データモジュールってコンポーネントはしってるんだよね??

グローバルな設定の初期化(終了化)するタイミングはデータモジュールのコンスタラクタ(デストラクタ)なわけで、
後は、君が書いたクラス次第でしょ。ここが何をして、どう使うクラスになってるのか全く想像できないから、
どう説明したらいいか・・
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ファイル にある

データモジュール自身にそれらを実行する関数を持たせて「別の関数作ってそこにたくさんの処理を書いてコンストラクタからその関数を呼び出す」ってのでもいいけど。
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ファイルのロード などのアプリケーション全体に影響する設定や処理をそこで行うということ。

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

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

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

という警告が出るのですが、どう危険なのでしょうか。
0542539
垢版 |
2013/11/12(火) 18:39:32.34
ありがとうございます。
マルチスレッド化する前にインスタンスが作られるのであれば、
#pragmaで消しても大丈夫な警告なのでしょうか?
0544539
垢版 |
2013/11/12(火) 20:26:11.82
>>543
分かりました。ありがとうございます!

それから、関係ないのですが、クラス名の1文字目の"T"って何の略ですか?
"TApplication", "TForm", "TThread", "TCheckBox"等の"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
ボーランド時代は安くて痒い所に手が届く使い勝手の良いコンパイラを提供してくれていたのだが
0552デフォルトの名無しさん
垢版 |
2013/11/15(金) 01:00:43.35
とりあえず今のC++ XE4 Update1で発生する不具合

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

こんなにクソなんです
QCに入れたって日本人担当者とさんざん英語でやりとりした挙げ句、
再現出来ずだしな
0554デフォルトの名無しさん
垢版 |
2013/11/15(金) 02:49:42.72
QC 入れるときに 「高橋さんはコメントしないでください」
って一文入れとけばいいと思う。

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

言いがかりをつけているのはどっちかな
0562デフォルトの名無しさん
垢版 |
2013/11/17(日) 15:01:28.39
BCB6で32bitアプリを作る時にはどうすれば良いんでしょうか。
16bitしか作れないんでしょうか。
0565デフォルトの名無しさん
垢版 |
2013/11/17(日) 15:26:14.61
ああ、バージョン情報を含めるをチェックしたらバージョン情報が出てきました。

マイクロソフトのサイトに、exeファイルを右クリしてバージョン情報が出てこなかったら16bitアプリって
書いてあったんですが、右クリで出てきたので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あぷりでつか?って言われちゃうのか
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: リンクを実行できません。

とか表示されてしまうのだけど、何故?
0576575
垢版 |
2013/11/20(水) 09:11:06.26
ちなみに、PCを再起動するとコンパイルできるようになる。
IDE自体の再起動ではダメ。
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 になってない?
0584デフォルトの名無しさん
垢版 |
2013/11/30(土) 01:50:47.22
BCB6で、リッチエディットの上にマウスが乗った時のマウスカーソルを変更するのは
どうしたら良いんでしょうか 右向きの矢印が出ます
0585デフォルトの名無しさん
垢版 |
2013/11/30(土) 12:42:42.49
リッチエディットのCursorをオブジェクトインスペクタで変更しておけばいいんじゃ?
0587デフォルトの名無しさん
垢版 |
2013/12/02(月) 17:27:08.37
TImageで質問
ストレッチがtrueで
Image1->Picture->LoadFromFileで画像を表示させて
Image1->Widthを変更して再度表示させても以前のサイズのままで
更に読み込むと指定した大きさになるんですがこれすぐ正常なサイズで表示するにはどうしたらいいんですか?
Image1->Picture=NULLにしてもすぐには変わってくれなかったです
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: の所で
自分で作った関数や変数の宣言をするのでは、

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

>>594
オブジェクト指向プログラミングはあまり関係ないような気がする。
スモールトークにもJavaにもC#にもヘッダーファイルの概念は無いから。
0596594
垢版 |
2013/12/09(月) 10:32:01.94
>>593の前者は非メンバで後者はメンバ、という読みだが >>595
0598デフォルトの名無しさん
垢版 |
2013/12/09(月) 13:21:54.02
>>596
そういう意味か!!
てっきり、インライン関数かそうで無いかだと思ったよ。
すまん。
0599デフォルトの名無しさん
垢版 |
2013/12/09(月) 14:18:39.89
オブジェクト指向はメモリやプログラムの大きさの事を考えて設計する方法では無い
そもそもオブジェクト指向勉強してこいとか、質問の答えにさえなってない
0600594
垢版 |
2013/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)' に一致するものが見つからない

エラーの意味が分からないのですが、
スレッド内で動的に生成してはいけないのでしょうか?
アドバイス頂けると助かります。
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も生成すれば十分だったりしないかな?
0605601
垢版 |
2013/12/12(木) 15:34:49.14
有り難うございます。

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

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

勘違いしている点やアドバイスがあればお願い致します。
0607デフォルトの名無しさん
垢版 |
2013/12/12(木) 16:34:01.69
更新処理が重いなら間引くべきだと思うよ
毎回更新する必要があるなら、それは並列化できない、つまりスレッド化の意味がない
0608601
垢版 |
2013/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ウインドウを出さないように出来ますか
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する時に
表示されるメニューの幅と高さを任意に指定する方法をおしえて
0622デフォルトの名無しさん
垢版 |
2014/01/24(金) 11:57:52.15
C++Builder2010でSQLConfigDataSourceがリンカエラーになるんだけど
odbccp32.libを追加してるのに。
ちなみに、XPでは正常にリンクできたのにWin7だとリンカエラーになるのですが
Win7でもちゃんとリンクする方法を教えてくださ
0623デフォルトの名無しさん
垢版 |
2014/01/31(金) 11:46:42.51
印刷するのにお勧めのコンポーネント教えて
0625デフォルトの名無しさん
垢版 |
2014/02/01(土) 16:32:08.39
Delphi XE4 Professionalを持ってるんですが、
C++BuilderXE5 Starter
のアップグレード版は使えますか?
0627デフォルトの名無しさん
垢版 |
2014/02/01(土) 18:57:33.18
あー、
> Delphi StarterとC++Builder Starterの両方を購入して1つのマシンにインストールして「Mini RAD Studio」のように使うことはできますか?
> いいえ、1つのコンピュータには、1つのStarterエディションしかインストールすることができません。

なので、VMでも何でもいいので別のWindowsがいるので注意してね。
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も無いっぽいしどうしたらいいのこれ
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で何か印刷のアレをビジュアルでできそうです
どうせ糞だろうけど頑張ってやってみますありがとうございました糞野郎共
0638デフォルトの名無しさん
垢版 |
2014/02/10(月) 13:52:08.67
"44Op44O044Kn44Or44OK"みたいなUTF-8でアレされてるのを戻す方法を教えてください
C++BuilderXE4です。
0640デフォルトの名無しさん
垢版 |
2014/02/20(木) 11:40:21.94
TOpenDialogでInitialDirを指定しても直前に開いたとこを開くんだけど
ちゃんと指定したフォルダを開く方法を教えてください
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に指定してもうまくいかなかったんだけど
これちゃんとパスとる方法ありますかね?
0644デフォルトの名無しさん
垢版 |
2014/02/20(木) 16:03:01.36
いや意味わかんないです
0646デフォルトの名無しさん
垢版 |
2014/02/20(木) 19:12:22.42
>>645
ありがとう、感動した。
ExpandFileNameをかましてやったらちゃんとパスがアレしてくれました

しかし今までちゃんとできてたのに急に腐った仕様に変えないでほしいなあ園馬鹿ってやっぱ馬鹿なんだな
0648デフォルトの名無しさん
垢版 |
2014/02/21(金) 10:19:05.00
パスを見るとフルパスになってるんだけど
何故かWin32フォルダの前に必ず\.\が付加されてる。
ちなみに、Win32フォルダが無い別フォルダで実行するとちゃんとしたパスがゲットできてる
0651デフォルトの名無しさん
垢版 |
2014/02/21(金) 15:57:13.01
リンカのファイル出力先がそうなってるから、
デバッガに渡される実行ファイルのパスもそうなる

リンカの出力先指定:.\$(platform)\$(config)
0652デフォルトの名無しさん
垢版 |
2014/02/22(土) 02:07:21.82
プロジェクトオプションでC++(共有オプション)の中間出力と最終出力ディレクトリにある.\を削除すればOK
0654デフォルトの名無しさん
垢版 |
2014/03/04(火) 10:32:24.33
>>651-653
それやっちゃうと違うPCやフォルダ変えてコンパイルする時はまたその設定が必要なのでは?
0655デフォルトの名無しさん
垢版 |
2014/03/06(木) 11:19:51.13
XE4のTMediaPlayerで現在再生中かどうかを調べる方法を教えてください
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が来たら終了って判断できるのですが・・・
そういうのがあったらアレかなとおもって聞いてみましたがアレでしたね
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( )受け付けてくれないんだけど
これ非表示のままならどやってリストビュークリアしたらいいの??
0664デフォルトの名無しさん
垢版 |
2014/03/06(木) 17:18:43.59
>>663
ダメでしたよ。
0666デフォルトの名無しさん
垢版 |
2014/03/07(金) 10:22:10.84
>>665
それから?
0667デフォルトの名無しさん
垢版 |
2014/03/07(金) 20:28:14.79
>>662
どういう状況かよく分からない
その症状が出る最小のコードでも晒してくれればと思うが。

少なくともこちらでは「フォーム非表示の状態で作成されたフォーム」での
ListView->Items->Clear( )は正常に出来ている。
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ん
0676デフォルトの名無しさん
垢版 |
2014/03/12(水) 12:04:47.65ID:QsWejUh6
XE4までは使ってたんだけど64bitがClang使ってて怪しいし、C#の方が便利なんで
最近こちらばかり使っている
0680デフォルトの名無しさん
垢版 |
2014/03/13(木) 21:22:18.12ID:2KMiQ96l
ちなみにBCB6からはどれに移行するのが便利かな?
最新の安いの買えば古いのは落とせるんだよね?
0681デフォルトの名無しさん
垢版 |
2014/03/14(金) 00:00:21.88ID:Ar+khIgg
まず2007。次はXE5で。古いのが使えるのはPro以上で、Arcだろうがアカデミックは除外。
0682デフォルトの名無しさん
垢版 |
2014/03/14(金) 09:49:14.65ID:OyQukPKW
Unicode以前に移行するくらいなら6のままで良いんじゃないの?
ちなみにC++はXE以降で何も変わってないよ
それどころかXE2以降では訳の分からん不具合が結構ある
2009から使ってるけど、Win32VCLならXEが一番まともだと思う
0683デフォルトの名無しさん
垢版 |
2014/03/14(金) 10:22:00.41ID:E4e1CSrP
>>681
>>682
ありがとう。最新版への移行は試してみたんだけど、確かにUnicode周り
が大変な感じだった。コンパイラは変わってないのね。
2007借りて試してみてダメだったら6のまま現役で作ります。
0686デフォルトの名無しさん
垢版 |
2014/03/15(土) 10:16:32.35ID:2N6ROkeB
6も最初バグだらけだった気がした
0690デフォルトの名無しさん
垢版 |
2014/03/17(月) 10:12:10.52ID:STcoURnP
5って一番よかったわ。
俺もまだ5を使ったりするけど最近はXE4が多いかな64ビットアレできるし
0691デフォルトの名無しさん
垢版 |
2014/03/18(火) 15:09:16.49ID:qmOr3Dts
TListViewはどやって動的に作成するの?
ListView1 = new TListView( this );
で作成してもAddすると落ちるんですが
0693デフォルトの名無しさん
垢版 |
2014/03/18(火) 17:56:10.93ID:rfN06h31
>>692
クラス自身。だからクラスのメソッド内でしか使わない。

class hoge{
private:
class hoge *this;
};
こういうこと
多少の差異はあるものの
0695デフォルトの名無しさん
垢版 |
2014/03/18(火) 19:22:32.30ID:nfn1DUZV
>>693
>>692が聞いてるのはそういうことじゃなくて、thisとして何を渡してるのかなんだと思うが。
この場合のコンストラクタのパラメータには既に表示済の(hwndが有効な)TWinControlか
その派生クラスのインスタンスを渡すのがいいと思う。普通はTListViewを乗せるフォームかな。
0696デフォルトの名無しさん
垢版 |
2014/03/18(火) 19:26:19.29ID:+03dJUij
1も使ったことある
超昔に会社で
Delphi2 相当で
後に連番が繰り上がって 2 がなくて
3,4,5 になっていったのを克明に覚えている
0697デフォルトの名無しさん
垢版 |
2014/03/18(火) 21:07:14.37ID:cZ3kjopq
一番最初の記念価格のやつ買いました、しかも本屋さんで。
バージョンの番号が付いていなかったけど、ちゃんとバージョンアップされていきましたね。
単発で終わるかも?って思ってました。
0698デフォルトの名無しさん
垢版 |
2014/03/18(火) 23:12:28.25ID:VHoYM8as
>>693
横着せずにまずは新しいプロジェクト作って簡単なコードで TListView を動的作成したほうが原因つかみやすいだろ。
ちゃんとParent設定してるかとか。
0699デフォルトの名無しさん
垢版 |
2014/03/20(木) 15:53:38.30ID:ZOtvmQUF
XE5ってXE4から何が変わったの?何か追加された?
0701デフォルトの名無しさん
垢版 |
2014/03/24(月) 17:16:54.97ID:jkhS/0AK
よし!じゃあ今から注文するわ
0702デフォルトの名無しさん
垢版 |
2014/03/25(火) 17:19:10.70ID:6CkDQtbn
XE4が腐った。
ソースをコピペしたら意味不明なエラーが出てコンパイルするとリンクエラーが出るようになる。
再起動したらまたちゃんとコンパイルもリンクもできるけどめんどい
エロい人助けてエロい人
0704デフォルトの名無しさん
垢版 |
2014/03/25(火) 17:26:38.41ID:CSTEObew
XE5を買いなさいと言うエンバカからのお告げじゃない?
まったく直ってないと思うけど
意味不明なエラーってどんなんだよ
0707デフォルトの名無しさん
垢版 |
2014/03/25(火) 17:53:04.92ID:6CkDQtbn
だって、エラー内容書いたってお前等馬鹿だからどうせ解決しないし
>>703-706みたいなゴミレスは不要なんですよ。
知らないならレスしないで下さい。ウザいだけです。
0709デフォルトの名無しさん
垢版 |
2014/03/25(火) 18:21:57.56ID:TO7HBHku
解決するかどうかは別として開発者ならエラー内容なしにエスパーするのは難しいって知っていると思うが。
専ブラの初心者ユーザ並みの能力だな。
0711デフォルトの名無しさん
垢版 |
2014/04/02(水) 16:12:11.76ID:t1Fz8vI4
C++Builderで作ったっぽいプログラム資源がある
ただしC++Builderのバージョンや、
どんなカスタマイズ(コンポーネントやパッケージ)を用いているのか
さっぱり不明

プログラムの修正依頼をされたけど
最新版のXE5を使えば、開発できるもんなの?
やってみたが、コンパイルエラーが腐るほど出る
0717711
垢版 |
2014/04/03(木) 09:16:33.75ID: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 は無かったのでダウンロードした資源
0718711
垢版 |
2014/04/03(木) 15:06:39.14ID:c6M8SUjY
Envision Image Library とかいうのを
取り込んでいるっぽい
それが古い版だったのでXE5対応のやつをパッケージで
取り込んだ

しかしdcuファイルはあるが、hppファイルが無いため
クラス定義なしのエラーになる
0719デフォルトの名無しさん
垢版 |
2014/04/03(木) 19:37:58.06ID:03j6Q/GA
ああなんかそのエラーとかって requires セッションになんか加えるんだっけな?
0720デフォルトの名無しさん
垢版 |
2014/04/10(木) 11:41:05.83ID: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の描画がされるようにする方法を教えてください
0723デフォルトの名無しさん
垢版 |
2014/04/10(木) 15:53:27.45ID:cHkBS6BK
僕が提出したノートは2冊だっけな?
0724デフォルトの名無しさん
垢版 |
2014/04/10(木) 17:36:41.17ID:hCZjGgXU
>>721-722
いえいえ、そういうことを言ってるのではなくてですね
TProgressBarが意図的に推移バーを遅延させてるんですよこれ
XE4で>>720やってみてもらうとわかるとおもいますが
そして>>723は視ね
0725デフォルトの名無しさん
垢版 |
2014/04/10(木) 18:06:04.55ID: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.95ID:coZ4bcw7
ProgressMessage()
ってはじめてみた
0727デフォルトの名無しさん
垢版 |
2014/04/10(木) 19:17:35.95ID:UFqHLSfk
Application->ProcessMessages()か

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

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

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

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

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

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

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

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

-dcオプション

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

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

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

ちなみにC++BuilderでOpenMPは使えない気がする。ぐぐったらVCでDLL化して使ってる、という話は見かけた。
0769デフォルトの名無しさん
垢版 |
2014/07/04(金) 16:26:54.97ID:41y9bvYX
まじかー
この前XE4買ったかっばだと思ってたのに
ちなみに、4と6って何か大きな違いある?
オブジェクトインスペクタがバグるのは健在なのかな
0770デフォルトの名無しさん
垢版 |
2014/07/04(金) 17:45:59.48ID: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
0772デフォルトの名無しさん
垢版 |
2014/07/04(金) 18:14:39.60ID:41y9bvYX
うーん、XE6欲しいけど10月にXE7出る可能性あるみたいだしー

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

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

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

カメラとImage3Dの関連付けというかがわからない
カメラ動かしても特にImageの方は形かわらないですし
これうまく使えたら結構色々できそうで良さげなんだけどなあ
0784デフォルトの名無しさん
垢版 |
2014/08/13(水) 10:56:58.97ID:+YEx4mAs
フォームがアクティブになったのを検知する方法おしえて
0785デフォルトの名無しさん
垢版 |
2014/08/13(水) 11:10:47.54ID:+YEx4mAs
できた。
お前等ってほんと糞の役にも立たないカスだな^^
0792デフォルトの名無しさん
垢版 |
2014/08/21(木) 21:51:35.45ID:9Z06b8uo
ソースがついてりゃできるし、ついてなきゃできない。エディションによるとしか。ところでBMPの件はともかく、
そんな話あったっけ?
0793デフォルトの名無しさん
垢版 |
2014/08/29(金) 22:34:31.99ID:VvmJl6gy
XE6を使っています ビルド構成をdebugにして実行すると正常動作しますが
Releaseにして実行ファイルを作成すると起動はするのですが異常に重たい
動作になります(スレッドでRS232Cの通信をやっていて通信が重くなる)

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

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

OSはwin8です。
0794デフォルトの名無しさん
垢版 |
2014/08/29(金) 22:43:09.84ID:DWWx7kEW
>>793
最適化とかの影響でおかしくなることもある。
動作が変わってしまう場合はまずdebugと同じにして徐々にはずすとかするといいかもしれない。
0796デフォルトの名無しさん
垢版 |
2014/08/30(土) 11:08:55.59ID:GfRuM6rp
>>794
解決しました、DEBUGと同じにそて最適化をはずしてもだめだったのでスレッドの速度を
はかってみたところ
Sleep(1);
がXE6を起動しているときと、単独で起動しているときではSleepしている時間が違うように
みえました。
もともとのルーチンもあまりよくなかったので双方を調整し何とか正常に動作するように
なりました。
ありがとうございました。
0797デフォルトの名無しさん
垢版 |
2015/01/09(金) 17:41:11.11ID:tgzE7GLA
うんこ
0798デフォルトの名無しさん
垢版 |
2015/01/25(日) 16:43:12.52ID:zaVj/bx6
Windows7にC++Builder6をインストールしたんだけど
統合環境のエディタ画面のスクロールバーが欠けて
半分くらいしか表示されていないのはテーマのせいかね?
Windowsクラシックに変更すればちゃんと表示されたけど
他に何か改善策ないかな
0799デフォルトの名無しさん
垢版 |
2015/01/25(日) 20:00:30.91ID:apxi13NM
古いバージョンを使うなら
VM環境に入れればイイじゃん
VMにXPなりターゲットのOSを入れてそこで動かせばエエがな
さすれば、OSを最新に変えても
VMのファイルさえコピーすれば
再インストールする必要もなくそのままつかえるべ
0800デフォルトの名無しさん
垢版 |
2015/01/27(火) 18:27:33.75ID:YUbq7nJU
テーマで変わるのはあると思う。
自分はWindows7にC++Builder5。
テーマはWindows7ベーシックかな。
右側が若干はみ出しているがまぁ気にせず使っている。
Aeroだと問題ないようだけど。
0801デフォルトの名無しさん
垢版 |
2015/01/27(火) 20:45:29.35ID:fVDilJE1
Aeroでもベーシックでもダメだった
結局BCB6でコンパイル&デバッグする時は画面をクラシックに変えることにした
デスクトップを右クリックして変えるだけで手間もかからないし動作も機敏になるし
ウィンドウの端もキッチリ合わせられるので統合環境ではこの方が見やすいので
あとメッセージウィンドウをソースエディタとドッキングしてるとエラーが出たりしたので
これは外に出して並べることで対処した
0806デフォルトの名無しさん
垢版 |
2015/02/20(金) 13:00:58.09ID: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();
0809デフォルトの名無しさん
垢版 |
2015/03/25(水) 19:52:20.09ID:zQ0lz0zO
builderにおいて、キーボードショートカットで定型文のコメント挿入したいんですが可能性ですか?
0812デフォルトの名無しさん
垢版 |
2015/04/13(月) 16:54:22.63ID:XpW/wdfu
マジで?
0813デフォルトの名無しさん
垢版 |
2015/04/20(月) 15:56:31.29ID:gud9zPg6
ちょっとEX8で質問なんですが
DataModule1 = new TDataModule( this );
として
Destroyでdelete DataModule1; すると
そのdeleteの行で無効なポインタ操作のエラーがでるんですが・・・
以前(EX4)はこれでエラー出なかったのになんでですかね??
0814デフォルトの名無しさん
垢版 |
2015/04/20(月) 16:01:20.29ID:gud9zPg6
あれ?何かMdbModuleのDestroyが2回呼ばれてるなんでだろ
とりあえず理由はわからんけど、回避法はわかったからいいや
0815デフォルトの名無しさん
垢版 |
2015/04/20(月) 16:05:24.10ID:gud9zPg6
あ、わかった、デフォで自動作成になっとった何この仕様変更
0816デフォルトの名無しさん
垢版 |
2015/04/24(金) 09:58:36.40ID:m/xUqZvj
TStringGridでセルの文字をセンタリングとかさせるのってやっぱDrawCellでないとできない?
せっかくカラムクリックで自動で色が変わってくれるのにDrawCellで再描画するとその変がダメになるし
バージョンアップしても以前のコントロールが全く便利になってないなあ
どうでもいいとこに力入れすぎ
0817デフォルトの名無しさん
垢版 |
2015/04/30(木) 00:50:33.24ID:0ZqGd+2G
C++Builder5 Enterpriseをアキバで1kでゲットしたが
使い道があるのか考えてしまった。。。
アップデートもDL出来ないし・・・
0818デフォルトの名無しさん
垢版 |
2015/04/30(木) 12:17:40.30ID:48P0pUJa
Builder5だとシリアルコード入れなくても使えるんだっけ?
自分はPersonalだけど(正規購入だぞw)古いDelphなら欲しいけど古いC++Builderはいらんなぁ
EnterpriseでもVCLのコードって付いてないんでしょ?
0819817
垢版 |
2015/04/30(木) 23:41:47.60ID:0ZqGd+2G
Builder5もシリアル要りますよ。
バンドルとしてDelphi4 Professionalと
JBuilder3 Professionalが付いてる。

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

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

そのお古はシリアルコードもちゃんと有効なん?
0821817
垢版 |
2015/05/01(金) 00:42:07.23ID: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.19ID:2Cy6f4Lo
シリアルは売買できなかったんじゃなかったっけ?誰か登録したやつ使えばライセンス違反じゃないの?
0823デフォルトの名無しさん
垢版 |
2015/05/01(金) 19:05:29.43ID:UqXlBgJO
>>821
やーやー
情報サンクス
確認だがその数値は住所の番地ということでよろしいか?

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

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

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

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

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

お店でその勘違いをしないでよかったw
0833817
垢版 |
2015/05/03(日) 21:48:47.99ID:uwBNPmrf
つまりはダブらずに済んだ、と。
0835デフォルトの名無しさん
垢版 |
2015/05/28(木) 15:29:36.25ID:mWzjZbOD
MDI子フォームのShowイベントでそのフォームを閉じたい時があるのですが
Closeで閉じると一瞬そのフォームが表示されて閉じられるので
表示されずに終了する方法を教えてくださ
0836デフォルトの名無しさん
垢版 |
2015/06/12(金) 16:36:52.03ID:NiHM1R4i
EX8なんだけど、ツールボタンの標準がツールバーから抜けてウィンドウになっちゃったんだけど・・
これまたツールバーに収める方法教えて・・・
何かダブクリしたら勝手にウィンドウになって戻せなくなるバグなんとかしろよ円馬鹿・・・
0837デフォルトの名無しさん
垢版 |
2015/06/14(日) 22:45:30.59ID:uFZap+BE
「ツール|オプション|環境オプション|ドッキング|自動オートドラッグドッキング」オフ
0838デフォルトの名無しさん
垢版 |
2015/06/15(月) 09:59:23.79ID:V8+T4SmB
>>837
できましたありがとう。
これずっとウィンドウになったままですごくウザくて助かりました
0839デフォルトの名無しさん
垢版 |
2015/06/16(火) 15:14:04.02ID:dfwwDFvi
複数のコントロールから同じTPopupMenuを呼ぶようにしてるのですが
MenuItemClick時にどのコントロールからメニューを開かれたか調べるのはどうしたらいいですか
0840デフォルトの名無しさん
垢版 |
2015/06/16(火) 17:42:23.81ID:qOgIsb4N
Popupを自動にするんじゃなくて、コントロールのOnMouseUpイベントでPopupさせる。
そのときにどのコントロールが右クリックされたかを記憶する。
MenuItemClick時にはそれを読み出して利用する。
0841デフォルトの名無しさん
垢版 |
2015/06/17(水) 18:13:40.39ID:G7CsTola
TADOQueryでSQL文が1024文字を超えるとエラーになるのですがどうしたら正常に処理できますかね
0842デフォルトの名無しさん
垢版 |
2015/06/17(水) 18:28:26.72ID:G7CsTola
1024までもいかず900くらいでもエラーになりました。
文字数減らすとエラー出無いのですが・・・
0845デフォルトの名無しさん
垢版 |
2015/08/06(木) 12:19:16.15ID:/1pEP5C4
XE4とかのオプション画面て画面左側がツリーで右側はツリーで選択された画面になるけど
これって画面の右側ってどうやってるの?
TPageControlでタブ消して複数の画面にしてるの?
他に方法思いつかないので他あったら教えてくださいね
0846デフォルトの名無しさん
垢版 |
2015/08/07(金) 21:53:51.23ID:YV6/OEFp
ブックオフにC++Builder6の書籍があったので買ってきたが
C++Builder5でも応用できるかしら?
0849デフォルトの名無しさん
垢版 |
2015/09/06(日) 15:41:58.28ID:GQAlD4H2
BCB5 から新しいバージョンの BCB に移行する場合、何に移行すれば
良いのでしょうか。

C++Builder XE とか C++Builder 10 Seattle とか色々あって良くわからなくて。
0851デフォルトの名無しさん
垢版 |
2015/09/10(木) 18:25:50.89ID:k719s5uw
BCB6
0853デフォルトの名無しさん
垢版 |
2015/09/12(土) 06:32:02.51ID:KBtNVTvL
ハードウェアブレークポイント使っていると、ダイアログが出てくるのが面倒
0854849
垢版 |
2015/09/12(土) 07:57:19.47ID:KUaVREQw
>>852

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

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

これ面倒だし使う必要性が全くわからないんだけど。
同じイベ呼びたいならAction使わずに普通にイベントの飛び先指定すればいいだけだし・・・
0859デフォルトの名無しさん
垢版 |
2015/09/14(月) 20:56:48.71ID:Kxs9LERE
TAction.ActionComponent 使え
必要性が理解できないなら使わなきゃいいじゃん
君はコマンドを無効にする時ボタンとメニューの両方のEnabledを操作したいのか?
0860デフォルトの名無しさん
垢版 |
2015/09/15(火) 10:56:46.92ID:CGLdKAoh
知らないならレスしないで下さい。ウザいだけです
0861sage
垢版 |
2015/09/15(火) 13:23:01.76ID:VZEmjz2I
昔あった、エディタ内のフリーカーソル無効化アドイン、URL無くなっちゃってて
移転先かソースコードある場所教えてください
0863デフォルトの名無しさん
垢版 |
2015/09/29(火) 15:00:53.25ID:Zuz2kDtS
EX8で質問。
TThreadでコンストラクタにtrueを設定してコンストラクタでStart();を呼ぶとエラーになるのは何故??
Resume();使えば正常に動作はするけどResume使わずにStart使えってヘルプに書いてるし。
どうしたら正常にStart使えますかね?
0864デフォルトの名無しさん
垢版 |
2015/09/30(水) 00:21:35.15ID: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.54ID:w2iELAw5
>>864
1の場合です。
Resumeは普通に出来てたからStartもできるとおもってましたがダメなんですね。
仕方ないからコンストラクタを抜けてからStart呼ぶと正常に動作しました
0866デフォルトの名無しさん
垢版 |
2015/10/06(火) 13:21:26.24ID:zVBm4qLy
USB-IO2.0(aki)をC++BuilderXE8で動作させようとしています。
Bakesanのところのdllをダウンロードしましたが、全く動作しません。
C++BuilderXE8またはDelphiXE8で動作するサンプルプログラムをしりませんか?
コンポーネントもありませんか?
0867デフォルトの名無しさん
垢版 |
2015/10/09(金) 16:10:29.84ID:KdS16RZw
フォームにPanelを張ってPanel->Align=alLeftとしてフォームの左に配置して
そのパネルにSplitterをくっつけて実行時にPanelを幅を変更させてますが
SplitterのAutoSnapをtrueにしてPanelの幅をめいっぱい小さくすると
確かにPanelがフォームにスナップされスプリッターだけが見える状態になります。
この時にフォームの幅をちょっとでも広げたり縮めたりすると
スプリッターをドラッグしても二度とPanelの幅を調整できなくなってしまいます。
スナップさせた状態にフォームサイズを変更しても正常にスプリッターでPanel幅を調整できるようにする方法を教えてください
EX8でございます
0868デフォルトの名無しさん
垢版 |
2015/10/22(木) 15:54:27.59ID:iO0WLFkx
LabeledEditって設計時にどやってラベルのキャプション返るの?
オブジェクトインスペクタに無いんだけど?EX8
0870デフォルトの名無しさん
垢版 |
2015/10/23(金) 11:18:36.14ID:j6IZpfew
>>869
TextはLabelじゃなくてEditのプロパティじゃまいか
0871デフォルトの名無しさん
垢版 |
2015/10/23(金) 17:05:49.65ID:9nV0Wa1S
>>870
適当に答えた

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

もしEditLabel というプロパティがないのなら分からん
0872デフォルトの名無しさん
垢版 |
2015/10/27(火) 16:24:02.30ID:9n46hpc8
XE8だけど度々ツールボタンの配置が勝手に変な配置になることあるんだけど
これツールバーを固定とかできないの?
0873デフォルトの名無しさん
垢版 |
2015/10/27(火) 20:24:11.50ID: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.16ID:LrNG8hLc
InternetOpen関数が未解決の外部シンボルとなってしまうのですが、
#include <wininet.h>だけでは駄目なのでしょうか?
C:\Windows\System32にdllは入っているのですが。
バージョンはRAD Studio XE4です。
0875デフォルトの名無しさん
垢版 |
2015/10/29(木) 16:35:36.25ID:KGbQTZfg
>>874
ちゃんと wininet.lib をリンクしているか?
ヘッダーをインクルードしただけじゃだめだったはず
もしくはTDllなど使って動的に読み込むか
0876デフォルトの名無しさん
垢版 |
2015/11/06(金) 17:29:45.23ID:QzzrXzlg
TStringGridでセルをレンジセレクトした時に
どこからどこのセルが選択されてるか知る方法を教えてくださいよ
0878デフォルトの名無しさん
垢版 |
2015/12/17(木) 11:56:28.88ID:OtFQlLjA
ツールバーを固定する設定教えてEX8
0883デフォルトの名無しさん
垢版 |
2016/01/20(水) 15:05:35.49ID:bBwjBHqk
教えて下さい。
TADOQueryでSQLでoleobject型のフィールドを作成し
そこにバイナリデータの書き込みまではできたのですが
それを読み込む方法と何バイトあるかを取得する方法をを教えてください。
0884デフォルトの名無しさん
垢版 |
2016/01/23(土) 18:38:40.51ID:726AhWun
C++Builder 10 Seattle トライアル版を落として使ってみたんだけど
プロジェクトを閉じて、次にまた開くと
直前に開いていたソースの状態が保存されていない
例)3個の.cppファイルを開いていて、プロジェクトを保存して閉じる。
 次にプロジェクトを開くと、1個の.cppファイルだけが開いた状態になっている。
なんか操作をしないと、ソースの状態は保存されないのかな?
0885デフォルトの名無しさん
垢版 |
2016/01/23(土) 20:38:46.73ID:QG0chHOm
若干意味が分からないんだが「ソースの状態」って何?
「終了時に開いていたファイル(タブ)が起動時に開いた状態になっていない」って意味なのか?
普通の動作じゃないのか?それ
最近になって仕様が変わったんならあれだけど、過去にはそういう動作していたのか?
0886884
垢版 |
2016/01/23(土) 20:57:45.78ID: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.32ID:QG0chHOm
>>886
その動作は知らん
まず作成した「プロジェクト」は何?Windowsアプリケーションとか
各CPPファイルはプロジェクト作成した後に作成したものなのか、それとも既存のファイルをプロジェクトに追加したのか
各CPPファイルは何?フォームとかフレームとかユニットとか

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

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

チェックを有効

でどうかな。

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

内部で使ってるクラス名とかが見えてしまうのがちょっと恥ずかしい。
0889デフォルトの名無しさん
垢版 |
2016/02/02(火) 14:44:18.56ID:chGMw9p3
staticおじさんきたー
0892デフォルトの名無しさん
垢版 |
2016/02/15(月) 13:36:47.08ID:uj4lhjZt
XE8のTChartで設計時と実行時でタイトルのフォントやサイズが違うんですが
これ設計時と同じにする設定教えてくださ
0893デフォルトの名無しさん
垢版 |
2016/02/15(月) 16:19:32.11ID:uj4lhjZt
TPopupMenuのクリックイベントでどのコントロールがメニューを出したのかどこ見たらわかるんですか?
0896デフォルトの名無しさん
垢版 |
2016/03/11(金) 08:59:49.50ID: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.33ID:8EX0/NZE
>>896
まず、そのDLLはborlandのもの
($BCB\Bin以下にもある)

そして、そのDLL(内のコード)がアクセス違反を起こしたからといって、そのDLLが悪いというわけではない
DLLを呼び出す部分で誤ったパラメータを渡しただけというのが普通
0898デフォルトの名無しさん
垢版 |
2016/03/17(木) 22:50:34.00ID: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.41ID:M/rhXFbP
> E2491 最大 VIRDEF 数を超過した:再帰をチェックしてください (C++)
>
> 割り当てられた VIRDEF シンボルが多すぎます。
> コンパイラは,変換ユニットごとに使用できる VIRDEF の数を制限しています。
> 現在,この VIRDEF の制限は 16384 です。
>
> たとえば,プログラムに 16384 個を超える関数があると,このエラーが発生します。

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

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

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

ファイルポインタが指す場所が、間違っているとか、
ファイルサイズ以上の場所を指しているとか
0904デフォルトの名無しさん
垢版 |
2016/05/01(日) 15:03:32.96ID: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.23ID:1/WKDUDU
質問ですが
フレームにStringGridを貼り付けてて、そのフレームをフォームに貼り付けているのですが
フォームを開いてもフレームのStringGridの一切のイベントが入ってこないのですが
これどうやったらイベント入るようになりますか?
0906デフォルトの名無しさん
垢版 |
2016/07/12(火) 11:44:31.94ID:1/WKDUDU
>>905 はC++Builder XE8です
0907デフォルトの名無しさん
垢版 |
2016/07/28(木) 15:41:11.09ID:iO9WFioI
TSpeedButton の Down プロパティーのヘルプに

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

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

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


E2034 'char const[5]' 型は 'const wchar_t *' 型に変換できない
E2342 パラメータ 'Text' は const wchar_t * 型として定義されているので const char * は渡せない
0914デフォルトの名無しさん
垢版 |
2016/08/28(日) 21:14:52.85ID:4X0IeHM2
プロジェクトで使ってる xxx.cpp の xxxのファイル名を変更するには、
どうしたら良いのでしょうか。

BCB6 です。
0915デフォルトの名無しさん
垢版 |
2016/08/29(月) 01:42:36.38ID:553LWAbc
プロジェクト名.cpp なのか ユニット名.cpp なのか分からんけど
前者なら「プロジェクトに名前をつけて保存」
後者ならそのユニットを選んで「名前をつけて保存」
古いほうはそのまま残っているのでエクスプローラなどから削除
0916デフォルトの名無しさん
垢版 |
2016/08/29(月) 08:42:46.05ID:ON1kcqtq
>>913
ご指摘の通りにLを追加することで解決しました。
迅速適切な回答をいただきお礼申し上げます。
0917デフォルトの名無しさん
垢版 |
2016/08/30(火) 01:02:54.87ID:KyhU9szH
メニューバーのアクセラレーター文字を表示させない為には、
どうしたら良いんでしたっけ。
0918デフォルトの名無しさん
垢版 |
2016/08/30(火) 20:35:56.94ID:vrBeNxH6
起動おそすぎね
0919デフォルトの名無しさん
垢版 |
2016/09/01(木) 12:19:54.09ID:+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.78ID:+u33jOlz
include追加でよくなった
+++ #include <FMX.DialogService.Sync.hpp>
それと、
--- Fmx::Memo::TDeleteOptions()
+++ Fmx::Memo::Types::TDeleteOptions()

---Fmx::Memo::TDeleteOption
+++Fmx::Memo::Types::TDeleteOption
でコンパイルとおったわー
0923デフォルトの名無しさん
垢版 |
2016/09/04(日) 07:46:37.03ID: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がインストールできるようになる
0926デフォルトの名無しさん
垢版 |
2016/09/06(火) 19:39:47.98ID:MfZbc6Jb
残念だったな
0928デフォルトの名無しさん
垢版 |
2016/09/13(火) 16:19:15.63ID:rgca+Jie
これなに?
E2342 パラメータ 'S' は const UnicodeString 型として定義されているので TStrings は渡せない
0929デフォルトの名無しさん
垢版 |
2016/09/13(火) 16:41:44.27ID:rgca+Jie
Fmx::Printer::Printer()->FontsをListBoxにaddしたいんだけど、
ListBox1->Items->Add(Fmx::Printer::Printer()->Fonts[i]);
とすると上記エラーがでます。
どう直せば良いでしょうか?
0931デフォルトの名無しさん
垢版 |
2016/09/14(水) 09:08:01.91ID:73fyrNos
>>928
パラメータ'S'が単一の海栗コード文字列引数として宣言されているところに
文字列リストを渡そうとしています。
0932デフォルトの名無しさん
垢版 |
2016/09/14(水) 12:00:42.03ID: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.62ID:FqUE/Us6
おめ

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

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

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

お互いのフォームのリンクはしています。
初歩的な質問で申訳ありませんが教えてください。
0936デフォルトの名無しさん
垢版 |
2016/09/14(水) 20:48:27.28ID:SAtYzmLp
>>935
ご指摘の通りに変数の宣言位置を間違えていました。
public: のもとで宣言することで解決しました。有難うございます。
0937デフォルトの名無しさん
垢版 |
2016/09/15(木) 15:34:10.35ID:XGSP2Mqe
C++ Builder 10.1 Berlin Starter Edition落として使ってみてるんですけど
std::shared_ptr みたいな、C++11の機能はまだ未実装なんですかね?
#include <memory> しても「E2316」が出てしまいます。
0938デフォルトの名無しさん
垢版 |
2016/09/15(木) 16:21:33.43ID:/7fa7B3U
STLを落とせ
0939デフォルトの名無しさん
垢版 |
2016/09/15(木) 20:19:34.21ID:E4bLsAAi
C++Builder XE7以降でOpenCVを使いたいのですが、
使用するまでの手順を教えて下さい orz
0940デフォルトの名無しさん
垢版 |
2016/09/29(木) 14:11:12.83ID: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.92ID:W6ujk58U
TTreeViewItemの方じゃなくてTTreeViewItemsの方にAddメソッドあるでしょ。
Addメソッドの戻り値がTTreeViewItemじゃなかったけ?
0942デフォルトの名無しさん
垢版 |
2016/09/29(木) 17:46:57.75ID:q+RL0+b6
>>940
CreateメソッドはDelphiのインスタンス作成メソッド
C++(Builder)でのコンストラクタにあたるもので直接呼び出すものじゃない

TTreeViewItem* tvi = new TTreeViewItem(Owner);
0943デフォルトの名無しさん
垢版 |
2016/09/29(木) 23:33:36.75ID: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;

こんな感じでできました ありがとうございます
0945デフォルトの名無しさん
垢版 |
2016/10/02(日) 08:57:24.17ID: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
0947デフォルトの名無しさん
垢版 |
2016/10/04(火) 12:11:02.21ID: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です
0949デフォルトの名無しさん
垢版 |
2016/10/04(火) 18:37:21.14ID: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.56ID: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.15ID:kuZLiOyu
メインフォームからNewで作成&表示したFormAを
FormAのXボタンを押した時に破棄するにはどうすれば良いでしょうか?

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

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

FormAのヘッダに、

 WORD img[X_SIZE][Y_SIZE];

となっています。

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

何かヒントでも良いので宜しくお願いします。
0954951
垢版 |
2016/11/09(水) 12:10:21.29ID:kuZLiOyu
>>953

Formの生成→破棄を繰り返すとメモリ使用量がどんどん増えてしまい空きがなくなってしまうのですが、
回避策はないのでしょうか?
0956951
垢版 |
2016/11/09(水) 15:21:51.68ID:kuZLiOyu
>>955
有り難う御座います。

deleteはしています。

FormAのFormDestroyイベントで、

delete FormA です。

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

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

ライブラリにはlibとかdllがあって、APIを呼び出すイメージかと思っていたので・・・
0977デフォルトの名無しさん
垢版 |
2017/05/14(日) 17:59:32.95ID:abQtpPi4
ところで
ビルドするたびにビルドした日時をフォームCaptionに表示させたいんだけど
そういうことは可能ですか?
0984デフォルトの名無しさん
垢版 |
2017/08/02(水) 17:49:02.06ID:DcBOge+R
TChartで質問
TChartShapeでStyle=chasLineにしてますが
TChartShapeのY0とY1の値がTChartのLeftAxsisの範囲外に出た時に
TChartのLeftAxsisが自動的に範囲内になるようにする設定を教えてください
ちなみにTFastLineSeriesで同時に折れ線グラフも描画しているのですが
こっちはちゃんとLeftAxsisが自動調整してくれています。
Chart1->LeftAxis->AutomaticMaximum = true;
Chart1->LeftAxis->AutomaticMinimum = true;
Chart1->LeftAxis->Automatic = true;
0985アムドクラス (4f6c-czis 110.132.254.159)
垢版 |
2017/08/08(火) 21:49:27.31ID:z5MuZpZP
おおおおおおおおおおおおおおおおおおお
0986デフォルトの名無しさん
垢版 |
2017/09/13(水) 18:25:48.37ID:AkOgNsUL
おい豚共、質問してやるから答えろクズ共よ
0987デフォルトの名無しさん
垢版 |
2017/09/13(水) 19:15:19.72ID:AkOgNsUL
チャートだばかやろう!
Series1->AddXY( 10000, 12000, "", clTeeColor );

これすると実行時エラーになんだよ!
さっさと理由おしエロよ豚共が!!
0988デフォルトの名無しさん
垢版 |
2017/09/13(水) 19:25:47.20ID:AkOgNsUL
ちなC++Builder5な
XE8ではエラーでなかったわ。
C++Builder5で>>987のエラー回避おしエロくだあし
0989本田
垢版 |
2017/09/30(土) 02:37:21.38ID:QI/XDQNv
GNU GDB 7.2 snapshot - with rudimentary TDS (Turbo Debugger Symbol) format support (originally written by Troy Rollo) obtained from old mail list postings,
and migrated to this snapshot with some corrections and slight enhancement.

https://sourceforge.net/projects/gdbwtds/
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 2007日 12時間 0分 52秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

ニューススポーツなんでも実況