Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сервер приложений [D6]


Alex_Sudakov ©   (2002-11-18 11:06:00) 

Подскажите, где в инете почитать на тему создания сервера приложений на Delphi 6.


asmith   (2002-11-19 18:44:00) [1]

Вот вполне работающий код:
1. На сервере приложений описан метод
function GetRecordset(const ConnectionString,QueryString: WideString): OleVariant; safecall;
2. Реализован так:
function TSQLAccessDriver.GetRecordset(const ConnectionString,QueryString: WideString): OleVariant;
var
Data : Recordset;
begin
Data := CoRecordset.Create;
try
//Open recordset
Data.CursorLocation := adUseClient;
Data.Open(QueryString, ConnectionString, adOpenKeyset, adLockBatchOptimistic, adCmdText);
// Disconnect from the database
Data.Set_ActiveConnection(nil);
Result := Data;
finally
Data := nil;
end;
end;
Здесь работа с ланными идет через ADO, но компоненты не используются - работаем прямо с ADO-интерфейсами.
3. В клиенте на форме связка TDBGrid-TDataSource-TADOTable, читаем рекордсет:
var
strHostName : string;
szSQL : WideString;
szConn : WideString;
srv : IDataAccessManager;
...
try
strHostName := "bla-bla";
szConn := "bla-bla";
szSQL := "select * from bla-bla";
srv := CoDataAccessManager.CreateRemote(strHostName);
ADOTable1.Recordset := IUnknown(rec.GetData(szConn, szSQL)) as _Recordset;
finally
srv := nil;
end;
...
Все.


Alex_Sudakov   (2002-11-19 10:45:00) [2]

Сделал. Вот только при попытке установить connect=true, сервер виснет напрочь...:(


stone   (2002-11-18 15:09:00) [3]

Alex_Sudakov © (18.11.02 14:40)

> DataSetProvider, но вот как его в интерфейс засунуть


в DataModule сервера приложений
а в клиенте Connection и ClientDataSet


Romkin   (2002-11-18 15:04:00) [4]

http://delphi.mastak.ru/articles/midas2/index.html
и тому подобное


Alex_Sudakov   (2002-11-18 15:02:00) [5]

Хочется увидеть пример, не более...


Opuhshii   (2002-11-18 14:52:00) [6]

IAppServer,.. + есть статья о мидас здесь...

"там голая теория. А ее я уже знаю...", а вам что нужно? компонент TCoolProgramWhatIWish?,..


Alex_Sudakov   (2002-11-18 14:40:00) [7]

Смысл в том, что надо из этого сервера на запрос (вызов метода), возвращать DataSet(к примеру). Как это сделать? Нашел таку вещь, как DataSetProvider, но вот как его в интерфейс засунуть... Что б на удаленной машине можно было сделать примерно так:


...
Obj:=CreateOLEObject("MyServer.MyObject");
DataSet:=Obj.GetDataSet;
...


stone   (2002-11-18 13:35:00) [8]

а что тебя конкретно интересует, я как раз этим занимаюсь


Alex_Sudakov   (2002-11-18 13:29:00) [9]

На счет compress.ru - там голая теория. А ее я уже знаю...:)


Alex_Sudakov   (2002-11-18 13:27:00) [10]

2Олег: Ага. Только вопросы лучше в мыло...:)


stone   (2002-11-18 13:23:00) [11]

www.compress.ru
журнал компьютер-пресс
там были статьи на эту тему

я слышал ты в старую команду "а-ля Капитоныч" вернулся


Alex_Sudakov   (2002-11-18 13:21:00) [12]

Сервер приложений - в смысле сервер приложений. COM приложение, у которого есть свойства и методы, и доступное с другой машины.
ЗЫ Интересует в конечном счете DCOM.
ЗЗЫ Есть великолепная статья Натальи Елмановой "Создание сервера приложений в Delphi 3", но она ксожалению уже не актуальна... Так что хочется что-нить вроде, но для D6-7.


han_malign   (2002-11-18 13:13:00) [13]

В каком смысле сервер приложений(монитор что ли), и при чем здесь версия Delphi?


Alex_Sudakov   (2002-11-18 13:05:00) [14]

Люди! Эй! Есть тут кто-нить? :)


Alex_Sudakov   (2002-11-18 11:27:00) [15]

А лучше даже если под D7 :)


Наверх

Титульная страница Поиск, карта сайта Написать письмо