Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

PChar и String

286
07 марта 2008 года
misha_turist
572 / / 28.11.2005
Доброго времени суток!

У меня есть DLL и приложение.
Приложение общение между ними производится вызовом из приложения медодов DLL и получения ответа с помощью то же методов DLL.
Ответ представляет собой следующую структуру:
 
Код:
TMessege = record
                  id          : LongWord;  // код сообщения
                  messege     : PChar;     // текст сообщения
                  case typeMessege: TMessegeType of  //Тип сообщения
                  mtError     : (objectID : LongWord);
                  mtMessege   : ();
                  mtData      : (dataStremID : LongWord);
                 end;

Ну так вот часто получается ситуация, что текст в TMessege.messege обрезается и/или дополняется "краказяброй". А в триложении я соответственно работаю с ним как со string-ом.

Подскажите, в чём сообственно дело????

Выходные данные :
Цитата:

[FONT=MS Sans Serif][SIZE=1][COLOR=#008000]Начало загрузки ядра системы.[/COLOR][/SIZE][/FONT]
[FONT=MS Sans Serif][SIZE=1][COLOR=#008000]Реестр узловых точек загружен.[/COLOR][/SIZE][/FONT]
[FONT=MS Sans Serif][SIZE=1][COLOR=#008000]Реестр объектов мира загружен.[/COLOR][/SIZE][/FONT]
[FONT=MS Sans Serif][SIZE=1][COLOR=#008000]Ядро загружено в 07.03.2008.X /*должно было быть время*/[/COLOR][/SIZE][/FONT]
[FONT=MS Sans Serif][SIZE=1][COLOR=#008000]Начало выгрузки системы.[/COLOR][/SIZE][/FONT]
[FONT=MS Sans Serif][SIZE=1][COLOR=#008000]Реестр узловых точек загружен.[/COLOR][/SIZE][/FONT]
[FONT=MS Sans Serif][SIZE=1][COLOR=#008000]Реестр объектов мира загружен.[/COLOR][/SIZE][/FONT]
[FONT=MS Sans Serif][SIZE=1][COLOR=#008000]Ядро выгружено в 07.03.2008.а /*должно было быть время*/[/COLOR][/SIZE][/FONT]
[FONT=MS Sans Serif][SIZE=1][COLOR=#ff0000]Интерфейс 1000 не найденL[/COLOR][/SIZE][/FONT]
[FONT=MS Sans Serif][SIZE=1][COLOR=#ff0000]Интерфейс 1000 не найденL[/COLOR][/SIZE][/FONT]
[FONT=MS Sans Serif][SIZE=1][COLOR=#ff0000]Интерфейс 1000 не найденL[/COLOR][/SIZE][/FONT]
[FONT=MS Sans Serif][SIZE=1][COLOR=#008000]Начало загрузки ядра системы.[/COLOR][/SIZE][/FONT]
[FONT=MS Sans Serif][SIZE=1][COLOR=#008000]Реестр узловых точек загружен.[/COLOR][/SIZE][/FONT]
[FONT=MS Sans Serif][SIZE=1][COLOR=#008000]Реестр объектов мира загружен.[/COLOR][/SIZE][/FONT]
[FONT=MS Sans Serif][SIZE=1][COLOR=#008000]Ядро загружено в 07.03.2008.X /*должно было быть время*/[/COLOR][/SIZE][/FONT]
[FONT=MS Sans Serif][SIZE=1][COLOR=#ff0000]Интерфейс 1000 не найденё[/COLOR][/SIZE][/FONT]
[FONT=MS Sans Serif][SIZE=1][COLOR=#ff0000]Интерфейс 1000 не найден.[/COLOR][/SIZE][/FONT]
[FONT=MS Sans Serif][SIZE=1][COLOR=#ff0000]Интерфейс 1000 не найден.[/COLOR][/SIZE][/FONT]



Сзаранее спасибо!

5
07 марта 2008 года
hardcase
4.5K / / 09.08.2005
Работай со string-ами в обоих проектах - dll и exe, но к бинарникам закинь рядышком borlndmm.dll, кажется в uses-список первым модулем нужно было добавить еще какойто модуль (система подскажет в комментарии когда создаешь dll-проект).... не помню, а делфи на этой машине не стоит.
6
07 марта 2008 года
George
4.1K / / 05.01.2007
если я не ошибаюсь, надо подключить модуль ShareMem
5
07 марта 2008 года
hardcase
4.5K / / 09.08.2005
Цитата: Washington
ShareMem

Именно!

286
07 марта 2008 года
misha_turist
572 / / 28.11.2005
Это я знаю, но мне так сказать из спортивного интереса хочется без borlndmm.dll обойтись.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог