![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
2Владимир Кладов: Не работает DecInt64() [D7 + KOL 2.05, XP+sp2]
Slay © (2005-01-07 23:45:00)При вызове DecInt64 выдает " инструкция по адресу ххххх обратилась к памяти по адресу ххххххх . Память не может быть writteln". И программа вылетает.
Вот пример процедуры:
procedure TForm1.Button1Click(Sender: PObj);
var
i:i64;
s:Cardinal;
begin
t := 'test.txt';
i := Int2Int64(3673771);
LogFileOutput(t,'i='+int64_2str(i));
s := 3552000;
DecInt64(i,s); // <-Error
LogFileOutput(t,'i='+int64_2str(i));
end;
Slay (2005-01-08 13:25:00) [1]thaddy большое спосибо ты мне очень помог.
У меня есть еще один вопрос. Как Int64 перевести в String?
Я сделал так int64_2str( i64(i) ) кажется работает.
Переделанный пример процедуры:
procedure TForm1.Button1Click(Sender: PObj);
var
i:int64;
s:Cardinal;
begin
t := 'test.txt';
i := 3673771;
LogFileOutput(t,'i='+int64_2str(i64(i)));
s := 3552000;
Dec(i,s); // <-OK
LogFileOutput(t,'i='+int64_2str(i64(i)));
end;
Владимир Кладов (2005-01-08 13:18:00) [2]Смешивать запросто, я так и делаю иногда. Приведение к типу I64( i ) работает, где i:Int64. Внутри это тот же тип данных.
thaddy (2005-01-08 12:05:00) [3]I64 and INT64 are different. I64 is a KOL implementation for compatibility with D3 and earlier. INT64 is a native Delphi type.
You should not mix the two! but always use INT64 if you have D4 or higher.