Форум: "Начинающим";
Текущий архив: 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.042 c