mirror of
https://github.com/n5ac/mmvari.git
synced 2025-12-06 04:12:03 +01:00
86 lines
2.2 KiB
C++
86 lines
2.2 KiB
C++
//---------------------------------------------------------------------------
|
|
#include <vcl.h>
|
|
#pragma hdrstop
|
|
#include "Main.h"
|
|
//---------------------------------------------------------------------------
|
|
extern "C" void __declspec(dllexport) __stdcall extfskClose(void);
|
|
//---------------------------------------------------------------------------
|
|
USEFORM("Main.cpp", ComFSK);
|
|
//---------------------------------------------------------------------------
|
|
TComFSK *g_pMain;
|
|
//---------------------------------------------------------------------------
|
|
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void*)
|
|
{
|
|
switch(reason){
|
|
case DLL_PROCESS_ATTACH:
|
|
g_pMain = NULL;
|
|
|
|
memset(&sys, 0, sizeof(sys));
|
|
::GetModuleFileName(hinst, sys.m_ModuleName, sizeof(sys.m_ModuleName));
|
|
::SetDirName(sys.m_BgnDir, sys.m_ModuleName);
|
|
sys.m_dwVersion = ::GetVersion();
|
|
sys.m_WinNT = (sys.m_dwVersion < 0x80000000) ? TRUE : FALSE;
|
|
break;
|
|
case DLL_PROCESS_DETACH:
|
|
extfskClose();
|
|
break;
|
|
}
|
|
return 1;
|
|
}
|
|
//---------------------------------------------------------------------------
|
|
extern "C" LONG __declspec(dllexport) __stdcall
|
|
extfskOpen(LONG para)
|
|
{
|
|
extfskClose();
|
|
|
|
g_pMain = new TComFSK(NULL);
|
|
ASSERT(g_pMain);
|
|
if( g_pMain != NULL ){
|
|
g_pMain->SetPara(para);
|
|
g_pMain->Show();
|
|
return TRUE;
|
|
}
|
|
else {
|
|
return FALSE;
|
|
}
|
|
}
|
|
|
|
//---------------------------------------------------------------------------
|
|
extern "C" void __declspec(dllexport) __stdcall
|
|
extfskClose(void)
|
|
{
|
|
if( g_pMain != NULL ){
|
|
g_pMain->Close();
|
|
delete g_pMain;
|
|
g_pMain = NULL;
|
|
}
|
|
}
|
|
|
|
//---------------------------------------------------------------------------
|
|
extern "C" LONG __declspec(dllexport) __stdcall
|
|
extfskIsTxBusy(void)
|
|
{
|
|
if( g_pMain == NULL ) return FALSE;
|
|
|
|
return g_pMain->IsBusy();
|
|
}
|
|
|
|
//---------------------------------------------------------------------------
|
|
extern "C" void __declspec(dllexport) __stdcall
|
|
extfskPutChar(BYTE c)
|
|
{
|
|
if( g_pMain == NULL ) return;
|
|
|
|
g_pMain->PutChar(c);
|
|
}
|
|
|
|
//---------------------------------------------------------------------------
|
|
extern "C" void __declspec(dllexport) __stdcall
|
|
extfskSetPTT(LONG tx)
|
|
{
|
|
if( g_pMain == NULL ) return;
|
|
|
|
g_pMain->SetPTT(tx & 1, TRUE);
|
|
}
|
|
|