C Builder相談室 Part3
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG過去スレ・関連サイトは>>2-5あたり。
0494デフォルトの名無しさん
NGNG「brc32 generic.rc generic.exe」
これであってるはずだけど‥‥
何故かリソースのコンパイル自体は行われているがexeファイルにリソースがリンクされていないと言う現象が‥‥‥
(エラーメッセージは-v付けても特になし)
うわぁぁぁん!!
0495デフォルトの名無しさん
NGNGstatic_castもdynamic_castも、コンストラクタも全部エラーになります。
StringGrid1->Cells[NumCol][i + 1] = CheckListBox1->Items[i];
0496デフォルトの名無しさん
NGNGCheckListBox1->Items->Strings[i]
0497デフォルトの名無しさん
NGNGありがとうございます。うまくいきました!
どうやら Itemsプロパティの扱い方が、DelphiとBCBで違うようです。
BCBの方がより文法に厳しいように思います。これでやってみます!
0498デフォルトの名無しさん
NGNGなんか思い出してきた。それ BRC32 のバグだった気がする。
BRC32 は実際にはりソースコンパイルはBRCC32 を呼び出し、
.exe とのリンクは ilink を呼び出しているのだ。
BCC32 に .rc や .res を渡した場合にも、BRCC32 や ilink を
呼び出しているんだが。BRC32 に ilink の呼び出しの不具合があった気がする。
ilink を呼び出してリソースリンクできないかな?たしかそうやって解決した記憶があります。
0499デフォルトの名無しさん
NGNGあるもらい物のソースを make すると
[リンカ エラー] 外部シンボル 'System::__linkproc__ __fastcall GetMem()' が未解決
(C:\〜.OBJ が参照)
[リンカ エラー] 外部シンボル '__fastcall Controls::TControl::ClientToScreen(const Windows::TPoint&)' が未解決
(C:\〜.OBJ が参照)
というようなエラーが 20 〜 30 くらい出ます。名前からすると、C++ Builder に付属の
ライブラリがリンクされてないようなことではないかと思うのですが、今まで C++ Builder
にさわったことがなく、どうして良いものかさっぱり分かりません。
上の情報だけで何らか原因/解決法が分かりますでしょうか?
0500499
NGNG再構築したら通っちゃった。
0501デフォルトの名無しさん
NGNG初心者板が無いようなのでここで質問させて頂きます
漢字の練習帳みたいなマス目を作って、そこをクリックや
ドラッグするとそのマスごとに線や○×などを
表示させたいのですがなにか良いコンポーネントはありませんか?
ループで線を引いて、Originで始点のマス目を割り出して、、、
と考えていました
よろしくお願いします
0503501
NGNGリンク先の>36ですか?w
使いようではそう言う動きも可能かと
0504501
NGNGBCBって一般的じゃないんだ;´Д`)
0505デフォルトの名無しさん
NGNGBCBとDelphiは内容的にはほとんど同じだと思うが、BCBがC++なので、
初心者に対して敷居が高いからのように思う。
0506デフォルトの名無しさん
NGNG0507デフォルトの名無しさん
NGNG0508デフォルトの名無しさん
NGNGやっぱVC++があるから
0509デフォルトの名無しさん
NGNGやりたい事はImage上にマウスカーソルが来たらImage上のBMPを別のBMP
に変化させるだけです。勿論、マウスカーソルがImage上に居なくなった
場合は元のBMPに戻すと言う事です。
よくある奴ですね。でも分からない・・・
たったこれだけの事がわからない・・・ あぁなんと情けなや・・・
どなたかご存知ありませんか? 説明が面倒くさければ、その説明のWebPage
だけでも・・・
BCB5+Win2000+SP1
0510デフォルトの名無しさん
NGNGImage1とImage2があり、それに既にBMPを読み込んで配置しています。
Image1にマウスカーソルが来た場合の判定方法と言う事です。
Leaveした時も判定したいです。
0511デフォルトの名無しさん
NGNGTImageをサブクラス化してWM_MOUSEHOVERとWM_MOUSELEAVEイベント拾えばいいんでないの?
TImageにWM_MOUSEHOVER飛んでくるかは知らんが。
0512デフォルトの名無しさん
NGNG0513デフォルトの名無しさん
NGNGhttp://leed.issp.u-tokyo.ac.jp/~takeuchi/delphi/browse.cgi?index=9631
0514デルファイの名無しさん
NGNGCM〜なら来るかも
0515510
NGNGありがとうござまーす。
この感激〜♪を何時までも♪
0516デフォルトの名無しさん
NGNGいいですが、BCBでこれに対応した構文はあるのでしょうか?
0517デフォルトの名無しさん
NGNGMESSAGE_HANDLER
END_MESSAGE_MAP
というやつ。
0518デフォルトの名無しさん
NGNGなるほどマクロで定義されているのですね。ありがとうございます。
しかしDelphiよりかなり汚いプログラムになってしまいますね。
C++にはもともとイベントハンドラという概念がないのでifやswitch
で分岐させるか、throwで処理するしかないわけですね。でも
throwは非効率的なので分岐処理となるわけですか。
0519デフォルトの名無しさん
NGNGでもまあ仕方なさげ。
0520デフォルトの名無しさん
NGNGDelphiはWindowsに特化して作ってあるので、これの真似をC++で
しようとすれば、どうしてもあちこちにアラが見えてくるのは仕方ない
ですね。
最近なぜ私はDelphiに移行せずBCBにこだわっているのかわからなく
なってきました。MFCでさんざん苦労してきたからかもしれません。
0521デフォルトの名無しさん
NGNGDelphiもフリー版のおかげで触ることが出来たけど、やっぱC++の方が好きだったんで。
C++ & RADってことでBCB。
0522510
NGNG( ´Д`)
⊂ ._つ
人 Y
し'(_)
出来ねぇ・・・
void __fastcall TForm1::OnMouseEnter(TMessage & msg)
{
if (msg.LParam == long(Image20))
{
ShowMessage("MouseEnter");
}
}
msg.LParam がいつも0・・・ どんなコンポーネントでもマウスを合わせ
たら拾ってきやがる・・・
誰かHELP ME・・・
0523デフォルトの名無しさん
NGNGそれはフォームのCM_MOUSENTERを処理してるの?
サブクラス化してるようには見えないし、
そのコードだけだとよくわからない・・・。
0524デフォルトの名無しさん
NGNG私も同じです。元々C言語で仕事してきたので(今はC++MFCメイン)、
BCBの方がすんなり入れました。VCL使う時はどうしてもDelphiの参考書を
読むしかないですね。
BCBの本がほとんど無いのは悲しいです。
>>522
たった今作り始めてみました。出来たらうpします。
0525510
NGNGすんません。CM_MOUSEENTERです・・・
private:// ユーザー宣言
void __fastcall OnMouseEnter(TMessage & msg);
void __fastcall OnMouseLeave(TMessage & msg);
public:// ユーザー宣言
__fastcall TForm1(TComponent* Owner);
protected:
BEGIN_MESSAGE_MAP
VCL_MESSAGE_HANDLER(CM_MOUSEENTER, TMessage, OnMouseEnter)
VCL_MESSAGE_HANDLER(CM_MOUSELEAVE, TMessage, OnMouseLeave)
END_MESSAGE_MAP(TForm)
0526デフォルトの名無しさん
NGNGぐわぁ〜
つ、作って頂けると・・・
なんともありがたや、ありがたや・・・
と言いますか・・・ 漏れ、なんて情けなや・・・
0527511
NGNGVCLのサブクラスがイマイチ解らなくてSetWindowLong使ってるしw
0529デフォルトの名無しさん
NGNG>>524さんがコード書いてくれてるみたいだけど(サブクラス化の方かな?)
それはTImageを継承してコンポーネントを作るときに使う方法。
0531デフォルトの名無しさん
NGNGサブクラス化までは必要ないです。TFormが受け取るメッセージをディスパッチ
すれば十分なようです。
ただし、DelphiのMLにもありますように、Panelの上にImageが乗ってたりすると
うまく行きません。
protected:
BEGIN_MESSAGE_MAP
VCL_MESSAGE_HANDLER(CM_MOUSEENTER, TMessage, CMMouseEnter);
VCL_MESSAGE_HANDLER(CM_MOUSELEAVE, TMessage, CMMouseLeave);
END_MESSAGE_MAP(TForm);
void __fastcall TForm1::CMMouseEnter(TMessage& Msg)
{
// Image1 にマウスが入った?
if (reinterpret_cast<TComponent*>(Msg.LParam) == Image1) {
// 赤く塗る
Image1->Canvas->Brush->Color = clRed;
Image1->Canvas->FillRect(Rect(0, 0, Image1->Width, Image1->Height));
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::CMMouseLeave(TMessage& Msg)
{
// Image1 からマウスが出た?
if (reinterpret_cast<TComponent*>(Msg.LParam) == Image1) {
// 白く塗る
Image1->Canvas->Brush->Color = clWhite;
Image1->Canvas->FillRect(Rect(0, 0, Image1->Width, Image1->Height));
}
}
0532デフォルトの名無しさん
NGNGサブクラス化したほうはOKでした。
0533501
NGNG漢字の練習帳みたいなマス目を作って、そこをクリックや
ドラッグするとそのマスごとに線や記号、○×などを
表示させたいのですがなにか良いコンポーネントはありませんか?
皆さん社会人のようで、土日と平日のレスの量に差がありますねw
0534デフォルトの名無しさん
NGNGサブクラスにした方がきっちり動くのは、Delphiでも同じですね。
これで胸がすっきりしました。
>>533
TLabelのCanvasに描画するだけのというのはダメ?
0535510
NGNGぐぉーーーーーーー 本当だーーーーーーーーーーーーーーーーーー!!
出来たーーーーーーーーーーーーーーーー
んですが、Panel上に乗ってるんですよね・・・ バッチリと・・・
これは弱った・・・ いや、、、ゲームを作ってまして・・・
操作系は全てPanel上にのせてるんですね・・・ これがまた・・・
そうですか・・・ サブクラスを勉強します・・・
お付き合い下さった方、誠にありがとうございます。
0536デフォルトの名無しさん
NGNGサブクラスについてはまた後ほど書いてみます。
ただ、テレビで見たい番組があるので、ちと遅れます。
サブクラスを書くと、friend class宣言をしないと不便なことがあるかも
しれません。これは書いてみてまたお知らせします。
0537デフォルトの名無しさん
NGNGCanvasがあれば何でもいいけど、絵を保持してくれるTImageでどう?
>>535
>>530でびっくりしてるけど、コンポーネント作りは難しくないよ。
サブクラス化でやるならこんな感じ。
--- .h ---
TWndMethod OldImageWndProc;
void __fastcall ImageWndProc(TMessage& Msg);
--- .cpp ---
※置き換え
OldImageWndProc = Image1->WindowProc;
Image1->WindowProc = ImageWndProc;
※置き換える必要がなくなったら
Image1->WindowProc = OldImageWndProc;
void __fastcall TForm1::ImageWndProc(TMessage& Msg)
{
if (Msg.Msg == CM_MOUSEENTER)
{
ShowMessage("Mouse Enter");
}
OldImageWndProc(Msg);
}
0538デフォルトの名無しさん
NGNG(´Д` ) 書き終わってリロードせずに貼ってしまいました。
/ y/ ヽ 切腹しますた。
Σ(m)二フ ⊂[_ノ
(ノノノ | | | l )
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0539510
NGNGウワァァァァァァァァァァァァァァァァァァァァァァァァァァァァァン!!! わかりません〜〜〜〜 ・・・・
・・・
・・・
.hの部分はどこに追加しますか?・・・
.cppの置き換えって・・・ ・・・なんでしょう?
ってレベルなんですね・・・ いや、、、 もっと調べまする・・・
すんません。VBからの移行組なもんですから、そこら辺りはさっぱり・・・
0540511
NGNGVCLは初心者レベルなので勘弁w
//---------------------------------------------------------------------------
//フォームの配置はForm1(TForm)->Panel1(TPanel)->Image1(TImage)。
//動作にはWin98/NT4以降orWin95+IE3以降必須
//
TForm1 *Form1;
WNDPROC oldProc;
BOOL tmeFlag = TRUE;
LRESULT APIENTRY MyProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
switch(msg)
{
/*
case WM_MOUSEHOVER://TPanelにセットしているせいか、Panel上にマウスがある時に常時流れているので使えない(;´Д`)
break;
*/
case WM_MOUSELEAVE:
//マウスが離れた時の処理
Form1->Image1->Picture->LoadFromFile("適当0.BMP");
tmeFlag = TRUE;
break;
}
return CallWindowProc(oldProc, hwnd, msg, wParam, lParam);
}
void __fastcall TForm1::FormCreate(TObject *Sender)
{
oldProc = (WNDPROC)SetWindowLong(Form1->Panel1->Handle, GWL_WNDPROC, (UINT)MyProc);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Image1MouseMove(TObject *Sender, TShiftState Shift, int X, int Y)
{
if (tmeFlag == TRUE) {
//マウス進入時の処理
Image1->Picture->LoadFromFile("適当1.BMP");
tmeFlag = FALSE;
}
TRACKMOUSEEVENT tme;
tme.cbSize = sizeof(TRACKMOUSEEVENT);
tme.dwFlags = TME_LEAVE;
tme.hwndTrack = Panel1->Handle;
tme.dwHoverTime = HOVER_DEFAULT;
_TrackMouseEvent(&tme);
}
//---------------------------------------------------------------------------
0541510
NGNGいや、漏れが甘い夢を見ていたようです。
大人しく別の方法を模索します。
ありがとうございました。
0542デフォルトの名無しさん
NGNG>>539
ヘッダはこんな感じ
class TForm1 : public TForm
{
__published:
TImage *Image1;
private:
TWndMethod OldImageWndProc;
void __fastcall ImageWndProc(TMessage& Msg);
public:
__fastcall TForm1(TComponent* Owner);
__fastcall ~TForm1();
};
cppソースはこんな感じ
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner)
{
OldImageWndProc = Image1->WindowProc;
Image1->WindowProc = ImageWndProc;
}
__fastcall TForm1::~TForm1()
{
Image1->WindowProc = OldImageWndProc;
}
void __fastcall TForm1::ImageWndProc(TMessage& Msg)
{
if (Msg.Msg == CM_MOUSEENTER)
ShowMessage("Mouse Enter");
OldImageWndProc(Msg);
}
0543デフォルトの名無しさん
NGNG旦~
旦~ 旦~
ヽ )ノ ビュンビュン
旦~ ⌒(゚д゚)ノ 旦~
/. ( ヽ
旦~ 旦~
旦~
0544デフォルトの名無しさん
NGNG( ・∀・) < たまに突然盛り上がるね。
(つ旦と) \______________
と_)_)
0545511
NGNG|Д`) BCBでWin32API直叩きはやっぱり邪道かな?
|⊂
|
0546510
NGNG>>536様 >>511様 >>542様
出来ました〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
ウキィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィィ
はぁ〜 苦節1日・・・ ようやく出来ますたぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁ
ぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁ
ぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁ
ご迷惑をお掛けいたすますたぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁ
ぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁ
ぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁ
うれすぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃ
ぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃ
0547デフォルトの名無しさん
NGNGそんなことないですYO
APIも使えた方がいいに決まっとります (´・Д・`)ゝ
漏れはAPIあまり分かりませんけど…
0548510
NGNGボソボソ・・・
何個もある場合はどうしたらいいんでしょう・・
Imageが40個もあるんですが・・
0549デフォルトの名無しさん
NGNG俺もAPIで組める人尊敬ですよ
>546
おちけつ
0550デフォルトの名無しさん
NGNGヤッパリw
コントロールに頼らず、画面サイズのテーブル作ってボタンの情報を格納、MouseMoveイベントで自力チェックしたほうが簡単な(・∀・)ヨカーン
0551510
NGNGImageListからImageへの読み出し方ってご存知ないですか?
BCB使い初めてからずっと疑問なんですが、、、 わからない・・・
教えられついでにご質問します・・・
0553デフォルトの名無しさん
NGNGヘルプのTCustomImageList::GetBitmap()
0554510
NGNG後、もう少し情報をくださーい。
ImageList2->GetBitmap(1,Image165->Picture->Bitmap);
で、、、今までの関連TImageで交互に変化させようとしました。
すると、拾ってきません。いや、正確には拾ってくるのですが、ブレークポイント
を置いてF9すると変化します。
ですが、何もしないまま素通りさせると拾ってきません・・・
タイミングの問題なんでしょうか・・・
0555510
NGNGCM_MOUSEENTERでImageList2のindex0のBITMAPを。
CM_MOUSELEAVEでImageList2のindex1のBITMAPを。
となっています。
で、今まで御教授頂いたCODE上でBITMAPを変化させようとしています。
所が、何も変化しなくなってしまいました。
イベントには飛んで来ています。デバッグでは変化は成功しました。
ブレークポイントも何も置かない場合のみ変化しません。
と言う事です。
0556デフォルトの名無しさん
NGNGTImage::Refresh()で再描画させてみれば?
0557デフォルトの名無しさん
NGNG0558510
NGNGってか、、、、 ここにいる方達は天才ですか?
と言いますか、漏れのつたない文章を理解し更に解答まで素早く用意する・・・
マジで天才ですか? いや、言わせて下さい。
出来ました!!!!! と!
おいおい、、、漏れの3ヶ月って一体何よ・・・
VBでの . が -> に変わっただけで分からないとか。
ImageListからBITMAPが取れないとか。 なんなんだ、漏れ。
本当に自信を無くしました・・・
0559510
NGNGこれで漏れの殆どの疑問が解決してしまった・・・
凄い人達もいるもんだ・・・
世の中広いなぁ〜
0560デフォルトの名無しさん
NGNG(゚o゚)<よくわからないけど、おめでとう
(ー)ー
))
0561デフォルトの名無しさん
NGNGこれをIDEに登録(Register)してから、Formに貼り付けて使わないと
いけませんね。
0562510
NGNG全然、関係は無いのですがBuilderはINIファイルの書き込み・読み出しとかが遅
いとかを昔MLで聞いた事があるのですが本当なのでしょうか?
また、INIに書き込む事が出来ない事があるとも聞きましたが・・・
他にゲームの設定とかを暗号化したファイルに記憶させたいのですが、私のゲーム
はインストーラを使いません。インストーラを使わなくて暗号化したファイルを作
成する事って可能なのでしょうか?
0563TeamB/2ch ◆SE69s0c2
NGNG>いとかを昔MLで聞いた事があるのですが本当なのでしょうか?
>また、INIに書き込む事が出来ない事があるとも聞きましたが・・・
CBuilder 1 のバグ。といわれると否定できませんが、まずガセでしょう。
どちらの ML でしょうか。
0564510
NGNGhttp://dev.sfdata.ne.jp/cbuilder/
のMLでそのような事を仰っていた方がいました。
in,outの部分を一から作った方もいらっしゃったとか。
0565デフォルトの名無しさん
NGNGML の番号とかお判りになりますか?
http://www.sfdata.ne.jp/windev/cbuilder/
で閲覧できます。
0566TeamB/2ch ◆SE69s0c2
NGNG".ini" で検索した結果を見る分には問題となるような投稿記事を見つけることは
できませんでした。
NT で管理者権限云々の話は、OS のセキュリティ機構の問題ですからバグとは
いえないでしょう。書込み禁止の FD に書き込めないのはなぜだ?というような
話題ですから。
0567デフォルトの名無しさん
NGNG速度とか不安があるなら↓見ておくと良いのでは
・INI ファイルを扱うもう1つのクラス
http://www2.big.or.jp/~osamu/Delphi/Tips/key.cgi?key=5#0287.txt
0568510
NGNG申し訳ございません。私も探す事が出来ませんでした・・・
見たと思ったのですが・・・
関係無い事で時間を取らせてしまいました。この場にてお詫び申し上げます。
>>567
Tmeminiですか・・・ 初めて知りますた。
iniファイルが存在してそれを初めに読み込んでキャッシュすると言う認識
で大丈夫なんですよね。
成る程。こう言う物もあるのか・・・ 速そう・・・
全然話は違いますが、ファイルを暗号化する一般的な手法ってご存知無い
ですか? 解読をやろうと思えば何でも出来るので仕方無いのですが、素
人に有効であれば良い程度の暗号化なんですが・・・
0569デフォルトの名無しさん
NGNG0570デフォルトの名無しさん
NGNGhttp://pc.2ch.net/tech/kako/1017/10178/1017803412.html
77,84
0571510
NGNGう、、、うわぁ〜 む、難しい・・・
ぜんっぜん理解出来ません。これは・・・
Delphiだからとかではなく、、、、 例えBuilderだったとしてもさっぱり・・・
XORの原理から勉強しないと・・・ 漏れの脳みそでは・・・・
0572他のプログラムの起動
NGNGあるプログラムから他のプログラムを起動するのってどんな関数
がありましたっけ。DOS時代には子プロセスの起動の関数が
あったように記憶しているのですが。。。
よろしくお願いします。
0573デフォルトの名無しさん
NGNG0574510
NGNGすんません。またまた質問です。
VBとかで言うPublic変数とかグローバル変数ってBuilderではどうやるん
でしょ。hのPublicに記載するんでしょうか。前やろうとした時に全然う
まく動作しなくて。
具体的にはForm1とForm2の両方が1つないしは2つの変数の値を参照します。
変数の値により何かを分岐させようと思っているのですが・・・
XOR・・・ 難しいですねぇ〜
0575デフォルトの名無しさん
NGNGC++とは言わん。最低限Cくらいは勉強しとくことをお勧めする。
とりあえずexternを検索しる。
XORはビット演算知ってれば簡単だと思うが。というか言語ガイド読んだか?
0576デフォルトの名無しさん
NGNGForm1かForm2のどちからのヘッダーファイルのグローバル部(クラス宣言の外)
に変数を定義する。
もう一方のグローバル部にはexternを付けて変数を外部宣言する。
0577510
NGNGそうですよねぇ。VBからCを素っ飛ばしてC++に来ましたから・・・
知識が滅茶苦茶飛んでるんです。
Builderで業務アプリは組んだんですが・・・ ま、小さい小さい物ですが。
どっちにしても知識不足は認識しておりますので、勉強いたします。
ありがとうございます。
0579510
NGNGForm1のヘッダー・・・ つまり
extern PACKAGE TForm1 *Form1;
の下に
int phensu;
と記載しました。
そして、Form2のヘッダー extern PACKAGE TForm2 *Form2;
の下に
extern phensu;
と記載しました。
そして
Form1側で phensu = 1; Form2->Show(); として
Form2のFormActivateイベントでphensuが1であればこれ、phensuが2であれば
これと分岐させようとしました・・・
がphensuは 0 となっており、どれにも引っ掛かりません。
この場合の期待値は 1 です・・・ 何が悪いんでしょう・・・
0580デフォルトの名無しさん
NGNGん?俺の所で試してみたけど動くぞ。
--form1.h--
int sema;
--form1.cpp--
void __fastcall TForm1::Label1Click(TObject *Sender)
{
sema = (sema == 1) ? 0 : 1;
Form2->Show();
}
--form2.h--
extern int sema;
--form2.cpp--
void __fastcall TForm2::FormActivate(TObject *Sender)
{
if (sema == 1)
Label1->Caption = "Active";
else
Label1->Caption = "Form2";
}
form1のラベルをクリックする度に、form2のラベルのキャプションが変わる。
0581510
NGNG余計なものを除いてとりあえず記載しときます・・・
Form1.h
__published:// IDE 管理のコンポーネント
private:// ユーザー宣言
public:// ユーザー宣言
protected:
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
int phensu;
//---------------------------------------------------------------------------
#endif
Form2.h
__published:// IDE 管理のコンポーネント
private:// ユーザー宣言
public:// ユーザー宣言
__fastcall TForm8(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm2 *Form2;
extern int phensu;
//---------------------------------------------------------------------------
#endif
0582510
NGNGphensu = 1; Form2->Show();
Form2.cpp
void __fastcall TForm2::FormActivate(TObject *Sender)
{
ShowMessage(phensu);
if (phensu == 1)
{
}
}
上記のShowMessageでは 0 となりまする・・・
記載する場所を間違えているのでしょうね・・・ 多分・・・
0583デフォルトの名無しさん
NGNGうーんこのソースからだけではおかしなところはないですねえ。
強いて言えば"TForm8"かな?TForm2なのに?
どこかいいうpろだ教えてくだされば、こちらで試作したファイルを
まるごとうpしますよ。
0585510
NGNGhttp://50megs.com/
50MB
http://angelfire.lycos.com/
50MB・FTP
http://elitecities.com/
5MB・FTP・MAIL
http://esmartstart.com/
20MB・FTP・MAIL
http://fortunecity.com/
25 MB・FTP
http://fsn.net/
30MB・FTP・CGI
http://geocities.com/
15MB・4月からFTP有料化・MAIL
http://graffiti.net/
20MB・MAIL
http://homestead.com/
12MB
http://internettrash.com/
10MB・FTP・MAIL
http://redrival.com/
20MB・FTP
http://tripod.lycos.com/
20MB・FTP・CGI
http://web1000.com/
50MB・FTP・広告無し・アダルト向け?
http://webprovider.com/
20MB・FTP・CGI
http://www.port5.com/
portland系・15MB・FTP・CGI・SSI・PHP・SENDMAIL・広告無し
<中国語>
http://heha.net/
不明
http://uhome.net/
38MB・FTP・CGI・SSI・PHP・SENDMAIL
0586デフォルトの名無しさん
NGNGせっかくうpロダを紹介していただきましたが、どれも登録が必要な
ようですので、2ch系のうpロダにうpしました。
番号は85のDoubleFormsです。
ZIPで圧縮しました。
http://hikky.tsukaeru.jp/clip/clip.cgi
0587510
NGNGhttp://kari.to/upload/index.cgi
って遅かった・・・
0588510
NGNGうぅ・・・ >>586様へ
>>586様のCodeでは動きます。確かに・・・
でも漏れの方では全然・・・
試作で別の奴を作ってみました。それは動くんです・・・
でも本番の奴では動かない・・・ あぁ・・・ 理由がわからない・・・
こうなると設定がらみでしょうか・・・
念の為に再構築もやってみましたが変わらず・・・
こんな所でつまずくとは・・・
0589デフォルトの名無しさん
NGNG外してるかもしれんけど、intの前にvolatile付けてみるとか。最適化で
うまくいってないのかもしれないから。
0590510
NGNG何から何までありがとうございます。
volatileを付けると・・・
「phensuが複数見つかった」とコンパイラに怒られますた・・・
タイミングとかの問題でしょうか・・・ もしかして・・・
0591デフォルトの名無しさん
NGNGvolatile int phensuは一つだけ、後のファイルは全部
extern volatile int phensuにしてみたら?
0592510
NGNGこいつは手強い・・・
Form1.h
volatile int phensu;
Form2.h
extern volatile int phensu;
としますた。ダメっす・・・
宣言は上記2つしか今は無いっす・・・
0593510
NGNGvolatile int phensu = 100;
とかにすると100を拾ってこれるんですがねぇ〜 これじゃ〜・・・
■ このスレッドは過去ログ倉庫に格納されています