![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Необходимо вызвать из DLL функцию вызова Excell [D6, D7, Win95/98, WinME, NT4, Win2k, WinXP]
ganda © (2005-08-09 08:37:00)Добрый день!
Необходимо вызвать из DLL функцию вызова Excel и передачи данных в ячейку, если можно будет предоставить не большой модуль реализации данной проблемы.
Благодарю за Внимание!
isasa (2005-08-09 20:57:00) [1]>Если можно будет более полный модуль Пожалуйста
так вроде все, остальное пишешь сам, там где ...
exports
....
evvcom (2005-08-09 17:25:00) [2]
> ganda © (09.08.05 13:49) [17]
Если ты хочешь получить совет как написать то или это в Delphi, то так и спрашивай, а не мути с какими-то еще непонятными средами, неизвестными никому или подавляющему большинству. Если для тебя не составляет труда прицепить dll, то реализуй в dll пример из [1] и не морочь никому голову.
Alexander Panov (2005-08-09 14:09:00) [3]ganda © (09.08.05 12:48) [15]
если знаем язык BSSript,
Не проще одратиться в БанкСофтСистемс по поводу языка скриптов?
В постинге [12] тебе написали, как вызвать Coinitialize.
ganda (2005-08-09 13:49:00) [4]Да не работает в этой среде СОМ объекты, одни только DLL что в них напишеш то и будет работать.
alex_*** (2005-08-09 13:38:00) [5]Если эта среда умеет работать с COM объектами, то вперед. Если нет, то цепляй DLL
ganda (2005-08-09 12:48:00) [6]в какой среде все это дело вызывается все равно главное что бы модуль был сделан в динамической билиотеки, если знаем язык BSSript, то буду не против узнать как можно из неё вызвать Excel и занести в её ячейку данные.
TUser (2005-08-09 12:37:00) [7]Среда - FreePascal?
ganda (2005-08-09 12:09:00) [8]Если можно будет более полный модуль Пожалуйста
isasa (2005-08-09 11:38:00) [9]Если CoInitialize(..) ( single-thread apartment(STA) ), то можно попробовать так:
library mylib;
procedure DLLEntryPoint(Reason: Word);
begin
case Reason of
DLL_PROCESS_ATTACH: CoInitialize(nil);
DLL_PROCESS_DETACH: CoUninitialize;
end;
end;
exports
....
begin
DLLProc:=@DLLEntryPoint;
DLLEntryPoint(DLL_PROCESS_ATTACH);
end.
ganda (2005-08-09 11:22:00) [10]Блин ламерский вопрос, где это все дело прописывать
в DLL если да то будь добр под скажи.
DLL создается в Delphi, но её реализация выглядит как вызов процедуры/функция.
Amoeba (2005-08-09 11:00:00) [11]
> ganda © (09.08.05 10:45) [8]
> Возникла следущая проблема, выдается следущая ошибка 'Не
> был произведен вызов COINITIALIZA'
Ну так пропиши в начале CoInitialize, а по завершении CoUninitialize
ganda (2005-08-09 10:56:00) [12]нет среда не работает с интерфейсами,
поэтому все что связано с внешними приложения экспорта и импорта в форматы WORD,EXCEL,DB и т.д.
(кроме текстового формата, СИСТЕМА Называется "ДБО -BS Client ") приходится писать в DLL.
ganda (2005-08-09 10:45:00) [13]Возникла следущая проблема, выдается следущая ошибка 'Не был произведен вызов COINITIALIZA'
Думкин (2005-08-09 10:39:00) [14]> Ситуация следущия в среде программирование в которой работаю
> нет поддержки языка OBJECT PASCAL хотя он схож с ним,
А эта среда работает с интерфейсами?
evvcom (2005-08-09 10:39:00) [15]
> Необходимо создать функцию именно в новой DLL которая бы
> все это дело делала.
Ну так создай. Я что должен угадать в какой среде ты собираешься писать свою dll?
> Создать Excel
Это уже за тебя создали программисты Microsoft.
isasa (2005-08-09 10:30:00) [16]А в чем проблема.
Создаем интерфейс
var appExc: OleVariant;
...........
appExc := CreateOleObject('Excel.Application');
........
и далее как обычно, только делаем в библиотеке.
Если предполагается вызов функций из Excel то тоже,
как обычно, только не забыть stdcall и то, что, integer в Excel VB - 16bit.
ganda (2005-08-09 09:59:00) [17]1. Создать Excel.
2. Передача данных в ячейки созданого объекта
Эти 2 задачи необходимо делать непосредственно в DLL
Думкин (2005-08-09 09:54:00) [18]> ganda © (09.08.05 09:51) [2]
А можно по русски и медленнее? В чем именно задача - по шагам.
ganda (2005-08-09 09:51:00) [19]Спасибо за совет, но это не то что я хотел. Из Delphi все без проблем. Необходимо создать функцию именно в новой DLL которая бы все это дело делала. Ситуация следущия в среде программирование в которой работаю нет поддержки языка OBJECT PASCAL хотя он схож с ним, поэтому нужно экспортировать из DLL
evvcom (2005-08-09 09:03:00) [20]А другие ветки по форуму влом посмотреть? Например, это http://www.delphimaster.ru/cgi-bin/forum.pl?n=1&id=1123057899&p=2