Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2003.05.19;
Скачать: [xml.tar.bz2];

Вниз

По вопросам памяти   Найти похожие ветки 

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.007 c
14-59883
Дмитрий К.К.
2003-04-29 06:18
2003.05.19
Именинники 29 апреля


1-59784
oleg_sys
2003-05-06 21:51
2003.05.19
Вывод графики в файл


3-59612
WD
2003-04-28 17:21
2003.05.19
Local database


9-59533
Mirovodin
2002-03-26 00:19
2003.05.19
Форум открыт


14-59947
race1
2003-04-28 13:21
2003.05.19
computer





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский