用BCB,觉得自己像个太监!

jiangzs188136923 2012-08-02 05:33:54
没找到Delphi开发的工作,一公司招人,说是用D和BCB开发,结果大部份都是BCB。觉得自己像个太监,不论不类!
...全文
170 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
loveheronly 2012-08-03
  • 打赏
  • 举报
回复
bcb的伤不起了
fxworld 2012-08-03
  • 打赏
  • 举报
回复
bcb不错呀,即可用C++,愿意的话用用pascal,这是delphi无法比的,说到第三方c,c++源码,这就更是delphi望尘莫及的了,bcb拿过来稍微改一下就可以用了,Delphi就做不到了。

用不了c++,不需要找借口。
dfdscx 2012-08-03
  • 打赏
  • 举报
回复
要蛋定
csdnstudyc 2012-08-03
  • 打赏
  • 举报
回复
去书店想找本 BCB 的书,都很难找到了,DELPHI 就几本,C# N 多.....
vc8fans 2012-08-03
  • 打赏
  • 举报
回复
叫你不用了
土著巫师 2012-08-02
  • 打赏
  • 举报
回复
楼主说自己是个太监,那就是个太监了;用C++BUILDER的程序员,不能正常阅读VCL源码,不能在需要的时候重构某一个VCL类,真是需要再努力了。



const int iOptmzSpinCount = 6000; // 优化临界区循环值
//---------------------------------------------------------------------------

class TCriticalSectionPro
{
private:
int FSpinCount;
int FProcessorNum;
protected:
TRTLCriticalSection FSection;
void __fastcall SetSpinCount(int SpinCount);
public:
__fastcall TCriticalSectionPro(int SpinCount=iOptmzSpinCount);
__fastcall ~TCriticalSectionPro(void);

void __fastcall Acquire(void){EnterCriticalSection(&FSection);}
void __fastcall Release(void){LeaveCriticalSection(&FSection);}
void __fastcall Enter(void){Acquire();}
void __fastcall Leave(void){Release();}
bool __fastcall TryEnter(void){return TryAcquire();}
bool __fastcall TryAcquire(void) {return TryEnterCriticalSection(&FSection);}

__property int ProcessorNum = {read=FProcessorNum};
__property int SpinCount = {read=FSpinCount, write=SetSpinCount};
};
//---------------------------------------------------------------------------

class TThreadListPro
{
private:
volatile int FCount;
TList *FList;
TCriticalSectionPro *FCriticalSection;
protected:
int __fastcall GetCapacity(void);
int __fastcall SetCapacity(int Value);
void __fastcall Lock(void){FCriticalSection->Acquire();}
void __fastcall Unlock(void){FCriticalSection->Release();}
public:
__fastcall TThreadListPro(void);
__fastcall ~TThreadListPro(void);

void __fastcall UnlockList(void){Unlock();}
TList* __fastcall LockList(void){Lock();return FList;}

int __fastcall Add(void *Item); // 返回加入项在列表的当前索引
int __fastcall Remove(void *Item); // 如成功则返回被删除项在列表的旧索引,不成功返回-1
int __fastcall IndexOf(void *Item); // 如果不存在返回-1

void __fastcall Pack(void);
void __fastcall Clear(void);
void __fastcall Delete(int Index);
void __fastcall Insert(int Index, void *Item);
void __fastcall Sort(TListSortCompare Compare);
void __fastcall Move(int CurIndex, int NewIndex);

void * __fastcall Last(void); // 如果未成功,返回NULL。
void * __fastcall First(void); // 如果未成功,返回NULL。
void * __fastcall RemoveFirst(void); // 如果未成功,返回NULL。
void * __fastcall RemoveLast(void); // 如果未成功,返回NULL。

__property int Count = {read=FCount};
__property int Capacity = {read=GetCapacity, write=SetCapacity};
};
//---------------------------------------------------------------------------

class THandleThread : public TThread
{
private:
friend LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
protected:
MSG FMsg; //消息结构
HWND FWndHandle; //窗口句柄(HWND = void *)
virtual void __fastcall Execute(void); //在TThread类定义为纯虚函数
virtual void __fastcall CreateObject(void); //在此函数里利用AllocateHWnd建立窗口句柄
virtual void __fastcall DestroyObject(void); //在此函数里利用DestroyWindow释放窗口句柄
virtual void __fastcall WndProc(TMessage &Message);
public:
__fastcall THandleThread(bool CreateSuspended);
__property HWND WndHandle = {read=FWndHandle, default=NULL};
};

HWND __fastcall AllocateHWnd(THandleThread *Sender); //为THandleThread建立窗口句柄
//---------------------------------------------------------------------------


上面这几个类都是因为VCL类不能满足实际使用,在VCL源代码的基础上用C++重写的(当然这里只有头文件),只要你平时尝试看一看常用类的VCL源代码,你就会真正成为一个男子汉,开发可以更美的。:)
dataxdata 2012-08-02
  • 打赏
  • 举报
回复
感觉还是用delphi的多些
sxqinge 2012-08-02
  • 打赏
  • 举报
回复
Delphi和CB又没多少区别

552

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 茶馆
社区管理员
  • 茶馆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧