//--------------------------------------------------------------------------- //#include #pragma hdrstop #include "coscomdll.h" //#include //--------------------------------------------------------------------------- //C++ Builder //#pragma package(smart_init) HINSTANCE CoscomDLLHandle; char CoscomDLLName[260]; // AnsiString CoscomDLLName; TCOSCOMFUNC coscomopenPort; TCOSCOMFUNC coscomclosePort; TCOSCOMGETPCHARFUNC coscomgetVersion; TCOSCOMGETINTEGERFUNC coscomgetStatus; TCOSCOMGETINTEGERFUNC coscomgetDuration; TCOSCOMGETDOUBLEFUNC coscomgetSpeed; TCOSCOMGETINTEGERFUNC coscomgetAcceleration; TCOSCOMGETDOUBLEFUNC coscomgetElevation; TCOSCOMGETINTEGERFUNC coscomgetHeartrate; TCOSCOMGETINTEGERFUNC coscomgetDistance; TCOSCOMGETINTEGERFUNC coscomgetError; TCOSCOMSETDOUBLEFUNC coscomsetSpeed; TCOSCOMSETINTEGERFUNC coscomsetAcceleration; TCOSCOMSETDOUBLEFUNC coscomsetElevation; TCOSCOMSETSPEEDACCELFUNC coscomsetSpeedAccel; TCOSCOMBUTTONFUNC coscomKeyPressStart; TCOSCOMBUTTONFUNC coscomKeyPressStop; TCOSCOMBUTTONFUNC coscomKeyPressPlus; TCOSCOMBUTTONFUNC coscomKeyPressMinus; TCOSCOMBUTTONFUNC coscomKeyPressUp; TCOSCOMBUTTONFUNC coscomKeyPressDown; TCOSCOMSETINTEGERFUNC coscomsetFailSafe; TCOSCOMGETINTEGERFUNC coscomgetFailSafe; TCOSCOMGETINTEGERFUNC coscomgetWeight; TCOSCOMGETDOUBLEFUNC coscomgetEnergy; TCOSCOMGETDOUBLEFUNC coscomgetPower; void resetCoscomPointer() { CoscomDLLHandle = 0; //C++ Builder //CoscomDLLName = ExtractFilePath(ParamStr(0)) + DefCoscomDLLName; strcpy(CoscomDLLName,DefCoscomDLLName); coscomopenPort = NULL; coscomclosePort = NULL; coscomgetVersion = NULL; coscomgetStatus = NULL; coscomgetDuration = NULL; coscomgetSpeed = NULL; coscomgetAcceleration = NULL; coscomgetElevation = NULL; coscomgetHeartrate = NULL; coscomgetDistance = NULL; coscomgetError = NULL; coscomsetSpeed = NULL; coscomsetAcceleration = NULL; coscomsetElevation = NULL; coscomsetSpeedAccel = NULL; coscomKeyPressStart = NULL; coscomKeyPressStop = NULL; coscomKeyPressPlus = NULL; coscomKeyPressMinus = NULL; coscomKeyPressUp = NULL; coscomKeyPressDown = NULL; coscomsetFailSafe = NULL; coscomgetFailSafe = NULL; coscomgetWeight = NULL; coscomgetEnergy = NULL; coscomgetPower = NULL; } void getCoscomPointer() { if (CoscomDLLHandle == NULL) return; coscomopenPort = (TCOSCOMFUNC) GetProcAddress(CoscomDLLHandle,"coscomopenPort"); coscomclosePort = (TCOSCOMFUNC) GetProcAddress(CoscomDLLHandle,"coscomclosePort"); coscomgetVersion = (TCOSCOMGETPCHARFUNC) GetProcAddress(CoscomDLLHandle,"coscomgetVersion"); coscomgetStatus = (TCOSCOMGETINTEGERFUNC) GetProcAddress(CoscomDLLHandle,"coscomgetStatus"); coscomgetDuration = (TCOSCOMGETINTEGERFUNC) GetProcAddress(CoscomDLLHandle,"coscomgetDuration"); coscomgetSpeed =(TCOSCOMGETDOUBLEFUNC) GetProcAddress(CoscomDLLHandle,"coscomgetSpeed"); coscomgetAcceleration = (TCOSCOMGETINTEGERFUNC) GetProcAddress(CoscomDLLHandle,"coscomgetAcceleration"); coscomgetElevation =(TCOSCOMGETDOUBLEFUNC) GetProcAddress(CoscomDLLHandle,"coscomgetElevation"); coscomgetHeartrate =(TCOSCOMGETINTEGERFUNC) GetProcAddress(CoscomDLLHandle,"coscomgetHeartrate"); coscomgetDistance =(TCOSCOMGETINTEGERFUNC) GetProcAddress(CoscomDLLHandle,"coscomgetDistance"); coscomgetError = (TCOSCOMGETINTEGERFUNC) GetProcAddress(CoscomDLLHandle,"coscomgetError"); coscomsetSpeed =(TCOSCOMSETDOUBLEFUNC) GetProcAddress(CoscomDLLHandle,"coscomsetSpeed"); coscomsetAcceleration =(TCOSCOMSETINTEGERFUNC) GetProcAddress(CoscomDLLHandle,"coscomsetAcceleration"); coscomsetElevation =(TCOSCOMSETDOUBLEFUNC) GetProcAddress(CoscomDLLHandle,"coscomsetElevation"); coscomsetSpeedAccel =(TCOSCOMSETSPEEDACCELFUNC) GetProcAddress(CoscomDLLHandle,"coscomsetSpeedAccel"); coscomKeyPressStart =(TCOSCOMBUTTONFUNC) GetProcAddress(CoscomDLLHandle,"coscomKeyPressStart"); coscomKeyPressStop = (TCOSCOMBUTTONFUNC)GetProcAddress(CoscomDLLHandle,"coscomKeyPressStop"); coscomKeyPressPlus = (TCOSCOMBUTTONFUNC)GetProcAddress(CoscomDLLHandle,"coscomKeyPressPlus"); coscomKeyPressMinus = (TCOSCOMBUTTONFUNC)GetProcAddress(CoscomDLLHandle,"coscomKeyPressMinus"); coscomKeyPressUp = (TCOSCOMBUTTONFUNC)GetProcAddress(CoscomDLLHandle,"coscomKeyPressUp"); coscomKeyPressDown = (TCOSCOMBUTTONFUNC)GetProcAddress(CoscomDLLHandle,"coscomKeyPressDown"); coscomsetFailSafe = (TCOSCOMSETINTEGERFUNC) GetProcAddress(CoscomDLLHandle,"coscomsetFailSafe"); coscomgetFailSafe = (TCOSCOMGETINTEGERFUNC) GetProcAddress(CoscomDLLHandle,"coscomgetFailSafe"); coscomgetWeight = (TCOSCOMGETINTEGERFUNC) GetProcAddress(CoscomDLLHandle,"coscomgetWeight"); coscomgetEnergy = (TCOSCOMGETDOUBLEFUNC) GetProcAddress(CoscomDLLHandle,"coscomgetEnergy"); coscomgetPower = (TCOSCOMGETDOUBLEFUNC) GetProcAddress(CoscomDLLHandle,"coscomgetPower"); } bool areValidCoscomPointer() { return (coscomopenPort != NULL) && (coscomclosePort != NULL) && (coscomgetVersion != NULL) && (coscomgetStatus != NULL) && (coscomgetSpeed != NULL) && (coscomgetDuration != NULL) && (coscomgetAcceleration != NULL) && (coscomgetElevation != NULL) && (coscomgetHeartrate != NULL) && (coscomgetDistance != NULL) && (coscomgetError != NULL) && (coscomsetSpeed != NULL) && (coscomsetAcceleration != NULL) && (coscomsetElevation != NULL) && (coscomsetSpeedAccel != NULL) && (coscomKeyPressStart != NULL) && (coscomKeyPressStop != NULL) && (coscomKeyPressPlus != NULL) && (coscomKeyPressMinus != NULL) && (coscomKeyPressUp != NULL) && (coscomKeyPressDown != NULL) && (coscomsetFailSafe != NULL) && (coscomgetFailSafe != NULL) && (coscomgetWeight != NULL) && (coscomgetEnergy != NULL) && (coscomgetPower != NULL) ; } void loadcoscomEKGDLL() { resetCoscomPointer(); //C++ Builder //CoscomDLLHandle = LoadLibrary(CoscomDLLName.c_str()); CoscomDLLHandle = LoadLibrary(CoscomDLLName); getCoscomPointer(); if ((CoscomDLLHandle == 0) || !areValidCoscomPointer() ) { //Fehler } } void unloadcoscomEKGDLL() { if (CoscomDLLHandle != 0) FreeLibrary(CoscomDLLHandle); }