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

Вниз

налажение памяти в структуре с динамическим масивом   Найти похожие ветки 

 
alex-drob   (2008-06-03 23:38) [0]

Не знаю как правельно назвать вопрос, вобщем суть в следующем, есть вто такой код:

type
 TUserContact = record
   flag:dword;
   group:dword;
   adr:pchar;
   nick:pchar;
   serverflag:dword;
   status:dword;
   phone:pchar;
 end;

type
 TGroupContact = record
   flag:integer;
   name:pchar;
 end;

type
 TContactList = record
   error: dword;
   GroupNumber: dword;
   GroupMask: PChar;
   ContactMask: PChar;
   Groups: array of TGroupContact;
   Users: array of TUserContact;
 end;

............

         SetLength(cl.Groups,cl.GroupNumber);
         for i:=0 to cl.GroupNumber-1 do
           begin
             move(buf[n],cl.Groups[i].flag,4);
             n:=n+4;
             move(buf[n],sz,4);
             n:=n+4;
             cl.Groups[i].name:=PChar(copy(buf,n,sz));
             n:=n+sz;
           end;



когда цикл проходит первый раз, всё ок. но потом не пойму в чём дело.
при прохождении каждого следующего раза, все данные в cl.Groups в том числе и в cl.Groups[0] начинают меняться, обрезаются последнии буквы и слов и цифры меняются.
Из за чего это может быть?


 
alex-drob ©   (2008-06-03 23:51) [1]

нет, я ошибся цифры не меняються!
вобщем получаеться, что при каждом следующем прохождении цикла, у предыдущего слова исчезает последняя буква, точнее не исчезает, а превращаеться в другой символ


 
alex-drob ©   (2008-06-04 00:45) [2]

ну вобщем проблема ушла после замены типа name:pchar; на string
но всё же интернесно почему так с pchar


 
Reindeer Moss Eater ©   (2008-06-04 09:39) [3]

потому что пушкин еще спит и не успел выделить память под строки на которые указывают твои pchar поля записей.


 
Anatoly Podgoretsky ©   (2008-06-04 09:55) [4]

Спрашивается и нафига новички лезут работать с указателями не понимая и не умея работать. string конечно использовать не красиво, не по пацански.


 
alex-drob ©   (2008-06-04 11:32) [5]


> Anatoly Podgoretsky ©   (04.06.08 09:55) [4]

Вот так всегда! Сначало в одном вопросе напишут: Используй PCHar!
А потом в другом: Нафига ты его используешь!


 
Правильный_Вася   (2008-06-04 11:33) [6]


>  налажение памяти

это от слова лажа?


 
Anatoly Podgoretsky ©   (2008-06-04 13:54) [7]

> alex-drob  (04.06.2008 11:32:05)  [5]

Некоторые не в состоянии понять ответы.


 
alex-drob ©   (2008-06-04 14:02) [8]


> Anatoly Podgoretsky ©   (04.06.08 13:54) [7]

ладно, проехали! очередной вопрос превратили в "потрепаться"


 
Amoeba ©   (2008-06-04 14:13) [9]

Автору вопроса рекомендую почитать эту статью:
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1206


 
Palladin ©   (2008-06-04 14:21) [10]


> alex-drob ©   (04.06.08 11:32) [5]
>
> > Anatoly Podgoretsky ©   (04.06.08 09:55) [4]
>
> Вот так всегда! Сначало в одном вопросе напишут: Используй
> PCHar!

покажи пальчиком, кто тебя обидел? :)


 
alex-drob ©   (2008-06-04 14:43) [11]

Удалено модератором
Примечание: Давай без наездов


 
Palladin ©   (2008-06-04 14:55) [12]


> alex-drob ©   (04.06.08 14:43) [11]

Шарик, ты балбес. Я у тебя спрашивал ссылку, где тебе сказали, что PChar нужно, а не String. Дабы посмотреть и удостовериться, что без PChar"а действительно не обойтись. В огромном подовляющем большинстве случаев достаточно использовать String. Это раз. Два. Мои дельные ответы не для таких как ты. Ты их просто не поймешь.


 
alex-drob ©   (2008-06-04 15:05) [13]

Ну значить я балбес! А на счёт ссылки, искать не хочу, но написанно было примерно, используй PChar или String,  не для конкретного примера, это я просто сказал


> Amoeba ©   (04.06.08 14:13) [9]


За ссылку спасибо! хорошая статья, я там ещё про сокеты как раз нашол статью, которая мне тоже помогла!


 
Anatoly Podgoretsky ©   (2008-06-04 16:48) [14]

> alex-drob  (04.06.2008 14:02:08)  [8]

Так не превращай, говори только по делу, приводи детали, как делал, что не понимаешь.



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

Форум: "Начинающим";
Текущий архив: 2008.06.29;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.043 c
2-1212317943
WebSQLNeederrr
2008-06-01 14:59
2008.06.29
Как обратиться к функции, которая находится в другом юните?


2-1212069255
Vlad Oshin
2008-05-29 17:54
2008.06.29
RTTI. Не понял что за результат


2-1212471973
Igor M.
2008-06-03 09:46
2008.06.29
Анализ звука. ай нид хелп


2-1212269187
Randew
2008-06-01 01:26
2008.06.29
Помогите найти ошибку, пожалуйста...


15-1211045220
@!!ex
2008-05-17 21:27
2008.06.29
Что такое кристаллическая решетка?





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