Российский производитель и разработчик сертифицированного измерительного оборудования с 1987 года


cannot convert parameter from 'char *' to 'LPCWSTR

Вы не вошли.

 Поиск | Регистрация | Вход 

Даниил
16.07.2009 12:14:36
#1

Гость

cannot convert parameter from 'char *' to 'LPCWSTR

L783 .При компиляции проекта компилятор ругается на строки
   HINSTANCE CallCreateInstance(char* name)
   {
   HINSTANCE hComponent = ::LoadLibrary(name);
   .....
   }
следующим образом: error C2664: /'LoadLibraryW/' : cannot convert parameter 1 from /'char */' to /'LPCWSTR/'.
Подскажите пожалуйста что можно сделать. Операциона XP SP3, делаю на visual studio 2008

16.07.2009 12:48:46
#2

Сотрудник "Л Кард"
Откуда: Москва
Здесь с 23.04.2014
Сообщений: 3,727

Re: cannot convert parameter from 'char *' to 'LPCWSTR

в свойствах проекта вырубить UNICODE.
general - Project defaults - Character Set поставить not set...

Даниил
16.07.2009 14:33:23
#3

Гость

Re: cannot convert parameter from 'char *' to 'LPCWSTR

А вот ещё трудность возникла: подаю напряжение 3В на 3 канал (не суть важно на какой), в Data[0] получаю 1 .L-Graph снимает всё нормально. CNh[0]=0x2. Что я могу делать не так?

16.07.2009 15:35:46
#4

Сотрудник "Л Кард"
Откуда: Москва
Здесь с 23.04.2014
Сообщений: 3,727

Re: cannot convert parameter from 'char *' to 'LPCWSTR

lgraph тоже в диф. моде? По идее открыли устройство , загрузили и можно читать IoAsync..

Даниил
16.07.2009 16:51:15
#5

Гость

Re: cannot convert parameter from 'char *' to 'LPCWSTR

на lgraph смотрел при включённом общем режиме

16.07.2009 17:50:40
#6

Сотрудник "Л Кард"
Откуда: Москва
Здесь с 23.04.2014
Сообщений: 3,727

Re: cannot convert parameter from 'char *' to 'LPCWSTR

0x2 это диф. режим. как по другому см описание  логический номер канала....

Даниил
17.07.2009 10:22:35
#7

Гость

Re: cannot convert parameter from 'char *' to 'LPCWSTR

Поменял канал на 32-ой, в lgraph всё нормально, а в программе выдаёт 1. Может чего не так в ней?

Вот полный код:
#include "stdafx.h"
#include <windows.h>
#include <objbase.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <iostream>
#include "ioctl.h"
#include "ifc_ldev.h"
#include "create.h"
using namespace std;

ULONG slot = 0;
SLOT_PAR sl;
PLATA_DESCR_U2 pd;
ADC_PAR adcPar;

int main()
{
     CallCreateInstance("lcomp.dll");
     LUnknown* pIUnknown = CreateInstance(slot);
IDaqLDevice* pI;
    HRESULT hr = pIUnknown->QueryInterface(IID_ILDEV,(void**)&pI);   
    pIUnknown->Release();
    pI->OpenLDevice();
    pI->LoadBios("l783");
    ULONG test_plata=pI->PlataTest();
    if (test_plata==L_SUCCESS)
    {
        cout<<"PlataTest is rule//n";
    }
    else
    {
        cout<<"PlataTest failed//n";
    }
    pI->GetSlotParam(&sl);
    pI->ReadPlataDescr(&pd);


    ASYNC_PAR pp;
    pp.s_Type = L_ASYNC_ADC_INP;
    pp.Chn[0]=0x31;
    pI->IoAsync(&pp);
    cout << "OUT Data " <<(short)pp.Data[0]<< endl;
    return 0;
}

Даниил
17.07.2009 10:24:11
#8

Гость

Re: cannot convert parameter from 'char *' to 'LPCWSTR

Это правильно задавать номер 32-го канала АЦП в коде как 0x31 ?

17.07.2009 11:13:47
#9

Сотрудник "Л Кард"
Откуда: Москва
Здесь с 23.04.2014
Сообщений: 3,727

Re: cannot convert parameter from 'char *' to 'LPCWSTR

правильно задать 3 канал (нумерация с 0) как
00100010b те 0x22 . те общая земля 3 канал диапазон 5В.

Даниил
20.07.2009 09:54:23
#10

Гость

Re: cannot convert parameter from 'char *' to 'LPCWSTR

1) а для 3 канала будет не так: 00100100b ? Если нет, то я не понимаю, извините. Не могли бы Вы объяснить?
2) единицей в шестом разряде мы указываем на то что общий режим?
3) а номера каналов мы выставляем по младшим 4 разрядам (т.е. например для 16-го канала это будут все 1 в младших 4 разрядах) ?

20.07.2009 11:44:44
#11

Сотрудник "Л Кард"
Здесь с 24.04.2014
Сообщений: 1,495

Re: cannot convert parameter from 'char *' to 'LPCWSTR

Формат логического канала АЦП подробно описан в руководстве программиста под DOS http://www.lcard.ru/download/l7xx_programmers_guide.pdf в п.1.2.2.2.3. "Логический номер канала АЦП".