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

請問INDY元件實做的問題

答題得分者是:gemi0305
willchen
初階會員


發表:64
回覆:81
積分:29
註冊:2003-05-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-10-14 23:43:31 IP:211.74.xxx.xxx 未訂閱
各位高手好,小弟最近改用INDY元件實作TCP/IP 在DEBUG模式時,會發生錯誤,但在編譯成執行檔之後卻不會出現錯誤,請問這是什麼原因??    Server端 ====================================================================  
 //---------------------------------------------------------------------------    #include 
#pragma hdrstop    #include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
 //設定Mace Main連線到Directory Server的Server(傳送Serverlet清單用)
 MM2DSServer->DefaultPort=6666;
 //End
}
//---------------------------------------------------------------------------    void __fastcall TForm1::FormCreate(TObject *Sender)
{
 MM2DSServer->Active=True;     //開啟
}
//---------------------------------------------------------------------------
void __fastcall TForm1::MM2DSServerExecute(TIdPeerThread *AThread)
{
 ServerletList->Items->Add("服務主機(IP):" AThread->Connection->Socket->Binding->PeerIP "服務程式:" AThread->Connection->ReadLn());
}
//--------------------------------------------------------------------------
Client端 ====================================================================
//---------------------------------------------------------------------------    #include 
#pragma hdrstop    #include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
AnsiString CurrentDir,Serverletpath;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
 //設定Path
 CurrentDir=GetCurrentDir();
 Serverletpath=CurrentDir "\\..\\Serverlet\\";     //設定INDY元件port
 MM2DSClient->Port=6666;     //傳送Serverlet列表到Directory Server的port     MM2MMClient->Port=7777;           //Launcher port:7777
 MM2MMServer->DefaultPort=7777;     //Receiver Port:7777
 //End     MM2DSClient->Host="127.0.0.1";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
 TSearchRec Serverlet_result;     //開啟Receiver的Server
 MM2MMServer->Active=True;
 //End     MM2DSClient->Connect(3000); //連線到Directory Server     Memo1->Text=Serverletpath;  //DEBUG     //找尋Serverlet子目錄下的所有Serverlet的執行檔
 int FileFound=FindFirst(Serverletpath "*.exe",faAnyFile,Serverlet_result);
  while(FileFound==0)
   {
    ServerletList->Items->Add(Serverlet_result.Name);
    ::Sleep(2);
    MM2DSClient->WriteLn(Serverlet_result.Name);
    ::Sleep(2);
    FileFound=FindNext(Serverlet_result);
   }
 FindClose(Serverlet_result);  //Free fileresult
 MM2DSClient->Disconnect();    //斷線
}
//--------------------------------------------------------------------------- 
請問這又是一個Bug嗎??還是我在Client端傳送WriteLn時處理有錯誤?? 那要怎麼寫才會正常?? 發表人 - Gemi0305 於 2003/10/14 23:51:49
gemi0305
版主


發表:81
回覆:564
積分:629
註冊:2003-05-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-10-14 23:56:03 IP:61.224.xxx.xxx 未訂閱
這篇有包大哥說到類似的東西, 請看看是否有幫助呢
willchen
初階會員


發表:64
回覆:81
積分:29
註冊:2003-05-23

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-10-15 00:25:32 IP:211.74.xxx.xxx 未訂閱
謝謝版主的回答,小弟感激不盡,那請問一下,在IDE模式下出現問題,會不會造成日後的Bug產生??
gemi0305
版主


發表:81
回覆:564
積分:629
註冊:2003-05-11

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-10-15 01:16:49 IP:61.224.xxx.xxx 未訂閱
我的經驗是... 只要你的程式的架構和語法都沒錯, 記憶體的使用和釋放都很完整, 在exe執行時,每個功能都跑起來ok,那起碼就能達到一定的穩定度, 一個大的程式,是不可能完全沒有bug,所以才會需要有專門的測式人員來測試, 你的程式專案寫好,可以像一般的測試流程一樣, 一個功能一個功能來測,都ok的話,那就可以給user用了, 其他等日後有問題再來維護 參考看看~ 國泰平安
系統時間:2024-04-28 22:48:26
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!