![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
In progress...
Форумчанин
Регистрация: 25.09.2011
Сообщений: 161
|
![]()
То есть ошибка здесь
Код:
C:/Windows, а нужно из массива скопировать именно эти 10 символов, и уже им присваивать указатель ? Так ? |
![]() |
![]() |
![]() |
#12 |
In progress...
Форумчанин
Регистрация: 25.09.2011
Сообщений: 161
|
![]()
Хотя нет, там же SizeOf...
|
![]() |
![]() |
![]() |
#13 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
![]()
Эээ....
Как-то странно вы мыслите. Код:
Этот кусок кода непричём. Разве он относится к передаче данных? Нет, он работает исключительно внутри одной программы. А у вас же проблема - не в получении папки, а в передаче строк между программами. Проблема начинается у вас с того момента, когда вы спроецировали TDataRecord, не учитывая размер передаваемых данных.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
![]() |
![]() |
![]() |
#14 |
In progress...
Форумчанин
Регистрация: 25.09.2011
Сообщений: 161
|
![]()
Выводит нормально, для этого лейбл и впихнул чтобы проверять.
|
![]() |
![]() |
![]() |
#15 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
![]()
Это был риторический вопрос.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
![]() |
![]() |
![]() |
#16 |
In progress...
Форумчанин
Регистрация: 25.09.2011
Сообщений: 161
|
![]()
Память для файла как я понял выделяется здесь
Код:
|
![]() |
![]() |
![]() |
#17 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
![]()
Да, я немного неверно сказал.
CreateFileMapping выделяет, конечно, с запасом. Но этот запас ты никак не используешь. TDataRecord - всего 8 байт, не 50. Одно из простых решений - ограничиться данными фиксированного размера вместо динамических. К примеру, использовать вместо PChar ShortString или array[0..100] of AnsiChar/WideChar. Плюсы: это простой подход. Минусы: не всегда возможно ограничить данные сверху. В данном случае для папки у тебя есть ограничение в MAX_PATH - как раз влезет в 256 символов ShortString, ну а дата - и подавно (если, конечно к нам прилетят змеелюди с Альфа Центавра с их месяцами в 400 символов - тогда да, у тебя будут проблемы). Если подход с данными фиксированного размера неприменим, то нужно использовать другие, более сложные, подходы.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
![]() |
![]() |
![]() |
#18 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
![]()
(чтобы лучше это понять, я бы рекомендовал порисовать на бумажке)
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
![]() |
![]() |
![]() |
#19 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
![]() ![]()
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
![]() |
![]() |
![]() |
#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 |