您的位置:首页 >> 编程开发 >> C++Builder >> 正文
C++Builder RSS
 

在BCB下使用GExperts的Debug功能

http://www.rdxx.com 05年08月07日 21:02 编程爱好者网站 我要投稿

关键词: 功能 , DEBUG , bcb , XP , Bug
GExperts是BCB的一个插件,其中有一项功能是Debug,非常好用。但是由于定义它的是pas文件(这个文件是GExperts安装目录下DbugIntf.pas),所以不能在BCB中直接使用。我把这个文件转换成C++文件,但是使用的时候注意把dbugintf.h文件copy到工程所在的目录中,直接在文件中用#include引用,不要添加到project中!

具体的使用方法还是看帮助吧!下面是转换后的文件。
/*-----------------------------------------------------------------------------
Unit Name: dbugintf.h
Author:    yuanhen
Email:     yuanhen88@hotmail.com
            yuanhen88@mail.china.com
Purpose:   translate Delphi version to C++Builder's
Date:      2003/06/05
Time:      20:42:08
History:
NOTE NOTE NOTE:
    DON'T ADD this file to your project. Otherwise, this file should be include
    to your project manually
-----------------------------------------------------------------------------*/
#ifndef DBUGINTF_H
#define DBUGINTF_H

#ifdef LINUX
#include <iostream>
#endif LINUX

#include <vcl.h>
#include <Registry.hpp>

//---------------------------------------------------------------------------
// global variables
AnsiString  MsgPrefix;
const char  chrClearCommand = 3;
bool        PastFailedAttemptToStartDebugWin = false;
const AnsiString Indentation = "    ";

// declaration
void SendBoolean(const AnsiString &Identifier, const bool Value);
void SendDateTime(const AnsiString &Identifier, const TDateTime Value);
void SendDebugEx(const AnsiString &Msg, TMsgDlgType MType);

void SendDebug(const AnsiString &Msg);
void SendDebugClear();
void SendInteger(const AnsiString &Identifier, const int Value);
void SendMethodEnter(const AnsiString &MethodName);
void SendMethodExit(const AnsiString &MethodName);
void SendSeparator();
void SendDebugFmt(const AnsiString &Msg, const TVarRec *Args);
void SendDebugFmtEx(const AnsiString &Msg, const TVarRec *Args, TMsgDlgType MType);
HWND StartDebugWin();

// definition
void SendBoolean(const AnsiString &Identifier, const bool Value)
{
  // Note: We deliberately leave "True" and "False" as
  // hard-coded string constants, since these are
  // technical terminology which should not be localised.
  if (Value)
    SendDebugEx(Identifier + "= True", mtInformation);
  else
    SendDebugEx(Identifier + "= False", mtInformation);
}
void SendDateTime(const AnsiString &Identifier, const TDateTime Value)
{
    SendDebugEx(Identifier + '=' + DateTimeToStr(Value), mtInformation);
}
void SendDebugEx(const AnsiString &Msg, TMsgDlgType MType)
{
    TCopyDataStruct CDS;
    HWND            DebugWin;
    AnsiString      MessageString;
#ifdef LINUX
const AnsiString MTypeStr[TMsgDlgType] =
    {"Warning: ", "Error: ", "Information: ", "Confirmation: ", "Custom: "};
#endif LINUX
#ifdef LINUX
    std::cout << "GX: " << MTypeStr[MType] << Msg << std::endl;

共3页  第1页 第2页 第3页


 
 
标签: 功能 , DEBUG , bcb , XP , Bug 打印本文
 
 
  相关资讯
RSS
 
无相关新闻
 
 
  热点搜索
 
 
 



Valid XHTML 1.0 Transitional
Copyright ©2005 - 2008 Rdxx.Com,All Rights Reserved
收藏本页
收藏本站