JPTseng
一般會員
發表:14 回覆:22 積分:7 註冊:2004-10-27
發送簡訊給我
|
之前查了以前的文章都著重在dynamic from,而我是使用Button來執行
Form2->ShowModal(); 這方式來完成,
1. 我在各個.cpp在都採用#include "Unit1.h"
#include "Unit2.h" 會依然沒有效果嗎 ?
(我看之前的文章是說Form1可#include Unit2.h ,但反過來無用)
2. 像我這樣如何共用同一個struct 或者變數?
(ex. 在From1裡算加法,再到From2裡算乘法 )
3. 以下是我看之前文章說的
《 建立全域變數放置你的SubFounction內
SubFunction.h
extern AnsiString aaa;
extern bool bbb;
extern int ccc; SubFunction.cpp
#pragma
AnsiString aaa;
bool bbb;
int ccc;
只要你任何.cpp內Include "SubFunction.h"
你就可以引用全域變數 》 請問這要放置在程式哪裡 ?? 謝謝
|
Zard
尊榮會員
發表:24 回覆:396 積分:539 註冊:2003-11-26
發送簡訊給我
|
// Global.h
// 用來宣告全域變數 // 宣告一個全域變數
extern int iCount; /////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
//---------------------------------------------------------------------------
// Unit1.cpp #include
#pragma hdrstop #include "Unit1.h"
#include "Unit2.h" #include "Global.h" //---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1; // 定義只能有一次
// 定義Global.h裡的 iCount = 0;
int iCount = 0; void __fastcall TForm1::Button1Click(TObject *Sender)
{
// 打開 Form2. 並等待按下Form2的Button1
Form2->ShowModal(); // 引用 Global.h裡的iCount
iCount ;
ShowMessage(IntToStr(iCount));
} //---------------------------------------------------------------------------
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
//---------------------------------------------------------------------------
// Unit2.cpp #include
#pragma hdrstop #include "Unit2.h" #include "Global.h" //---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm2 *Form2;
//---------------------------------------------------------------------------
__fastcall TForm2::TForm2(TComponent* Owner)
: TForm(Owner)
{
}
//--------------------------------------------------------------------------- void __fastcall TForm2::Button1Click(TObject *Sender)
{
// 引用 Global.h裡的iCount
iCount ;
ShowMessage(IntToStr(iCount)); // 關閉Form2, 將控制權還給Form1
Close();
}
//---------------------------------------------------------------------------
|
jason8668
一般會員
發表:17 回覆:31 積分:9 註冊:2003-11-01
發送簡訊給我
|
你可以先把你要宣告成全域變數的變數儲存成一個*.h的檔案,然後只要在你需要用到這個變數的程式內include這個.h檔就可以了~
宣告變數的方法為 extern 變數名稱;
|
hdilwy
初階會員
發表:18 回覆:65 積分:41 註冊:2004-08-31
發送簡訊給我
|
引言:
你可以先把你要宣告成全域變數的變數儲存成一個*.h的檔案,然後只要在你需要用到這個變數的程式內include這個.h檔就可以了~
宣告變數的方法為 extern 變數名稱;
extern 變數型態?變數名稱; 請問一下可以宣告指標嗎?
|
jason8668
一般會員
發表:17 回覆:31 積分:9 註冊:2003-11-01
發送簡訊給我
|
引言:
extern 變數型態?變數名稱; 請問一下可以宣告指標嗎?
當然可以ㄚ~
|
JPTseng
一般會員
發表:14 回覆:22 積分:7 註冊:2004-10-27
發送簡訊給我
|
我在Form1上是設定一個矩陣來給定值,這矩陣我是定為extern
但是到From2上時要取出來卻都是 0
why ?
|
Zard
尊榮會員
發表:24 回覆:396 積分:539 註冊:2003-11-26
發送簡訊給我
|
引言:
我在Form1上是設定一個矩陣來給定值,這矩陣我是定為extern
但是到From2上時要取出來卻都是 0
why ?
您是怎麼宣告的呢? 貼出來才好幫你
|
JPTseng
一般會員
發表:14 回覆:22 積分:7 註冊:2004-10-27
發送簡訊給我
|
在Fil1.h :
struct ss
{
int a;
int b;
}; struct ss ff; 在From1 :
//--------------------------------------------------------------------------- #include
#pragma hdrstop #include "Unit1.h"
#include "File1.h"
#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1; extern struct ss ff;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{}
//--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender)
{
ff.a=StrToInt(Edit1->Text);
ff.b=StrToInt(Edit2->Text); Form2->Show();
}
//------------------------------------------------------------------- 在Form2 :
//--------------------------------------------------------------------------- #include
#pragma hdrstop #include "Unit1.h"
#include "File1.h"
#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm2 *Form2;
extern struct ss ff;
//-------------------------------------------------------------------
__fastcall TForm2::TForm2(TComponent* Owner)
: TForm(Owner)
{}
//------------------------------------------------------------------- void __fastcall TForm2::Button1Click(TObject *Sender)
{
Edit1->Text=IntToStr(ff.a);
Edit2->Text=IntToStr(ff.b);
}
//------------------------------------------------------------------- 發表人 - JPTseng 於 2004/11/07 14:54:55
|
Zard
尊榮會員
發表:24 回覆:396 積分:539 註冊:2003-11-26
發送簡訊給我
|
紅色部份是幫你改過的.
在Fil1.h :
struct ss
{
int a;
int b;
}; extern struct ss ff; 在From1 :
//--------------------------------------------------------------------------- #include
#pragma hdrstop #include "Unit1.h"
#include "File1.h"
#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1; //extern struct ss ff;
struct ss ff
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{}
//--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender)
{
ff.a=StrToInt(Edit1->Text);
ff.b=StrToInt(Edit2->Text); Form2->Show();
}
//------------------------------------------------------------------- 在Form2 :
//--------------------------------------------------------------------------- #include
#pragma hdrstop #include "Unit1.h"
#include "File1.h"
#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm2 *Form2;
//extern struct ss ff;
//-------------------------------------------------------------------
__fastcall TForm2::TForm2(TComponent* Owner)
: TForm(Owner)
{}
//------------------------------------------------------------------- void __fastcall TForm2::Button1Click(TObject *Sender)
{
Edit1->Text=IntToStr(ff.a);
Edit2->Text=IntToStr(ff.b);
}
//-------------------------------------------------------------------
|
JPTseng
一般會員
發表:14 回覆:22 積分:7 註冊:2004-10-27
發送簡訊給我
|
|