Главная страница
    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.48 MB
Время: 0.048 c
2-1212150799
leonidus
2008-05-30 16:33
2008.06.29
Отображение прогресса при UPDATE базы


15-1211179167
data
2008-05-19 10:39
2008.06.29
Подскажите форумы/сайты по дачному строительству и мелиорации?


3-1201027383
Ega23
2008-01-22 21:43
2008.06.29
ISQL в FireBird - передать скрипт и получить результат


15-1210851293
Marij
2008-05-15 15:34
2008.06.29
PageControl


15-1211204540
LightRipple
2008-05-19 17:42
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский