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

Вниз

Как правильно использовать Команду MOVE ?   Найти похожие ветки 

 
IgorKuz ©   (2003-01-23 16:15) [0]

type
PMyRec = ^TMyRec;
TMyRec = record Data1 : word; Data2 : integer; end;

function GetBufr (P : pointer) : TMayRec;
var
PR : pointer;
N : TMyRec;
begin
Move(P,PR^,SizeOf(TMyRec));
// А вот Здесь уже не работает ?
N:=PMyRec(PR)^;
// ....
end;
procedure MyProc;
var
PR : pointer;
N : TMyRec;
begin
GetMem(P,100);
// .... Заполняю буфер
Move(P,PR^,SizeOf(TMyRec));
// Здесь все работает
N:=PMyRec(PR)^;
GetBufr(P);
//.....
end;
begin
MyProc;
end;
В функции GetBufr Данные в N записываются наполовину верно


 
Игорь Шевченко ©   (2003-01-23 16:17) [1]

Move(P^,PR^,SizeOf(TMyRec));


 
gsu ©   (2003-01-23 16:18) [2]

+GetMem"s


 
REA ©   (2003-01-23 16:26) [3]

Чтобы недоразумений не было использовать CopyMemory из W32API


 
Игорь Шевченко ©   (2003-01-23 16:28) [4]

var
PR : pointer;
N : TMyRec;
begin
Move(P,PR^,SizeOf(TMyRec));

А PR, конечно, инициализировать не надо. И warnings у компилятора отключен по умолчанию ? В сад!


 
Anatoly Podgoretsky ©   (2003-01-23 16:29) [5]

К Чубайсу


 
IgorKuz ©   (2003-01-23 16:33) [6]

Поправка после GetMem(P,100) есть GetMem(PR,SizeOf(TMyRrec))


 
Anatoly Podgoretsky ©   (2003-01-23 16:46) [7]

Не видать определения P


 
han_malign ©   (2003-01-23 16:59) [8]

И абсолютно не понятен смысл всех этих танцев с бубном:
GetBufr - абсолютно ничего не делает кроме Access Violation
Может подразумевалось
function GetBufr(p: pointer; Index: integer): TMyRec;
begin
inc(DWORD(p),Index*sizeof(TMyRec));
move(p^,Result,sizeof(TMyRec));
end;
??????????
З.Ы. Ты насчет области видимости переменных слышал??? N и PR в GetBufr, и N и PR в MyProc - это абсолютно разные переменные... А P совпадают только потому, что глобальная P передается в аргументе P...



 
IgorKuz ©   (2003-01-23 17:17) [9]

Han_Malign
Это написано лишь для примера
мне нужно работать с указателями а типы считования могут быть разные
на счет видимости переменных я слышал :) . Одинаковые
названия просто для простоты понимания.


 
gsu ©   (2003-01-23 17:19) [10]

>> IgorKuz ©
Так как же те помочь, ежли ты пишешь, что ни попадя ?



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

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

Наверх




Память: 0.48 MB
Время: 0.011 c
4-5342
wildcow
2002-12-20 11:19
2003.02.03
спрятать внешнее приложение


14-5213
Opryshok
2003-01-15 18:52
2003.02.03
Репорты в HTML-формате. Проблемы. Помогите.


1-5016
kba
2003-01-23 15:59
2003.02.03
Как предотвратить 2ой FormClose ? (+)


1-4985
Dmitriy Polskoy
2003-01-23 13:23
2003.02.03
Узлы TreeView


8-5090
pasha676
2002-10-22 08:59
2003.02.03
ФайрВаре и видео