Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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.


Наверх

Титульная страница Поиск, карта сайта Написать письмо