全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1354
推到 Plurk!
推到 Facebook!

親手打造C++Builder的TRACE Window

 
collonil
中階會員


發表:13
回覆:56
積分:63
註冊:2003-03-26

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-07-11 02:35:21 IP:203.70.xxx.xxx 未訂閱
這是Borland網站上的一篇文章,相信許多先進應該都看過...    這篇文章對於我這個搞不太清楚Messages處理的人實在是一大福音,其中說明了一些基本的觀念,可以輕易上手...    另外,Trace Window的製作也非常實用,這樣debug時就不用不停地ShowMessage了。    文章在此:http://www2.borland.com.tw/tw/td001017.html -- BCB學習中~~
_CCH_
一般會員


發表:10
回覆:29
積分:7
註冊:2004-04-20

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-05-03 22:40:30 IP:211.22.xxx.xxx 未訂閱
下載程式 http://insidebcb.martinx.idv.tw/cindex.php3 http://insidebcb.martinx.idv.tw/download/Trace.zip 可惜,這篇文章介紹的程式碼,比文章發表時的還要舊。 哪裡還能找到這篇原本在 RUN PC 的原始程式碼。 誰有收集,能夠提供出來嘛! 秉燭夜遊,大塊文章。 文章是案頭之山水,山水是地上之文章。
------
秉燭夜遊,大塊文章。
文章是案頭之山水,山水是地上之文章。
speed
一般會員


發表:13
回覆:17
積分:6
註冊:2003-04-30

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-05-04 18:08:55 IP:218.168.xxx.xxx 未訂閱
引言: 下載程式 http://insidebcb.martinx.idv.tw/cindex.php3 http://insidebcb.martinx.idv.tw/download/Trace.zip 可惜,這篇文章介紹的程式碼,比文章發表時的還要舊。 哪裡還能找到這篇原本在 RUN PC 的原始程式碼。 誰有收集,能夠提供出來嘛! 秉燭夜遊,大塊文章。 文章是案頭之山水,山水是地上之文章。
不知這個版本是不是你要的? dout.h
//////////////////////////////////////////////////////////////////////
//
//  Easy Bug Tracer v 1.0.6
//  @(#) dout.h 1.0.6, last edit: 09/15/98 09:45
//  @(#) Copyright (C) 1998 Martin Hsiao (martins1@ms3.hinet.net)
//  @(#) Martin's WorkShop  (http://insidebcb.copystar.com.tw)
//
//      This program is distributed in the hope that it will be useful,
//      but WITHOUT ANY WARRANTY; without even the implied warranty of
//      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
//
//////////////////////////////////////////////////////////////////////    #ifndef __DOUT_H_
#define __DOUT_H_    #include     #ifndef __STDIO_H
#include 
#endif /* __STDIO_H */    #ifndef __WCHAR_H
#include 
#endif /* __WCHAR_H */    #define SMSG(X) SendMessage(FindWindow("TMainForm","TRACE Window") ,                                                 WM_COPYDATA, (WPARAM)NULL,(LPARAM)X);
#define DebugOut(X) {             COPYDATASTRUCT *pcp = new COPYDATASTRUCT;         pcp->dwData = 0;         pcp->cbData = sizeof(X);         pcp->lpData = &X;         SMSG(pcp);         delete pcp;}    void douth(long Data)//for Tracing Hex Value
{
         char TM[255];
         sprintf(TM,"0x%x",Data);
         DebugOut(TM);
}    void dout(char* Data)
{
         char TM[255];
         sprintf(TM,"%s",Data);
         DebugOut(TM);
}    void dout(WCHAR* Data) //for Tracing Unicode string
{
         char TM[255];
         #ifdef DSTRING_H
                 AnsiString AnsiData = AnsiString(Data);
                 sprintf(TM,"%s",AnsiData.c_str());
         #else
                 sprintf(TM,"%ls",Data);
         #endif /* DSTRING_H */
         DebugOut(TM);
}    #ifdef DSTRING_H
void dout(AnsiString* Data)//for Tracing AnsiString BCB only
{
         char TM[255];
         sprintf(TM,"%s",Data->c_str());
         DebugOut(TM);
}    void dout(AnsiString Data) //for Tracing AnsiString BCB only
{
         char TM[255];
         sprintf(TM,"%s",Data.c_str());
         DebugOut(TM);
}    #endif /* DSTRING_H */    #endif    
DOUTS.PAS
unit douts;    interface    uses Windows, Messages;
procedure dout(Data : pchar);overload;
procedure dout(Data : String);overload;    implementation    procedure charout(Data : pchar);overload;
var
   sSend : AnsiString;
   cdsData : TCopyDataStruct;
begin
     sSend := Data;
     with cdsData do
     begin
          dwData := 0;
          cbData := Length(sSend)   1;
          lpData := pchar(sSend);
     end;
     SendMessage(FindWindow('TMainFrame','TRACE Window'),
                                                WM_COPYDATA,
                                                WPARAM(nil),
                                                LPARAM(@cdsData));
end;    procedure dout(Data : pchar);overload;
begin
     charout(Data);
end;    procedure dout(Data : String);overload;
begin
     charout(pchar(Data));
end;    end.
_CCH_
一般會員


發表:10
回覆:29
積分:7
註冊:2004-04-20

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-05-06 04:40:24 IP:211.72.xxx.xxx 未訂閱
謝謝 speed 網友。 程式碼蒐集起來。 完整範例程式碼中,不是有有C 的嘛。 看起來祇有PASCAL 的。 秉燭夜遊,大塊文章。 文章是案頭之山水,山水是地上之文章。
------
秉燭夜遊,大塊文章。
文章是案頭之山水,山水是地上之文章。
系統時間:2024-06-18 21:39:28
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!