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

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.018 c
15-1210593726
User1
2008-05-12 16:02
2008.06.29
override or overload ?


2-1212121612
Dymok
2008-05-30 08:26
2008.06.29
Как узнать путь к каталогу документов пользователя


15-1210654618
Slider007
2008-05-13 08:56
2008.06.29
С днем рождения ! 13 мая 2008 вторник


15-1209458145
inew
2008-04-29 12:35
2008.06.29
Tabel1.filter


15-1210866837
тимохов
2008-05-15 19:53
2008.06.29
Посоветуйте что-нибудь по поводу сетевого странспорта