|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
25.01.2012, 21:36 | #11 |
In progress...
Форумчанин
Регистрация: 25.09.2011
Сообщений: 161
|
То есть ошибка здесь
Код:
C:/Windows, а нужно из массива скопировать именно эти 10 символов, и уже им присваивать указатель ? Так ? |
25.01.2012, 21:38 | #12 |
In progress...
Форумчанин
Регистрация: 25.09.2011
Сообщений: 161
|
Хотя нет, там же SizeOf...
|
25.01.2012, 21:42 | #13 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
Эээ....
Как-то странно вы мыслите. Код:
Этот кусок кода непричём. Разве он относится к передаче данных? Нет, он работает исключительно внутри одной программы. А у вас же проблема - не в получении папки, а в передаче строк между программами. Проблема начинается у вас с того момента, когда вы спроецировали TDataRecord, не учитывая размер передаваемых данных.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
25.01.2012, 21:53 | #14 |
In progress...
Форумчанин
Регистрация: 25.09.2011
Сообщений: 161
|
Выводит нормально, для этого лейбл и впихнул чтобы проверять.
|
25.01.2012, 21:54 | #15 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
Это был риторический вопрос.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
25.01.2012, 22:02 | #16 |
In progress...
Форумчанин
Регистрация: 25.09.2011
Сообщений: 161
|
Память для файла как я понял выделяется здесь
Код:
|
25.01.2012, 22:08 | #17 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
Да, я немного неверно сказал.
CreateFileMapping выделяет, конечно, с запасом. Но этот запас ты никак не используешь. TDataRecord - всего 8 байт, не 50. Одно из простых решений - ограничиться данными фиксированного размера вместо динамических. К примеру, использовать вместо PChar ShortString или array[0..100] of AnsiChar/WideChar. Плюсы: это простой подход. Минусы: не всегда возможно ограничить данные сверху. В данном случае для папки у тебя есть ограничение в MAX_PATH - как раз влезет в 256 символов ShortString, ну а дата - и подавно (если, конечно к нам прилетят змеелюди с Альфа Центавра с их месяцами в 400 символов - тогда да, у тебя будут проблемы). Если подход с данными фиксированного размера неприменим, то нужно использовать другие, более сложные, подходы.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
25.01.2012, 22:09 | #18 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
(чтобы лучше это понять, я бы рекомендовал порисовать на бумажке)
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
25.01.2012, 22:15 | #19 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
26.01.2012, 00:28 | #20 |
In progress...
Форумчанин
Регистрация: 25.09.2011
Сообщений: 161
|
Спасибо большое. Побольше бы таких людей как ты, помог, по полочкам разложил, сразу понятно стало, сделал, работает.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как перевести Pchar в string? | green-shrek | Помощь студентам | 3 | 07.04.2010 19:01 |
гарантированный перевод string в PChar | Пепел Феникса | Общие вопросы Delphi | 2 | 21.09.2009 11:44 |
String to PChar | D7_beginner | Общие вопросы Delphi | 2 | 21.11.2007 14:05 |
проблема перевода (PChar и string) | Fireleo | Общие вопросы Delphi | 4 | 29.07.2007 08:14 |
Как из string получить PChar??? | sis | Компоненты Delphi | 4 | 11.02.2007 16:58 |