2012-07-11 78 views
1

新的C++很抱歉,如果這是一個基本的問題!我習慣於Java(哦,yess!那麼簡單)。C++ Borland Builder窗體 - 調用一個函數

我的函數在addMessages下面被另一個文件調用,它會實際運行__fastcall TfrmRunning::Add()。因爲我無法從其他文件中獲得這個工作。該添加是TdrmRunning對象的一部分)

如何獲取添加消息來調用添加功能?


這是從Running.cpp

void __fastcall TfrmRunning::Add() 
{ 
    lbMessages->Items->Add("Application Started at "); 
} 
//This is called from another file as i could not get the above function working 
void addMessages(){ 
    TfrmRunning::Add(); // this does not work 
} 

我的頭文件(Running.H

class TfrmRunning : public TForm 
{ 
__published: // IDE-managed Components 
    TImage *imgLogo; 
    TLabel *lblCopyRight; 
    TLabel *lblTitle; 
    TButton *btnExit; 
TButton *btnViewType; 
TListBox *lbMessages; 
void __fastcall btnExitClick(TObject *Sender); 
void __fastcall FormCreate(TObject *Sender); 
void __fastcall Add(); 
private: // User declarations 
public:  // User declarations 
__fastcall TfrmRunning(TComponent* Owner); 
}; 
void addMessages(); 
+0

嘗試使在_published節中未添加..把它放在你的頭的公共部分嘗試。 – 2012-07-11 12:45:06

回答

1

Add()不是靜態函數TfrmRunning

您需要一個TfrmRunning類型的對象才能調用它。

+0

謝謝,任何想法我可以做到這一點?對C++很新穎。感謝:D – JP29 2012-07-11 13:00:17

+0

例如,您可以將指向'TfrmRunning'對象的指針傳遞給'addMessages'函數,就像這樣:'void addMessages(TfrmRunning * ptr){ptr-> Add(); }' 另一個問題是你在哪裏創建'TfrmRunning'類的對象? – flamingo 2012-07-11 13:05:13

+0

它只是從以前的表單調用。 – JP29 2012-07-11 13:23:27

-1

使用

TObjetct *asd; 
Add(asd); 
相關問題