Автор Тема: Непонятка с драйвером Штриха, свойство ValueOfFieldString.  (Прочитано 2693 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн tridentxp

  • Резидент
  • Эксперт
  • ****
  • Сообщений: 7516
  • Похвалили: 1107 раз(а)
  • Он умер.
  • Откуда: ARMвиль
взял пример штриха://(штрих мобайл Ф
 ECR->Password = StrToInt(edtPassword->Text);
 ECR->TableNumber=14;
 ECR->FieldNumber=7;
 ECR->RowNumber=1;
 ECR->ReadTable();
 UserName->Text=ECR->ValueOfFieldString;
это билдером компилеца. а вот это  ECR->ValueOfFieldString=WideString(UserName->Text ) генерит ошибку  [C++ Error] fmuMain.cpp(58): E2247 'IDrvFR::ValueOfFieldString' is not accessible. тоесть свойство можно считать, но при попытке записать в него компилятор выдаёт ошибку.
ValueOfFieldInteger=5 ошибок не выдаёт.
« Последнее редактирование: 25/08/2017 16:09:56 от tridentxp »
то, что дарвин и вы называете эволюцией, является лишь умыслом Отца.
 

Оффлайн SergL

  • Активный форумчанин
  • Старожил
  • **
  • Сообщений: 478
  • Похвалили: 216 раз(а)
  • Откуда: Moscow
Я вообще не специалист по интерфейсу драйвера, но насколько я понимаю WideString преобразует в 16-ти битную кодировку, а мне что-то подсказывает что строки должны быть в 8-ми битной кодировке (1251).
 

Оффлайн tridentxp

  • Резидент
  • Эксперт
  • ****
  • Сообщений: 7516
  • Похвалили: 1107 раз(а)
  • Он умер.
  • Откуда: ARMвиль
Я вообще не специалист по интерфейсу драйвера, но насколько я понимаю WideString преобразует в 16-ти битную кодировку, а мне что-то подсказывает что строки должны быть в 8-ми битной кодировке (1251).
не, он в данном случае бы отругался на типы. а у мну ругается на недоступность при попытке записи.
то, что дарвин и вы называете эволюцией, является лишь умыслом Отца.
 

Оффлайн asmonah

  • Резидент
  • Ветеран
  • ****
  • Сообщений: 817
  • Похвалили: 128 раз(а)
  • Откуда: СПб
With DrvFR1
    'ECR->Password = StrToInt(edtPassword->Text);
    'ECR->TableNumber=14;
    'ECR->FieldNumber=7;
    'ECR->RowNumber=1;
    'ECR->ReadTable();
    'UserName->Text=ECR->ValueOfFieldString;
    .Password = 30
    .TableNumber = 18
    .FieldNumber = 7
    .RowNumber = 1
    .ReadTable
    txtResult = .ValueOfFieldString
    .ValueOfFieldString = "hjgkjhgkjhgkjh"
    .WriteTable
   
   
End With

всё работает
Свою судьбу мы делаем сами
 

Оффлайн Prz777

  • Резидент
  • Ветеран
  • ****
  • Сообщений: 867
  • Похвалили: 745 раз(а)
...
 ECR->TableNumber=14;
 ECR->FieldNumber=7;
...
 но при попытке записать в него компилятор выдаёт ошибку.
Ошибка потому, что в 14-й таблице 6 полей.
 

Оффлайн tridentxp

  • Резидент
  • Эксперт
  • ****
  • Сообщений: 7516
  • Похвалили: 1107 раз(а)
  • Он умер.
  • Откуда: ARMвиль
...
 ECR->TableNumber=14;
 ECR->FieldNumber=7;
...
 но при попытке записать в него компилятор выдаёт ошибку.
Ошибка потому, что в 14-й таблице 6 полей.
нее. это мобайл Ф - носимая мыльница. там фискал стораж - 14 таблица (надо зарегать 400 девайсов, хочу автоматизировать процесс). это во первых, а во вторых компилятор не может знать в какой таблице сколько полей.
« Последнее редактирование: 25/08/2017 16:39:40 от tridentxp »
то, что дарвин и вы называете эволюцией, является лишь умыслом Отца.
 

Оффлайн tridentxp

  • Резидент
  • Эксперт
  • ****
  • Сообщений: 7516
  • Похвалили: 1107 раз(а)
  • Он умер.
  • Откуда: ARMвиль
то был проект DrvFRTst TLB. попробовал в соседнм проекте DrvFRTst OLE:
ECR.OlePropertySet("ValueOfFieldString", WideString("blablabla"));
- проканало. фигня кака то.
то, что дарвин и вы называете эволюцией, является лишь умыслом Отца.
 

Оффлайн tridentxp

  • Резидент
  • Эксперт
  • ****
  • Сообщений: 7516
  • Похвалили: 1107 раз(а)
  • Он умер.
  • Откуда: ARMвиль
задал вопрос в техподдержку. от ответа просто А%:?ЕЛ:
Добрый день.

Если вы хотите получать поддержку как разработчик ПО. То вам необходимо получить статус "Заявитель" в Центре Сертификации Штрих-М
Более подробная информация по ссылке
http://www.shtrih-m.ru/solutions/54fz.php

--
С уважением, Северин Максим Валерьевич
Инженер технической поддержки ЗАО "Штрих-М"
то, что дарвин и вы называете эволюцией, является лишь умыслом Отца.
 

Оффлайн tridentxp

  • Резидент
  • Эксперт
  • ****
  • Сообщений: 7516
  • Похвалили: 1107 раз(а)
  • Он умер.
  • Откуда: ARMвиль
СПАСИБО, SergL ! помогло  ECR->set_ValueOfFieldString(WideString("My String2"));//
а вот показаляь странным тот факт, что если закомментить строчку 10, то имя пользуна в таблицу не запишется, или запишется Бог знает куда. если перед 10 строчкой вывести FieldNumber, то он окажется =39, хотя явных присвоений не наблюдается.
1 ECR->Password = StrToInt(edtPassword->Text);
2 ECR->TableNumber=14;
3 ECR->FieldNumber=7;
4 ECR->RowNumber=1;
5    ECR->GetTableStruct();
6  ECR->set_ValueOfFieldString(WideString("My String2"));//
7  ShowMessage(ECR->ValueOfFieldString);
8 ECR->Password = StrToInt(edtPassword->Text);
9 ECR->TableNumber=14;
10 ECR->FieldNumber=7;
11 //ECR->RowNumber=1;
12 ECR->WriteTable();
то, что дарвин и вы называете эволюцией, является лишь умыслом Отца.
 

Оффлайн tridentxp

  • Резидент
  • Эксперт
  • ****
  • Сообщений: 7516
  • Похвалили: 1107 раз(а)
  • Он умер.
  • Откуда: ARMвиль
SergL, если не секрет, где в штрих мобайл ф торчит завномер ? просто ща 400 шт ПТК переделывать. а ну как с номером косяк выйдет.
то, что дарвин и вы называете эволюцией, является лишь умыслом Отца.
 

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23