Текущий архив: 2004.06.13;
Скачать: CL | DM;
ВнизЗаписи Найти похожие ветки
← →
Anton (2004-06-01 19:18) [0]Вопрос: Есть такой кусочек кода
.............
A = packed record
B: Integer;
C: Integer;
end;
.............
var
D: Integer;
...........
begin
D := 10;
A(D).B := 20;// ошибка в несоответствии типов
A(D).C := 30;
end;
Как сделать так, что бы ошибка исчезла?
← →
Тимохов © (2004-06-01 19:20) [1]
> Anton (01.06.04 19:18)
а надо ли...
← →
Тимохов © (2004-06-01 19:20) [2]Что вы вообще хотите сделать?
А если за d будет другая переменная.
Вы же таким макаром ее попортите.
← →
Palladin © (2004-06-01 19:23) [3]Конечно будет несоответствие типов. Ты пытаешься 4 байта привести к 8 байтам, что за чушь?
← →
Anatoly Podgoretsky © (2004-06-01 19:24) [4]Разберись, что такое массивы в языках программирования.
← →
Тимохов © (2004-06-01 19:26) [5]
> Palladin © (01.06.04 19:23) [3]
чушь полная.
но все интересно понять, что он воолще хочет.
может ему это и надо - чтобы уметь обращаться к 4 байтам за переменной d.
Не говорит же :)) Молчит ...
← →
Anton (2004-06-01 19:29) [6]Отвечаю. Взял у знакомого его код. Так у него в конце такой подпрограмки в переменной D число 60. Как так получается я и пытаюсь понять?
← →
default © (2004-06-01 19:32) [7]компилятор хитрец
так катит(естес-но)
var
D: Int64;
...
A(D).B := 20;
а так нет
var
D: Integer;
...
A(Int64(D)).B := 20;
то есть не забивает на тип D при приведении
← →
Palladin © (2004-06-01 19:33) [8]Ты хочешь сказать это его код в точности?
← →
Тимохов © (2004-06-01 19:34) [9]
> Anton (01.06.04 19:29) [6]
> Отвечаю. Взял у знакомого его код. Так у него в конце такой
> подпрограмки в переменной D число 60. Как так получается
> я и пытаюсь понять?
тогда вас понять сложно.
вы же сами сказали, что код не компилится?
← →
default © (2004-06-01 19:36) [10]вот так его накалывай
A(Pointer(@D)^).B := 20;
← →
Anton (2004-06-01 19:37) [11]Тимохов © (01.06.04 19:34) [9]
>тогда вас понять сложно.
>вы же сами сказали, что код не компилится?
сильно упрощенный код
Страницы: 1 вся ветка
Текущий архив: 2004.06.13;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.031 c