![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| former |
|
|||
![]() MEMS Expert ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1166 Регистрация: 1.3.2006 Где: Россия Репутация: 5 Всего: 17 |
Собственно сабж. И обратно.
Это сообщение отредактировал(а) former - 9.7.2009, 14:28 -------------------- Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами. |
|||
|
||||
| THandle |
|
|||
![]() Хранитель Клуба Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 65 Всего: 372 |
Как то так:
|
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Смотря как использовать, если не выносить за пределы функции, то просто
Добавлено через 49 секунд Обратно должно работать простое присваение. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| former |
|
|||
![]() MEMS Expert ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1166 Регистрация: 1.3.2006 Где: Россия Репутация: 5 Всего: 17 |
THandle,
Alexeis, спасибо. Проблема решена. Это сообщение отредактировал(а) former - 9.7.2009, 15:40 -------------------- Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами. |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
former, поскольку функция TextDecline не сохраняет строку, то делается так
Копия нужна только когда строка переданная в функцию где-то сохраняется. Мусор из-за того что ты не копируешь завершающий "0" Move(AnsiChar(ImCase[1]),s,Length(ImCase)); Move(AnsiChar(ImCase[1]),s,Length(ImCase) + 1); Добавлено через 2 минуты и 40 секунд PAnsiChar(ImCase), еще опасна тем что может содержать константную строку, в этом случае правильным будет использование @ImCase[1] , в данном случае SetLength(ImCase, 200); - выделит новую память под строку, после чего ее константность пропадет. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| former |
|
|||
![]() MEMS Expert ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1166 Регистрация: 1.3.2006 Где: Россия Репутация: 5 Всего: 17 |
Alexeis, дело все в том, что массив должен быть заведомо больше исходной строки (DLL писал не я).
Получалось следующее. При многократном использовании (подряд) появлялись лишние символы. Я решил эту проблему, используя
после каждого вызова. В передаваемом в DLL массиве последний элемент должен быть #0. Все равно, спасибо за помощь. + Это сообщение отредактировал(а) former - 9.7.2009, 17:41 -------------------- Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |