TMessege = record
id : LongWord; // код сообщения
messege : PChar; // текст сообщения
case typeMessege: TMessegeType of //Тип сообщения
mtError : (objectID : LongWord);
mtMessege : ();
mtData : (dataStremID : LongWord);
end;
PChar и String
У меня есть DLL и приложение.
Приложение общение между ними производится вызовом из приложения медодов DLL и получения ответа с помощью то же методов DLL.
Ответ представляет собой следующую структуру:
Код:
Ну так вот часто получается ситуация, что текст в 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]
Сзаранее спасибо!
Работай со string-ами в обоих проектах - dll и exe, но к бинарникам закинь рядышком borlndmm.dll, кажется в uses-список первым модулем нужно было добавить еще какойто модуль (система подскажет в комментарии когда создаешь dll-проект).... не помню, а делфи на этой машине не стоит.
если я не ошибаюсь, надо подключить модуль ShareMem
Цитата: Washington
ShareMem
Именно!
Это я знаю, но мне так сказать из спортивного интереса хочется без borlndmm.dll обойтись.