|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
03.12.2010, 17:25 | #1 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
Ошибка работы с памятью
В DLL:
Код:
Код:
Код:
Код:
Код:
Function <FuncName>:PChar; Сказали, что будут утечки, сделал так: Procedure <FuncName>(Res : PChar); (На примере IntToStr2 видно, где проходили границы прошлого варианта). Как сделать рабочим?
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
03.12.2010, 20:41 | #2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
а FreeMem не сделать как я предлагал?
зачем все перестраивать-то? Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
03.12.2010, 21:04 | #3 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
Код:
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
03.12.2010, 21:28 | #4 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
Ошибка локализована Причина была в том, что в WriteLn пришла контенкация PChar строк. А это - зло. Отдельно нормально, а вот с +-м идет бредятина. Внутренний вызов заменил на String и все нормально.
Спасибо Goodwin!
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
04.12.2010, 06:45 | #5 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
Ох.
1. Всегда работайте со String, а приведение к PChar делайте в последний момент. 2. Если вы хотите вернуть строку из функции в DLL, то проще всего использовать WideString.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Функция с памятью. | the_deer_one | Общие вопросы C/C++ | 3 | 27.08.2010 09:45 |
Работа с памятью | GrihaI | Общие вопросы C/C++ | 0 | 14.05.2010 18:18 |
Вышла ошибка во время работы ... | HAMMAN | Microsoft Office Excel | 6 | 25.03.2010 11:49 |
Ошибка работы с blob полем, в похожем проекте все работает | Lokos | БД в Delphi | 6 | 25.02.2010 08:17 |
Проблема с памятью в С++ | rJIaBkoM | Помощь студентам | 1 | 14.06.2008 14:25 |