Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.16;
Скачать: CL | DM;

Вниз

TStringList и DCOM   Найти похожие ветки 

 
Maxim Pshevlotsky ©   (2003-06-03 08:48) [0]

Здравствуйте мастера! Проблема с TSTringList. В DCOM обьекте(Удаленный модуль данных) есть обьявление подпрограммы что-то типа

function ABC: TSTringList;
begin
Result:=TStringList.Create;
...
end;


Так вот, когда идет обращение к этому обьекту и передача параметров другому обьекту типа TStringList,то при обращении к этому другому обьекту возникает ошибка.


Почему такое происходит?


 
Skier ©   (2003-06-03 08:51) [1]

>Maxim Pshevlotsky
Насколько я помню, для работы со строками в COM, есть специальный
интерфейс IStrings


 
Goffman ©   (2003-06-03 09:06) [2]


> есть специальный
> интерфейс IStrings

Правда в d7 я его не нашел, поэтому пришлось через Variant


 
Skier ©   (2003-06-03 09:11) [3]

>Goffman © (03.06.03 09:06)

> Правда в d7 я его не нашел

Может быть...не знаю, но в вопросе стоит D6 :)


 
Maxim Pshevlotsky ©   (2003-06-03 09:12) [4]

Skier © (03.06.03 08:51)

IStrings есть, но он там какой-то видоизмененный, хранить там можно данные типа OleVariant - а он дорого обходится(в смысле экономии памяти).


 
Maxim Pshevlotsky ©   (2003-06-03 09:14) [5]

И еще там нельзя добавлять обьекты(AddObject)


 
Goffman ©   (2003-06-03 09:25) [6]


> вопросе стоит D6

Сорри, бес попутал


> он там какой-то видоизмененный

Видимо что-то борландовцев не устроило, и они решили отказаться от интерфейса, но как-то мягко:-)

Насчет экономии памяти, скорее всего данные из интерфеса передаются как Variant Array, т.е. пачкой, а не по одному, поэтому нет лишних расходов.

зы: Но это лишь мое мнение


 
Набережных С. ©   (2003-06-03 18:22) [7]

>Maxim Pshevlotsky © (03.06.03 09:12)
>Goffman © (03.06.03 09:25)

Фундаментальное правило COM:
Единожды опубликованный интерфейс НИКОГДА не может быть изменен.

>Maxim Pshevlotsky ©

Было бы странно, если бы ошибки не возникало.

>И еще там нельзя добавлять обьекты(AddObject)

А он там и не нужен, т.к. бессмысленен. Используй интерфейс.


 
Serginio   (2003-06-03 18:26) [8]

А про много поточность и синхронизацию не забыл???


 
Набережных С. ©   (2003-06-03 21:46) [9]

>Serginio (03.06.03 18:26)

Кто, я? Да вроде нет, не забыл. Только при чем здесь это?



Страницы: 1 вся ветка

Текущий архив: 2003.06.16;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.019 c
6-50418
Beerlover
2003-04-13 20:37
2003.06.16
UDP socket


14-50465
Дмитрий К.К.
2003-05-30 06:18
2003.06.16
Именинники 30 мая


3-50210
etem
2003-05-26 11:21
2003.06.16
Как выполнить связь к связи join ?


1-50370
Yus
2003-06-04 06:31
2003.06.16
Проблема со шрифтом


7-50546
Dabadabiabo
2003-04-11 11:24
2003.06.16
Убрать прогу с Трэя и ТаскБара при запуске