Compatibilité borland microsoft visual

swnnos Messages postés 8 Date d'inscription mardi 30 mars 2004 Statut Membre Dernière intervention 31 mars 2004 - 30 mars 2004 à 21:01
swnnos Messages postés 8 Date d'inscription mardi 30 mars 2004 Statut Membre Dernière intervention 31 mars 2004 - 31 mars 2004 à 00:26
Bonjour je dois réutiliser un fichier d'en tête fourni par le constructeur d'une platine d'usinage. Seulement ce fichier est compatible borland mais pas visual.
Quand je compile ca plante sur les définitions des fonctions.
Pouvez vous m'aider?
Merci d'avance

les def de quelques fonctions:

extern void WINAPI MCAbort( HCTRLR hCtlr, WORD wAxis );
extern long int WINAPI MCArcCenter( HCTRLR hCtlr, WORD wAxis, short int nType, double Position );
extern long int WINAPI MCArcEndAngle( HCTRLR hCtlr, WORD wAxis, short int nType, double Angle );
extern long int WINAPI MCArcRadius( HCTRLR hCtlr, WORD wAxis, double Radius );
extern long int WINAPI MCBlockBegin( HCTRLR hCtlr, long int lMode, long int lNum );
extern long int WINAPI MCBlockEnd( HCTRLR hCtlr, long int far* lTaskID );
extern long int WINAPI MCCancelTask( HCTRLR hCtlr, long int lTaskID );
extern long int WINAPI MCCaptureData( HCTRLR hCtlr, WORD wAxis, long int lPoints, double Period, double Delay );
extern short int WINAPI MCClose( HCTRLR hCtlr );
extern short int WINAPI MCConfigureDigitalIO( HCTRLR hCtlr, WORD wChannel, WORD wMode );
extern long int WINAPI MCContourDistance( HCTRLR hCtlr, WORD wAxis, double Distance );
extern long int WINAPI MCContourPath( HCTRLR hCtlr, WORD wAxis, WORD wMode, char far* lpBuffer );
extern long int WINAPI MCDecodeStatus( HCTRLR hCtlr, DWORD dwStatus, long int lBit );
extern void WINAPI MCDirection( HCTRLR hCtlr, WORD wAxis, WORD wDir );

swnnos

12 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
30 mars 2004 à 21:55
VC++ affiche aussi les erreurs, il manque cela pour se faire une idee.

ciao...
BruNews, Admin CS, MVP Visual C++
0
swnnos Messages postés 8 Date d'inscription mardi 30 mars 2004 Statut Membre Dernière intervention 31 mars 2004
30 mars 2004 à 22:02
Ah pardon...Voilà les erreurs pour la première ligne des fonction ensuite si je supprime cette ligne ça se propage sur les autres fonctions:

Compiling...
essai.cpp
d:\istase 2oe\projet indus\essai1\mcapi.h(484) : error C2146: syntax error : missing ';' before identifier 'MCAbort'
d:\istase 2oe\projet indus\essai1\mcapi.h(484) : error C2182: 'WINAPI' : illegal use of type 'void'
d:\istase 2oe\projet indus\essai1\mcapi.h(484) : fatal error C1004: unexpected end of file found
Error executing cl.exe.

essai1.exe - 3 error(s), 0 warning(s)

en supprimant la première fonction:

Compiling...
essai.cpp
d:\istase 2oe\projet indus\essai1\mcapi.h(486) : error C2146: syntax error : missing ';' before identifier 'MCArcEndAngle'
d:\istase 2oe\projet indus\essai1\mcapi.h(486) : fatal error C1004: unexpected end of file found
Error executing cl.exe.

essai1.exe - 2 error(s), 0 warning(s)

swnnos
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
30 mars 2004 à 22:43
HCTRLR a eu une declaration ou au moins un #define ???

ciao...
BruNews, Admin CS, MVP Visual C++
0
swnnos Messages postés 8 Date d'inscription mardi 30 mars 2004 Statut Membre Dernière intervention 31 mars 2004
30 mars 2004 à 23:01
non c'est ce qui me chagrine aussi depuis le début....
d'ailleur HCTRLR n'est pas en bleu tout comme WORD ou WINAPI qui ne sont jamais défini...

seule mention de HCTRLR:
//
// Types
//
typedef short int HCTRLR;

si je supprime WINAPI de la première définition de fonction j'obtiens cette erreur:

Compiling...
essai.cpp
d:\istase 2oe\projet indus\essai1\mcapi.h(484) : error C2061: syntax error : identifier 'WORD'
d:\istase 2oe\projet indus\essai1\mcapi.h(485) : error C2146: syntax error : missing ';' before identifier 'MCArcCenter'
d:\istase 2oe\projet indus\essai1\mcapi.h(485) : fatal error C1004: unexpected end of file found
Error executing cl.exe.

essai1.exe - 3 error(s), 0 warning(s)

si j'écris la première fonction telle que:
extern void MCAbort( HCTRLR hCtlr);

j'obtiens les erreurs suivantes:
Compiling...
essai.cpp
d:\istase 2oe\projet indus\essai1\mcapi.h(485) : error C2146: syntax error : missing ';' before identifier 'MCArcCenter'
d:\istase 2oe\projet indus\essai1\mcapi.h(485) : fatal error C1004: unexpected end of file found
Error executing cl.exe.

Merci à plus,
swnnos
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
swnnos Messages postés 8 Date d'inscription mardi 30 mars 2004 Statut Membre Dernière intervention 31 mars 2004
30 mars 2004 à 23:05
le début du programme:

#ifndef _INC_MCAPI // include only once
#define _INC_MCAPI

#ifdef __cplusplus // avoid c++ name mangling
extern "C" {
#endif

//
// Motion Control API manifest constants
//
#define MC_ALL_AXES 0

#define MC_ABSOLUTE 0
#define MC_RELATIVE 1

#define MC_BLOCK_COMPOUND 0
#define MC_BLOCK_TASK 1
#define MC_BLOCK_MACRO 2
#define MC_BLOCK_RESETM 3
#define MC_BLOCK_CANCEL 4
#define MC_BLOCK_CONTR_USER 5
#define MC_BLOCK_CONTR_LIN 6
#define MC_BLOCK_CONTR_CW 7
#define MC_BLOCK_CONTR_CCW 8

#define MC_CENTER_ABS MC_ABSOLUTE // use MC_ABSOLUTE in new code
#define MC_CENTER_REL MC_RELATIVE // use MC_RELATIVE in new code

#define MC_CURRENT_FULL 1
#define MC_CURRENT_HALF 2

#define MC_DATA_ACTUAL 0
#define MC_DATA_OPTIMAL 1
#define MC_DATA_ERROR 2
#define MC_DATA_TORQUE 3

#define MC_DIO_FIXED 256
#define MC_DIO_INPUT 1
#define MC_DIO_OUTPUT 2
#define MC_DIO_HIGH 4
#define MC_DIO_LOW 8
#define MC_DIO_LATCH 16
#define MC_DIO_LATCHABLE 512
#define MC_DIO_STEPPER 1024

#define MC_DIR_POSITIVE 1
#define MC_DIR_NEGATIVE 2

#define MC_LIMIT_ABRUPT 4
#define MC_LIMIT_BOTH 3
#define MC_LIMIT_INVERT 0x0080
#define MC_LIMIT_MINUS 2
#define MC_LIMIT_OFF 0
#define MC_LIMIT_PLUS 1
#define MC_LIMIT_SMOOTH 8
#define MC_LIMIT_HIGH MC_LIMIT_PLUS // use MC_LIMIT_PLUS in new code
#define MC_LIMIT_LOW MC_LIMIT_MINUS // use MC_LIMIT_MINUS in new code

#define MC_LRN_POSITION 1
#define MC_LRN_TARGET 2

#define MC_MAX_ID 15

#define MC_MODE_CONTOUR 0
#define MC_MODE_GAIN 1
#define MC_MODE_POSITION 2
#define MC_MODE_TORQUE 3
#define MC_MODE_VELOCITY 4

#define MC_MODULE_TYPE 0x000f
#define MC_MODULE_SUBTYPE 0x00f0

#define MC_OM_BIPOLAR 0
#define MC_OM_UNIPOLAR 1
#define MC_OM_PULSE_DIR 0
#define MC_OM_CW_CCW 1
#define MC_OM_BI_PWM 2
#define MC_OM_UNI_PWM 3

#define MC_OPEN_ASCII 1
#define MC_OPEN_BINARY 2
#define MC_OPEN_EXCLUSIVE 0x8000

#define MC_PHASE_STD 0
#define MC_PHASE_REV 1

#define MC_PROF_UNKNOWN 0
#define MC_PROF_TRAPEZOID 1
#define MC_PROF_SCURVE 2
#define MC_PROF_PARABOLIC 4

#define MC_RATE_UNKNOWN 0
#define MC_RATE_LOW 1
#define MC_RATE_MEDIUM 2
#define MC_RATE_HIGH 4

#define MC_STAT_BUSY 0
#define MC_STAT_MTR_ENABLE 1
#define MC_STAT_MODE_VEL 2
#define MC_STAT_TRAJ 3
#define MC_STAT_DIR 4
#define MC_STAT_JOG_ENAB 5
#define MC_STAT_HOMED 6
#define MC_STAT_ERROR 7
#define MC_STAT_LOOK_INDEX 8
#define MC_STAT_LOOK_EDGE 9
#define MC_STAT_BREAKPOINT 10
#define MC_STAT_FOLLOWING 11
#define MC_STAT_AMP_ENABLE 12
#define MC_STAT_AMP_FAULT 13
#define MC_STAT_PLIM_ENAB 14
#define MC_STAT_PLIM_TRIP 15
#define MC_STAT_MLIM_ENAB 16
#define MC_STAT_MLIM_TRIP 17
#define MC_STAT_PSOFT_ENAB 18
#define MC_STAT_PSOFT_TRIP 19
#define MC_STAT_MSOFT_ENAB 20
#define MC_STAT_MSOFT_TRIP 21
#define MC_STAT_INP_INDEX 22
#define MC_STAT_INP_HOME 23
#define MC_STAT_INP_AMP 24
#define MC_STAT_INP_AUX 25
#define MC_STAT_INP_PLIM 26
#define MC_STAT_INP_MLIM 27
#define MC_STAT_INP_USER1 28
#define MC_STAT_INP_USER2 29
#define MC_STAT_PHASE 30
#define MC_STAT_FULL_STEP 31
#define MC_STAT_HALF_STEP 32
#define MC_STAT_JOGGING 33
#define MC_STAT_PJOG_ENAB 34
#define MC_STAT_PJOG_ON 35
#define MC_STAT_MJOG_ENAB 36
#define MC_STAT_MJOG_ON 37
#define MC_STAT_INP_PJOG 38
#define MC_STAT_INP_MJOG 39
#define MC_STAT_STOPPING 40
#define MC_STAT_PROG_DIR 41
#define MC_STAT_AT_TARGET 42 // changed in v2.0d from MC_STAT_PWM_ENAB
#define MC_STAT_ACCEL 43
#define MC_STAT_MODE_POS 44
#define MC_STAT_MODE_TRQE 45
#define MC_STAT_MODE_ARC 46
#define MC_STAT_MODE_CNTR 47
#define MC_STAT_MODE_SLAVE 48
#define MC_STAT_LMT_ABORT 49
#define MC_STAT_LMT_STOP 50
#define MC_STAT_CAPTURE 51
#define MC_STAT_RECORD 52
#define MC_STAT_SYNC 53
#define MC_STAT_MODE_LIN 54

#define MC_STEP_FULL 1
#define MC_STEP_HALF 2

#define MC_THREAD 0x100

#define MC_TYPE_LONG 2
#define MC_TYPE_DOUBLE 4

#define MC_LINEAR 1
#define MC_CIRC_CW 2
#define MC_CIRC_CCW 3

//
// Controller specific manifest constants
//
#define NO_CONTROLLER 0
#define NONE NO_CONTROLLER // old constant, use NO_CONTROLLER instead
#define DCXPC100 1
#define DCXAT100 2
#define DCXAT200 3
#define DC2PC100 4
#define DC2STN 5
#define DCXAT300 6

#define MC100 5
#define MC110 4
#define MC150 6
#define MC160 7
#define MC200 0
#define MC210 16
#define MC260 1
#define MC300 2
#define MC310 18
#define MC360 3
#define MC400 8
#define MC500 12
#define MF300 10
#define MF310 9
#define NO_MODULE 15
#define DC2SERVO 254
#define DC2STEPPER 255

//
// Error code group masks
//
#define MCERRMASK_UNSUPPORTED 0x00000001L // function not supported
#define MCERRMASK_HANDLE 0x00000002L // bad handle
#define MCERRMASK_AXIS 0x00000004L // bad axis number
#define MCERRMASK_PARAMETER 0x00000008L // bad parameter
#define MCERRMASK_IO 0x00000010L // I/O problem
#define MCERRMASK_SYSTEM 0x00000020L // system level errors

#define MCERRMASK_STANDARD 0xFFFFFFFEL // most common MCErrorNotify settings
// includes all errors except UNSUPPORTED

#define MC_ERROR_NOTIFY "MCErrorNotify" // message identifier
//
// Individual error codes
//

#define MCERR_NOERROR 0 // no error

//
// MCERRMASK_SYSTEM group errors
//
#define MCERR_NO_CONTROLLER 1 // no controller assigned for this ID
#define MCERR_OUT_OF_HANDLES 2 // driver out of handles
#define MCERR_OPEN_EXCLUSIVE 3 // cannot open - exclusive
#define MCERR_MODE_UNAVAIL 4 // controller already open in different mode
#define MCERR_UNSUPPORTED_MODE 5 // controller doesn't support this mode
#define MCERR_INIT_DRIVER 6 // couldn't initialize the device driver
#define MCERR_NOT_PRESENT 7 // controller hardware not present;
#define MCERR_ALLOC_MEM 8 // memory allocation error
#define MCERR_WINDOWSERROR 9 // Windows function reported an error

//
// MCERRMASK_UNSUPPORTED group errors
//
#define MCERR_NOTSUPPORTED 11 // controller doesn't support this feature
#define MCERR_OBSOLETE 12 // function is obsolete
#define MCERR_AXIS_TYPE 16 // axis type doesn't support this feature

//
// MCERRMASK_HANDLE group errors
//
#define MCERR_CONTROLLER 13 // invalid controller handle
#define MCERR_WINDOW 14 // invalid window handle

//
// MCERRMASK_AXIS group errors
//
#define MCERR_AXIS_NUMBER 15 // axis number out of range
#define MCERR_ALL_AXES 17 // cannot select "ALL AXES" for function

//
// MCERRMASK_PARAMETER group errors
//
#define MCERR_RANGE 18 // parameter was out of range
#define MCERR_CONSTANT 19 // constant value inappropriate

//
// MCERRMASK_IO group errors
//
#define MCERR_UNKNOWN_REPLY 20 // unexpected or unknown reply
#define MCERR_NO_REPLY 21 // controller failed to reply
#define MCERR_REPLY_SIZE 22 // reply size incorrect
#define MCERR_REPLY_AXIS 23 // wrong axis for reply
#define MCERR_REPLY_COMMAND 24 // reply is for different command
#define MCERR_TIMEOUT 25 // controller failed to respond
#define MCERR_BLOCK_MODE 26 // block mode error
#define MCERR_COMM_PORT 27 // communications port (RS232) error
#define MCERR_CANCEL 28 // operation was canceled

swnnos
0
swnnos Messages postés 8 Date d'inscription mardi 30 mars 2004 Statut Membre Dernière intervention 31 mars 2004
30 mars 2004 à 23:06
la fin:

//
// Types
//
typedef short int HCTRLR;

//
// Data structures (set packing for 16/32-bit compilers)
//
#ifndef _WIN32
#pragma pack(2)
#else
#pragma pack(4)
#endif

//
// Contouring parameters structure
//
typedef struct {
double VectorAccel;
double VectorDecel;
double VectorVelocity;
double VelocityOverride;
} MCCONTOUR;

//
// PID Filter parameters structure
//
typedef struct {
double DerivativeGain;
double DerSamplePeriod;
double IntegralGain;
double IntegrationLimit;
double VelocityGain;
double AccelGain;
double DecelGain;
double FollowingError;
} MCFILTER;

//
// Jog control parameters structure
//
typedef struct {
double Acceleration;
double MinVelocity;
double Deadband;
double Gain;
double Offset;
} MCJOG;

//
// Motion parameters structure
//
typedef struct {
double Acceleration;
double Deceleration;
double Velocity;
double MinVelocity;
short int Direction;
double Gain;
double Torque;
double Deadband;
double DeadbandDelay;
short int StepSize;
short int Current;
short int HardLimitMode;
short int SoftLimitMode;
double SoftLimitLow;
double SoftLimitHigh;
short int EnableAmpFault;
short int Rate;
} MCMOTION;

//
// Controller configuration structure
//
typedef struct {
short int ID;
short int ControllerType;
short int NumberAxes;
short int DigitalIO;
short int AnalogInput;
short int AnalogOutput;
short int AxisType[8];
short int PointStorage;
short int CanDoScaling;
short int CanDoContouring;
short int CanChangeProfile;
short int CanChangeRates;
short int SoftLimits;
short int MultiTasking;
short int AmpFault;
} MCPARAM;

//
// Scaling factors data structure
//
typedef struct {
double Constant;
double Offset;
double Rate;
double Scale;
double Zero;
double Time;
} MCSCALE;

//
// Restore default packing
//
#pragma pack()

//
// API Function Prototypes
//
extern void WINAPI MCAbort( HCTRLR hCtlr, WORD wAxis );
extern long int WINAPI MCArcCenter( HCTRLR hCtlr, WORD wAxis, short int nType, double Position );
extern long int WINAPI MCArcEndAngle( HCTRLR hCtlr, WORD wAxis, short int nType, double Angle );
extern long int WINAPI MCArcRadius( HCTRLR hCtlr, WORD wAxis, double Radius );
extern long int WINAPI MCBlockBegin( HCTRLR hCtlr, long int lMode, long int lNum );
extern long int WINAPI MCBlockEnd( HCTRLR hCtlr, long int far* lTaskID );
extern long int WINAPI MCCancelTask( HCTRLR hCtlr, long int lTaskID );
extern long int WINAPI MCCaptureData( HCTRLR hCtlr, WORD wAxis, long int lPoints, double Period, double Delay );
extern short int WINAPI MCClose( HCTRLR hCtlr );
extern short int WINAPI MCConfigureDigitalIO( HCTRLR hCtlr, WORD wChannel, WORD wMode );
extern long int WINAPI MCContourDistance( HCTRLR hCtlr, WORD wAxis, double Distance );
extern long int WINAPI MCContourPath( HCTRLR hCtlr, WORD wAxis, WORD wMode, char far* lpBuffer );
extern long int WINAPI MCDecodeStatus( HCTRLR hCtlr, DWORD dwStatus, long int lBit );
extern void WINAPI MCDirection( HCTRLR hCtlr, WORD wAxis, WORD wDir );
extern void WINAPI MCEnableAxis( HCTRLR hCtlr, WORD wAxis, short int bState );
extern long int WINAPI MCEnableBacklash( HCTRLR hCtlr, WORD wAxis, double Backlash, short int bState );
extern void WINAPI MCEnableDigitalIO( HCTRLR hCtlr, WORD wChannel, short int bState );
extern void WINAPI MCEnableGearing( HCTRLR hCtlr, WORD wAxis, WORD wMaster, double ratio, short int bState );
extern void WINAPI MCEnableJog( HCTRLR hCtlr, WORD wAxis, short int bState );
extern void WINAPI MCEnableSync( HCTRLR hCtlr, WORD wAxis, short int bState );
extern void WINAPI MCErrorNotify( HWND hWnd, HCTRLR hCtlr, DWORD ErrorMask );
extern long int WINAPI MCFindAuxEncIdx( HCTRLR hCtlr, WORD wAxis, double Position );
extern long int WINAPI MCFindEdge( HCTRLR hCtlr, WORD wAxis, double Position );
extern long int WINAPI MCFindIndex( HCTRLR hCtlr, WORD wAxis, double Position );
extern long int WINAPI MCGetAccelerationEx( HCTRLR hCtlr, WORD wAxis, double far* Acceleration );
extern WORD WINAPI MCGetAnalog( HCTRLR hCtlr, WORD wChannel );
extern long int WINAPI MCGetAuxEncIdxEx( HCTRLR hCtlr, WORD wAxis, double far* Index );
extern long int WINAPI MCGetAuxEncPosEx( HCTRLR hCtlr, WORD wAxis, double far* Position );
extern long int WINAPI MCGetBreakpointEx( HCTRLR hCtlr, WORD wAxis, double far* Breakpoint );
extern long int WINAPI MCGetCaptureData( HCTRLR hCtlr, WORD wAxis, long int lType, long int lStart,
long int lPoints, double far* lpData );
extern void WINAPI MCGetConfiguration( HCTRLR hCtlr, MCPARAM far* lpParam );
extern short int WINAPI MCGetContourConfig( HCTRLR hCtlr, WORD wAxis, MCCONTOUR far* lpContour );
extern long int WINAPI MCGetContouringCount( HCTRLR hCtlr, WORD wAxis );
extern long int WINAPI MCGetDecelerationEx( HCTRLR hCtlr, WORD wAxis, double far* Deceleration );
extern short int WINAPI MCGetError( HCTRLR hCtlr );
extern short int WINAPI MCGetDigitalIO( HCTRLR hCtlr, WORD wChannel );
extern long int WINAPI MCGetDigitalIOConfig( HCTRLR hCtlr, WORD wChannel, WORD* wMode );
extern short int WINAPI MCGetFilterConfig( HCTRLR hCtlr, WORD wAxis, MCFILTER far* lpFilter );
extern long int WINAPI MCGetFollowingError( HCTRLR hCtlr, WORD wAxis, double far* Error );
extern long int WINAPI MCGetGain( HCTRLR hCtlr, WORD wAxis, double far* Gain );
extern long int WINAPI MCGetIndexEx( HCTRLR hCtlr, WORD wAxis, double far* Index );
extern short int WINAPI MCGetJogConfig( HCTRLR hCtlr, WORD wAxis, MCJOG far* lpJog );
extern long int WINAPI MCGetLimits( HCTRLR hCtlr, WORD wAxis, short int far* HardLimitMode, short int far* SoftLimitMode,
double far* SoftLimitMinus, double far* SoftLimitPlus );
extern short int WINAPI MCGetMotionConfig( HCTRLR hCtlr, WORD wAxis, MCMOTION far* lpMotion );
extern long int WINAPI MCGetOptimalEx( HCTRLR hCtlr, WORD wAxis, double far* Optimal );
extern long int WINAPI MCGetPositionEx( HCTRLR hCtlr, WORD wAxis, double far* Position );
extern long int WINAPI MCGetProfile( HCTRLR hCtlr, WORD wAxis, WORD far* wProfile );
extern long int WINAPI MCGetRegister( HCTRLR hCtlr, long int nRegister, void far* Value, long int nType );
extern short int WINAPI MCGetScale( HCTRLR hCtlr, WORD wAxis, MCSCALE far* lpScale );
extern long int WINAPI MCGetServoOutputPhase( HCTRLR hCtlr, WORD wAxis, WORD far* wPhase );
extern DWORD WINAPI MCGetStatus( HCTRLR hCtlr, WORD wAxis );
extern long int WINAPI MCGetTargetEx( HCTRLR hCtlr, WORD wAxis, double far* Target );
extern long int WINAPI MCGetTorque( HCTRLR hCtlr, WORD wAxis, double far* Torque );
extern long int WINAPI MCGetVectorVelocity( HCTRLR hCtlr, WORD wAxis, double far* Velocity );
extern long int WINAPI MCGetVelocityEx( HCTRLR hCtlr, WORD wAxis, double far* Velocity );
extern DWORD WINAPI MCGetVersion( HCTRLR hCtlr );
extern void WINAPI MCGo( HCTRLR hCtlr, WORD wAxis );
extern long int WINAPI MCGoEx( HCTRLR hCtlr, WORD wAxis, double Param );
extern void WINAPI MCGoHome( HCTRLR hCtlr, WORD wAxis );
extern long int WINAPI MCIndexArm( HCTRLR hCtlr, WORD wAxis, double Position );
extern long int WINAPI MCIsAtTarget( HCTRLR hCtlr, WORD wAxis, double TimeOut );
extern long int WINAPI MCIsStopped( HCTRLR hCtlr, WORD wAxis, double TimeOut );
extern long int WINAPI MCLearnPoint( HCTRLR hCtlr, WORD wAxis, long int lIndex, WORD wMode );
extern void WINAPI MCMacroCall( HCTRLR hCtlr, WORD wMacro );
extern void WINAPI MCMoveAbsolute( HCTRLR hCtlr, WORD wAxis, double Position );
extern void WINAPI MCMoveRelative( HCTRLR hCtlr, WORD wAxis, double Distance );
extern long int WINAPI MCMoveToPoint( HCTRLR hCtlr, WORD wAxis, long int lIndex );
extern HCTRLR WINAPI MCOpen( short int nID, WORD wMode, LPCSTR lpszName );
extern long int WINAPI MCReopen( HCTRLR hCtlr, WORD wNewMode );
extern long int WINAPI MCRepeat( HCTRLR hCtlr, long int lCount );
extern void WINAPI MCReset( HCTRLR hCtlr, WORD wAxis );
extern void WINAPI MCSetAcceleration( HCTRLR hCtlr, WORD wAxis, double Rate );
extern void WINAPI MCSetAnalog( HCTRLR hCtlr, WORD wChannel, WORD wValue );
extern void WINAPI MCSetAuxEncPos( HCTRLR hCtlr, WORD wAxis, double Position );
extern short int WINAPI MCSetContourConfig( HCTRLR hCtlr, WORD wAxis, MCCONTOUR far* lpContour );
extern void WINAPI MCSetDeceleration( HCTRLR hCtlr, WORD wAxis, double Rate );
extern short int WINAPI MCSetFilterConfig( HCTRLR hCtlr, WORD wAxis, MCFILTER far* lpFilter );
extern long int WINAPI MCSetGain( HCTRLR hCtlr, WORD wAxis, double Gain );
extern short int WINAPI MCSetJogConfig( HCTRLR hCtlr, WORD wAxis, MCJOG far* lpJog );
extern long int WINAPI MCSetLimits( HCTRLR hCtlr, WORD wAxis, short int HardLimitMode, short int SoftLimitMode,
double SoftLimitMinus, double SoftLimitPlus );
extern void WINAPI MCSetModuleOutputMode( HCTRLR hCtlr, WORD wAxis, WORD wMode );
extern short int WINAPI MCSetMotionConfig( HCTRLR hCtlr, WORD wAxis, MCMOTION far* lpMotion );
extern void WINAPI MCSetOperatingMode( HCTRLR hCtlr, WORD wAxis, WORD caxis, WORD mode );
extern void WINAPI MCSetPosition( HCTRLR hCtlr, WORD wAxis, double Position );
extern void WINAPI MCSetProfile( HCTRLR hCtlr, WORD wAxis, WORD wMode );
extern long int WINAPI MCSetRegister( HCTRLR hCtlr, long int nRegister, void far* Value, long int nType );
extern short int WINAPI MCSetScale( HCTRLR hCtlr, WORD wAxis, MCSCALE far* lpScale );
extern void WINAPI MCSetServoOutputPhase( HCTRLR hCtlr, WORD wAxis, WORD wPhase );
extern long int WINAPI MCSetTimeoutEx( HCTRLR hCtlr, double TimeOut, double far* OldTimeOut );
extern long int WINAPI MCSetTorque( HCTRLR hCtlr, WORD wAxis, double Torque );
extern long int WINAPI MCSetVectorVelocity( HCTRLR hCtlr, WORD wAxis, double Velocity );
extern void WINAPI MCSetVelocity( HCTRLR hCtlr, WORD wAxis, double Rate );
extern void WINAPI MCStop( HCTRLR hCtlr, WORD wAxis );
extern long int WINAPI MCTranslateErrorEx( short int nError, LPSTR szBuffer, long int nLength );
extern void WINAPI MCWait( HCTRLR hCtlr, double Period );
extern void WINAPI MCWaitForDigitalIO( HCTRLR hCtlr, WORD wChannel, short int bState );
extern long int WINAPI MCWaitForEdge( HCTRLR hCtlr, WORD wAxis, short int bState );
extern long int WINAPI MCWaitForIndex( HCTRLR hCtlr, WORD wAxis, double TimeOut );
extern void WINAPI MCWaitForPosition( HCTRLR hCtlr, WORD wAxis, double Position );
extern void WINAPI MCWaitForRelative( HCTRLR hCtlr, WORD wAxis, double Distance );
extern void WINAPI MCWaitForStop( HCTRLR hCtlr, WORD wAxis, double Period );
extern void WINAPI MCWaitForTarget( HCTRLR hCtlr, WORD wAxis, double Period );

//
// Low level controller access commands
//
extern short int WINAPI pmccmd( HCTRLR hCtlr, short int nBytes, void far* lpBuffer );
extern long int WINAPI pmccmdex( HCTRLR hCtlr, WORD wAxis, WORD wCmd, void FAR* Argument, long int nType );
extern short int WINAPI pmcgetc( HCTRLR hCtlr );
extern void WINAPI pmcgetram( HCTRLR hCtlr, WORD wOffset, void far* lpBuffer, short int nBytes );
extern short int WINAPI pmcgets( HCTRLR hCtlr, char far* lpszBuffer, short int nBytes );
extern short int WINAPI pmcputc( HCTRLR hCtlr, short int nChar );
extern void WINAPI pmcputram( HCTRLR hCtlr, WORD wOffset, void far* lpBuffer, short int nBytes );
extern short int WINAPI pmcputs( HCTRLR hCtlr, char far* lpszBuffer );
extern short int WINAPI pmcrdy( HCTRLR hCtlr );
extern short int WINAPI pmcrpy( HCTRLR hCtlr, short int nBytes, char far* lpBuffer );
extern long int WINAPI pmcrpyex( HCTRLR hCtlr, void FAR* Reply, long int nType );

//
// Old functions supported in 16-bit mode only
//
#ifndef _WIN32

extern double WINAPI MCGetAcceleration( HCTRLR hCtlr, WORD wAxis );
extern double WINAPI MCGetAuxEncIdx( HCTRLR hCtlr, WORD wAxis );
extern double WINAPI MCGetAuxEncPos( HCTRLR hCtlr, WORD wAxis );
extern double WINAPI MCGetBreakpoint( HCTRLR hCtlr, WORD wAxis );
extern double WINAPI MCGetDeceleration( HCTRLR hCtlr, WORD wAxis );
extern double WINAPI MCGetIndex( HCTRLR hCtlr, WORD wAxis );
extern double WINAPI MCGetOptimal( HCTRLR hCtlr, WORD wAxis );
extern double WINAPI MCGetPosition( HCTRLR hCtlr, WORD wAxis );
extern double WINAPI MCGetTarget( HCTRLR hCtlr, WORD wAxis );
extern double WINAPI MCGetVelocity( HCTRLR hCtlr, WORD wAxis );
extern double WINAPI MCSetTimeout( HCTRLR hCtlr, double TimeOut );

#endif

#ifdef __cplusplus
}
#endif

#endif

swnnos
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
30 mars 2004 à 23:23
Tu travailles avec un lib pour la dll. Tu as bien indique le lib pour le linker je pense.

Sous:
#ifndef _INC_MCAPI // include only once
#define _INC_MCAPI

#ifdef __cplusplus // avoid c++ name mangling
extern "C" {
#endif

// tu ajoutes:
#include <windows.h> // pour WORD, WINAPI etc...

ensuite si merde encore essaie en enlevant 'extern' devant la 1ere fonction. Si l'erreur indique la seconde fonction tu les enleves tous.
Par contre ne JAMAIS enlever WINAPI qui est #define de __stdcall sinon ton prog fait crash.

ciao...
BruNews, Admin CS, MVP Visual C++
0
swnnos Messages postés 8 Date d'inscription mardi 30 mars 2004 Statut Membre Dernière intervention 31 mars 2004
30 mars 2004 à 23:37
en ajoutant la ligne que tu me donnes j'ai une erreur de link qui ne se résoud pas par suppression du extern

Linking...
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/essai1.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

essai1.exe - 2 error(s), 0 warning(s)

Merci de ton aide
swnnos
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
30 mars 2004 à 23:48
symbol main ??? tu fais de la console ???

ciao...
BruNews, Admin CS, MVP Visual C++
0
swnnos Messages postés 8 Date d'inscription mardi 30 mars 2004 Statut Membre Dernière intervention 31 mars 2004
31 mars 2004 à 00:13
Là en ce moment oui c'est un projet win32console appliation avec juste le .h et un .cpp qui appelle le .h.
Mais à terme ce sera implanté dans une interface graphique MFCappwizard...

Merci à plus
swnnos
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
31 mars 2004 à 00:20
Alors va direct sur un prog win32, mfc ou non mais nenni console. Il y a besoin de windows.h pour define de WORD, WINAPI etc...
Sinon tu dois ajouter ces define a la main et faudra les enlever ensuite, pas rentable.

ciao...
BruNews, Admin CS, MVP Visual C++
0
swnnos Messages postés 8 Date d'inscription mardi 30 mars 2004 Statut Membre Dernière intervention 31 mars 2004
31 mars 2004 à 00:26
Alors ok je fais unwin32 mfc et j'obtiens 0 erreurs en ajoutant seul le .h avec la ligne #include <windows.h>

par contre si je fais un .cpp avec juste l'appel du .h:
#include "mcapi.h"

alors j'ai cette erreur:

Compiling...
mcapi.cpp
d:\istase 2oe\projet indus\essai2\mcapi.cpp(2) : fatal error C1010: unexpected end of file while looking for precompiled header directive
Error executing cl.exe.

essai2.exe - 1 error(s), 0 warning(s)

Merci bonne nuit,
swnnos
0
Rejoignez-nous