Пытаюсь из функции потока вызвать свою функцию (сделал её членом класса потока). Однако BCB6 пишет мне, что Call to undefined function
Вот код из ConferenceThreadUnit.cpp:
| Код | void __fastcall TConferenceThread::Execute() { //---- Place thread code here ---- char buffer1[100],buffer2[10],nomer[15]; int i1,i2,count=0; DWORD dwRead9, dwWritten9; AnsiString s;
memset(buffer1,0,100); memset(buffer2,0,10); memset(nomer,0,15); if(!SendCommand_2("AT+CHUP\r",hCom)) return; } //--------------------------------------------------------------------------- int __fastcall SendCommand_2(AnsiString cmd,HANDLE port) { DWORD dwWritten9;
if(WriteFile(port, cmd.c_str(), cmd.Length(), &dwWritten9, NULL)==0) { CloseHandle(port); port = NULL; return 0; } PurgeComm(port,PURGE_TXCLEAR | PURGE_RXCLEAR); return 1; }
|
Заголовочный файл:
| Код | //---------------------------------------------------------------------------
#ifndef ConferenceThreadUnitH #define ConferenceThreadUnitH //--------------------------------------------------------------------------- #include <Classes.hpp> //--------------------------------------------------------------------------- class TConferenceThread : public TThread { private: protected: void __fastcall Execute(); public: __fastcall TConferenceThread(bool CreateSuspended); int __fastcall SendCommand_2(AnsiString cmd,HANDLE port); HANDLE hCom; HANDLE hComVoice; AnsiString num; }; //--------------------------------------------------------------------------- #endif
|
Если переместить объявление SendCommand_2 из секции public в секцию protected, то уже получается другая ошибка: [Linker error] Unresolved external '... SendCommand_2 .... ' referenced from ...
Что я не так делаю? |