![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Процессы и сокеты [Win95/98]
balepa © (2006-03-10 09:13:00)При запросе от клиента на подключение нужно создать новый процесс и в этом процессе подключить этого клиента (Socket).
Polevi (2006-05-23 11:15:00) [1]Удалено модератором
Примечание: сообщения "не в тему" будут просто удаляться
begin...end (2006-05-23 10:25:00) [2]Удалено модератором
Polevi (2006-05-23 10:18:00) [3]Удалено модератором
begin...end (2006-05-23 10:05:00) [4]Удалено модератором
Polevi (2006-05-23 09:51:00) [5]Удалено модератором
SHAB (2006-05-22 12:10:00) [6]Удалено модератором
BiN (2006-03-10 13:19:00) [7]А сокеты между процессами можно передавать с помощью DuplicateHandle.
Сергей М. (2006-03-10 12:06:00) [8]
> буду "мучиться"
Творческих тебе узбеков !
balepa (2006-03-10 12:02:00) [9]Спасибо отключаюсь, буду "мучиться"
Сергей М. (2006-03-10 12:00:00) [10]
> Вызывать из OLE32.dll ?
Непосредственно из VB-программы - да, именно оттуда.
Сергей М. (2006-03-10 11:59:00) [11]
> Подключать надо что-то ?
Разумеется !
В дан.случае - юнит ActiveX, именно там декларирован этот идентификатор.
balepa (2006-03-10 11:58:00) [12]Вызывать из OLE32.dll ?
balepa (2006-03-10 11:54:00) [13]Попробовал выдает Undeclared identifier: 'CoInitialize'.Подключать надо что-то ? Заранее Спасибо.
Почитаю.
Сергей М. (2006-03-10 11:48:00) [14]
> в справке чето не нашел
Открываешь msdn.microsoft.com, водишь модель поиска "CoInitialize", получаешь информацию, изучаешь, делаешь выводы.
balepa (2006-03-10 11:42:00) [15]Огромное спасибо, за то что уделили мне время и отдельную благодарность за CoInitialize. Буду пробовать. А в справке чето не нашел но как говориться смотришь в книгу видиш фигу
Сергей М. (2006-03-10 11:37:00) [16]
> Не был произведен вызов CoInitialize как вызвать и что это
> такое
Чтоэто - про то можно почитать в станд.справке.
А вкратце следует сделать так:
CoInitialize(nil);
try
.. здесь работаем с OLE-объектом, начиная с его создания и вплоть до его уничтожения
finally
CoUninitialize;
end;
Сергей М. (2006-03-10 11:34:00) [17]
> ???
Что конкретно непонятно ?
> из DLL это заработает (всмысле откроется документ Excel)?
А куда оно денется !)
> если делать вот так ето будет правильно
Кое-что правильно, но многое требует серьезной доработки-переработки ..
> почему без него не работает Grafik
Что значит "не работает" ?
balepa (2006-03-10 11:33:00) [18]p.s. Без Synchronize. Не был произведен вызов CoInitialize как вызвать и что это такое
balepa (2006-03-10 11:29:00) [19]
> Ну так а о каком же вызове XL.Workbooks.Open может идти
> речь, если сам объект Application не был создан ?
???
Да я уже подумывал о полном переходе на Delphi. Тока переписывать не очень охота с VB на Delphi.
Думаете из DLL это заработает (всмысле откроется документ Excel)?
Как думаете если делать вот так ето будет правильно
> procedure TForm1.Button1Click(Sender: TObject);
> begin
> Thread:= MThread.Create(True);
> Thread.Priority:= tpLower;
> Thread.Resume;
> end;
Модуль потока
> procedure MTHread.Grafik;
> var
> s: string;
> Excel, Sheet: Variant;
> begin
> Excel:= CreateOleObject('Excel.Application.8');
> Excel.Visible := False;
> Excel.Workbooks.Open('c:\Мои документы\Книга1.xls');
> Sheet := Excel.Workbooks[1].WorkSheets[1];
> gs:= sheet.cells[1,1]; //[строка, столбец]
> Form1.Label1.Caption:= gs;
> Excel.Workbooks.Close;
> Excel.Quit;
> end;
> procedure MThread.Execute;
> var
> s: string;
> Excel, Sheet: Variant;
> begin
//без Synchronize не срабатывает
> Synchronize(grafik)
> end;
Где можно подробнее узнать что делает Synchronize (вроде надо вызывать при обращении к VCL, тогда почему без него не работает Grafik, или Excel тоже входит в VCL)
Сергей М. (2006-03-10 11:10:00) [20]
> дальше этой строчки п-ра не выполнялась
Ну так а о каком же вызове XL.Workbooks.Open может идти речь, если сам объект Application не был создан ?
И вообще я бы посоветовал обратиться со своей проблемой в какой-либо форум по VB .. Здесь все-таки Делфи-форум ..
Либо переноси нужную тебе функциональность (сокеты там или что-то еще) в DLL, написанную в Делфи, и вызывай из нее готовые ф-ции в своей VB-программе ... так и проще и разговор предметнее