Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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
3-59591
Sirus
2003-04-28 09:01
2003.05.19
Можно ли восставновить удаленную запись Interbase???


7-59965
Andy78
2003-03-21 10:59
2003.05.19
Формат отображения даты


14-59910
Шоломицкий
2003-04-29 22:17
2003.05.19
В инете делать нечего....


7-59963
Winni
2003-03-06 18:25
2003.05.19
как автозагрузить прогу не используя папку Автозагрузка?


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





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский