線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1513
推到 Plurk!
推到 Facebook!

動態的Form所出現的access violation

缺席
leaves827
一般會員


發表:3
回覆:2
積分:1
註冊:2008-04-30

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-10-03 13:34:03 IP:163.25.xxx.xxx 訂閱
請問一下我要寫一個類似MSN密頻的方式!!
我利用NMMSGServ1跟NMMsg1這兩個元件
利用MSG訊息傳送以下為我的程式!!
我的一切資料都在temStr這個陣列之中

[code cpp]

Form1的接收

void __fastcall TForm1::NMMSGServ1MSG(TComponent *Sender,
const AnsiString sFrom, const AnsiString sMsg)
{
AnsiString From=sFrom;
AnsiString state;
int on_num;
state=Isonline(From);
on_num=online_num(From);
sel=on_num;
if(state=="yes")
{
Form[on_num]->Memo1->Lines->Add(From "::" sMsg);
}
else
{
Form[on_num]=new TForm2(Application);
Form[on_num]->Memo1->Lines->Add(From "::" sMsg);
Form[on_num]->ShowModal();
}

}

Form2接收


TForm2 *Form2;
int com;
bool connected=false;
extern temStr[20];
extern sel;
extern oncom[20];
extern *Form[10];
extern AnsiString username;
//---------------------------------------------------------------------------
__fastcall TForm2::TForm2(TComponent* Owner)
: TForm(Owner)
{
com=sel;
Memo1->Clear();
if(Form1->NMMSGServ1->Connected==true)
StaticText1->Caption=temStr[com*6] "通訊";
}
//---------------------------------------------------------------------------

void __fastcall TForm2::Button1Click(TObject *Sender)
{
if(connected==false)
{
Form1->NMMsg1->Host = temStr[com*6 1];
Form1->NMMsg1->FromName = username;
Form1->NMMsg1->PostIt(Edit1->Text);
Memo1->Lines->Add(username "::" Edit1->Text);
connected==true;
}
else
{
Form1->NMMsg1->PostIt(Edit1->Text);
Memo1->Lines->Add(username "::" Edit1->Text);
}


}
//---------------------------------------------------------------------------

void __fastcall TForm2::Edit1KeyPress(TObject *Sender, char &Key)
{
if (Key == 13)
{
if(connected==false)
{
Form1->NMMsg1->Host = temStr[com*6 1];
Form1->NMMsg1->FromName = username;
Form1->NMMsg1->PostIt(Edit1->Text);
Memo1->Lines->Add(username "::" Edit1->Text);
connected==true;
}
else
{
Form1->NMMsg1->PostIt(Edit1->Text);
Memo1->Lines->Add(username "::" Edit1->Text);
}
}
}
//---------------------------------------------------------------------------

void __fastcall TForm2::FormClose(TObject *Sender, TCloseAction &Action)
{
oncom[com]=false;
Form[com]=NULL;
Action = caFree;
Form1->NMMsg1->Disconnect();
}

[/code]
附加檔案:48e5aecbb38da_MSG.rar
系統時間:2017-12-14 8:43:53
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!