Страница 1 из 1

Странная ошибка компилятора FreePascal 3.0.4 lazarus-2.0.2

СообщениеДобавлено: 21.06.2019 18:20:02
basilcat
Win7 64 bit.
Странная ошибка компилятора FreePascal 3.0.4 lazarus-2.0.2
Знатоки Лазаря. Помогите разобраться в чём проблема.
У меня lazarus-2.0.2-fpc-3.0.4-win64.exe. Пробую перевести Delphi 7 проект в Lazarus.

Если изначально создать базу Sakas.db3 - SQLiteStudio c полем NUMBER_SAKAS - string и ввести в первой строке в этом поле только цифры, то:
Странное требование от компилятора: '208ВПН' is not a valid integer для строки SQLQuery1.FieldByName('NUMBER_SAKAS').AsString := StrSOut;
Код: Выделить всё


                        StrSIn:=Sadan_Massiv[i][1];
                        StrSOut := CP1251ToUTF8(StrSIn);
                        SQLQuery1.FieldByName('NUMBER_SAKAS').AsString        := StrSOut;

Массив заполнен. StrSOut действительно равно после преобразования '208ВПН'. Слева и справа String. При чём здесь is not a valid integer (не является допустимым целым числом) . И не должно являться!!!
Удалось разобраться.
Просто ввести в первой строке в этом поле не только цифры но и буквы (русские) то всё записывает в DBGrid и БД.
Но после этого его клинит и начинает колбасить.

Т.е. бегунок вертикальный DBGrid судорожно дёргается вверх вниз. И после перезагрузки приложения дёргание продолжается.
Заменил Воод через SQL запрос:
try
SQLQuery1.Active:=false;
SQLQuery1.SQL.Clear; {Стираем любой предыдущий запрос}
//Назначаем свойству SQL текст
SQLQuery1.SQL.Add('INSERT INTO SAKAS ( NUMBER_LIST,NUMBER_SAKAS,TIPORASMER_H_OCNOVI,TOLCHINA_NAPLAVKI,TIP_LENTI,CHIRINA,DLINA,USTANOVL_U,USTANOVL_A,SYPPORT_N,Mode_Napl,X_L1,A_L,B_L,Y_L1,R_R,XY_NUMBER,_ZIKL,DATA_SADANIJA,VREMJA_SADANIJA) VALUES ('''+Sadan_Massiv[i][0]+''','''+ StrSOut+''','''+ Sadan_Massiv[i][2]+''','''+ IntToStr(StrToInt(Sadan_Massiv[i][3]) div 10)+''','''+ StrTOut+''','''+ Sadan_Massiv[i][5]+''','''+ Sadan_Massiv[i][6]+''','''+ IntToStr(StrToInt(Sadan_Massiv[i][7]) div 10)+''','''+ Sadan_Massiv[i][8]+''','''+ Sadan_Massiv[i][9]+''','''+ Sadan_Massiv[i][10]+''','''+ Sadan_Massiv[i][11]+''','''+ Sadan_Massiv[i][12]+''','''+ Sadan_Massiv[i][13]+''','''+ Sadan_Massiv[i][14]+''','''+ Sadan_Massiv[i][15]+''','''+ IntToStr(GetDlinaNaplavki( StrToInt(Sadan_Massiv[i][10]), StrToInt(Sadan_Massiv[i][16]), StrToInt(Sadan_Massiv[i][14]), StrToInt(Sadan_Massiv[i][13]) ))+''','''+ Sadan_Massiv[i][17]+''','''+ datam+''','''+ vremam+ ''')'); //);');
SQLQuery1.ExecSQL;
SQLQuery1.SQL.Clear;
SQLQuery1.sql.add('SELECT * from Sakas;');
SQLQuery1.Open;
except
ShowMessage(' Ошибка при выполнении SQL запроса.');
exit;
end;

Фаберже только в профиль. Результат тот же.
Может кто-то сталкивался?
Откликнись сообщество!!!
Модератор. Прошу внести тему на рассмотрение!!!

Исходник прилагаю.

В корень диска C: или на другой диск, но тогда изменить ClientServer.ini
[FGFP_SADANIE]
FGFPSADANIE=<Диск>:\Serv_KR\2\

[FGFP_DBase]
FGFPDBase=<Диск>:\Serv_KR\2\