Текущий архив: 2003.05.19;
Скачать: CL | DM;
ВнизПо вопросам памяти Найти похожие ветки
← →
Plut (2003-03-22 09:39) [0]Передаю в функцию адрес переменной типа word:
var
b : word;
begin
MyFunc(@b)...
выдаёт ошибку Access Violation..., причём не ссылается на адрес FFFFFFFFh а на какой-то другой
Помогите кто может!!!
← →
MBo (2003-03-22 10:01) [1]MyFunc ????
← →
Plut (2003-03-22 10:09) [2]procedure Splicing( Mas1, Mas2 : pointer; Len1, Len2 : integer; var p : PMas);
var
i : integer;
begin
GetMem(m,SizeOf(m));
SetLength(m^,Len1+Len2);
GetMem(m1,SizeOf(m1));
SetLength(m1^,Len1);
Move(Mas1,m1,Len1);
GetMem(m2,SizeOf(m2));
SetLength(m2^,Len2);
Move(Mas2,m2,Len2);
for i:=0 to Len1-1 do m^[i]:=m1^[i];
for i:=Len1 to Len1+Len2-1 do m^[i]:=m2^[i-Len1];
Move(m,p,Len1+Len2);
Finalize(m^);
FreeMem(m);
Finalize(m1^);
FreeMem(m1);
Finalize(m2^);
FreeMem(m2);
end;
← →
Snap (2003-03-22 10:09) [3]Приведи код процедуры MyFunc
← →
Plut (2003-03-22 10:19) [4]Ребятки, MyFunc (это образно), в действительности Splicing.
Подскажите мне пожалуйста, неучу.
← →
Snap (2003-03-22 10:23) [5]Для начала объясни почему у MyFunc и Splicig разное количество и качество параметров? Во вторых
GetMem(m,SizeOf(m));
кажется мне довольно странным. Что ты этим хотел сделать?
ЗЫ. Почитай помощь в Дельфях по динамическим массивам и работой с кучей.
← →
Plut (2003-03-22 10:30) [6]GetMem(m,SizeOf(m)) - выделяю память под переменную pointer
Короче я совсем запутался.
Цель процедуры Splicing склеить две переменные разных типов и вернуть указатель на склеиное
Может что подскажете?
← →
Snap (2003-03-22 10:42) [7]Слушай всю структуру этих процедур долго объяснять, правда, почитай хелп.
← →
Plut (2003-03-22 10:48) [8]Не хочу показаться назойливым, но хоть намёк дайте:(
← →
Snap (2003-03-22 10:55) [9]Help----> Find----> GetMem
FreeMem
StrAlloc
StrFree
New
Dispose
SetLength
← →
Anatoly Podgoretsky (2003-03-22 10:55) [10]А что такое вообще M, M1, M2
Ты хочешь, что бы и мы запутались или свихнулись.
Почитай статью Как правильно задавать вопросы
http://ln.com.ua/~openxs/articles/smart-questions-ru.html
← →
Plut (2003-03-22 11:21) [11]Пардон, M, m1, m2 -
type
PMas = ^TMas;
TMas = array of byte;
← →
Anatoly Podgoretsky (2003-03-22 11:30) [12]Ты думаешь, что M, m1, m2 могут быть одновременно и PMas и TMas
← →
MBo (2003-03-22 11:33) [13]a и b пишутся в c
Move(a,c,SizeOf(a));
Move(b,PByteArray(@c)[SizeOf(a)],SizeOf(b));
Страницы: 1 вся ветка
Текущий архив: 2003.05.19;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.006 c