Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.08.14;
Скачать: CL | DM;

Вниз

2Владимир Кладов: Не работает DecInt64()   Найти похожие ветки 

 
Slay   (2005-01-07 23:45) [0]

При вызове 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;


 
thaddy   (2005-01-08 12:05) [1]

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.


 
Владимир Кладов   (2005-01-08 13:18) [2]

Смешивать запросто, я так и делаю иногда. Приведение к типу I64( i ) работает, где i:Int64. Внутри это тот же тип данных.


 
Slay   (2005-01-08 13:25) [3]

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;



Страницы: 1 вся ветка

Текущий архив: 2005.08.14;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.055 c
14-1121230858
cvg
2005-07-13 09:00
2005.08.14
Где взять mysql.dcu?


1-1122368068
dddim
2005-07-26 12:54
2005.08.14
winexec


4-1118607992
NikNet
2005-06-13 00:26
2005.08.14
Установка и удаление Драйвера! Чет я запутался или что-то не то


3-1120425439
eLimar
2005-07-04 01:17
2005.08.14
Индексы Foxpro (cdx)


4-1118744989
SaX
2005-06-14 14:29
2005.08.14
проблемы с выключением машины под NT4