Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.08.28;
Скачать: [xml.tar.bz2];

Вниз

Необходимо вызвать из DLL функцию вызова Excell   Найти похожие ветки 

 
ganda ©   (2005-08-09 08:37) [0]

Добрый день!

Необходимо вызвать из DLL функцию вызова Excel и передачи данных в ячейку, если можно будет предоставить не большой модуль реализации данной проблемы.

Благодарю за Внимание!


 
evvcom ©   (2005-08-09 09:03) [1]

А другие ветки по форуму влом посмотреть? Например, это http://delphimaster.net/view/3-1123057899/


 
ganda ©   (2005-08-09 09:51) [2]

Спасибо за совет,  но это не то что я хотел. Из Delphi все без проблем. Необходимо создать функцию именно в новой DLL которая бы все это дело делала. Ситуация следущия в среде программирование в которой работаю нет поддержки языка OBJECT PASCAL хотя он схож с ним, поэтому нужно экспортировать из DLL


 
Думкин ©   (2005-08-09 09:54) [3]

> ganda ©   (09.08.05 09:51) [2]

А можно по русски и медленнее? В чем именно задача - по шагам.


 
ganda ©   (2005-08-09 09:59) [4]

1. Создать Excel.
2. Передача данных в ячейки созданого объекта
Эти 2 задачи необходимо делать непосредственно в DLL


 
isasa ©   (2005-08-09 10:30) [5]

А в чем проблема.
Создаем интерфейс

var appExc: OleVariant;
...........
appExc := CreateOleObject("Excel.Application");
........
и далее как обычно, только делаем в библиотеке.

Если предполагается вызов функций из Excel то тоже,
как обычно, только не забыть stdcall и то, что, integer в Excel VB - 16bit.


 
evvcom ©   (2005-08-09 10:39) [6]


> Необходимо создать функцию именно в новой DLL которая бы
> все это дело делала.

Ну так создай. Я что должен угадать в какой среде ты собираешься писать свою dll?

> Создать Excel

Это уже за тебя создали программисты Microsoft.


 
Думкин ©   (2005-08-09 10:39) [7]

> Ситуация следущия в среде программирование в которой работаю
> нет поддержки языка OBJECT PASCAL хотя он схож с ним,

А эта среда работает с интерфейсами?


 
ganda ©   (2005-08-09 10:45) [8]

Возникла следущая проблема, выдается следущая ошибка "Не был произведен вызов COINITIALIZA"


 
ganda ©   (2005-08-09 10:56) [9]

нет среда не работает с интерфейсами,
поэтому все что связано с внешними приложения экспорта и импорта в форматы WORD,EXCEL,DB  и т.д.
(кроме текстового формата, СИСТЕМА Называется "ДБО -BS Client ") приходится писать в DLL.


 
Amoeba ©   (2005-08-09 11:00) [10]


> ganda ©   (09.08.05 10:45) [8]
> Возникла следущая проблема, выдается следущая ошибка "Не
> был произведен вызов COINITIALIZA"

Ну так пропиши в начале CoInitialize, а по завершении CoUninitialize


 
ganda ©   (2005-08-09 11:22) [11]

Блин ламерский вопрос, где это все дело прописывать
в DLL если да то будь добр под скажи.
DLL создается в Delphi, но её реализация выглядит как вызов процедуры/функция.


 
isasa ©   (2005-08-09 11:38) [12]

Если 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 12:09) [13]

Если можно будет более полный модуль Пожалуйста


 
TUser ©   (2005-08-09 12:37) [14]

Среда - FreePascal?


 
ganda ©   (2005-08-09 12:48) [15]

в какой среде все это дело вызывается все равно главное что бы модуль был сделан в динамической билиотеки, если знаем язык BSSript, то буду не против узнать как можно из неё вызвать Excel  и занести в её ячейку данные.


 
alex_***   (2005-08-09 13:38) [16]

Если эта среда умеет работать с COM объектами, то вперед. Если нет, то цепляй DLL


 
ganda ©   (2005-08-09 13:49) [17]

Да не работает в этой среде СОМ объекты, одни только DLL что в них напишеш то и будет работать.


 
Alexander Panov ©   (2005-08-09 14:09) [18]

ganda ©   (09.08.05 12:48) [15]
если знаем язык BSSript,


Не проще одратиться в БанкСофтСистемс по поводу языка скриптов?

В постинге [12] тебе написали, как вызвать Coinitialize.


 
evvcom ©   (2005-08-09 17:25) [19]


> ganda ©   (09.08.05 13:49) [17]

Если ты хочешь получить совет как написать то или это в Delphi, то так и спрашивай, а не мути с какими-то еще непонятными средами, неизвестными никому или подавляющему большинству. Если для тебя не составляет труда прицепить dll, то реализуй в dll пример из [1] и не морочь никому голову.


 
isasa ©   (2005-08-09 20:57) [20]

>Если можно будет более полный модуль Пожалуйста

так вроде все, остальное пишешь сам, там где ...

exports
....



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

Форум: "Основная";
Текущий архив: 2005.08.28;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.04 c
14-1122964176
Ega23
2005-08-02 10:29
2005.08.28
Лицензия на Oracle


4-1120681463
ronyn
2005-07-07 00:24
2005.08.28
Как минимизировать программу в панель задач?


14-1123314339
Alex Konshin
2005-08-06 11:45
2005.08.28
Электронные географические карты мира


4-1120281673
Lex_!
2005-07-02 09:21
2005.08.28
SpeechApi - не говорит по русски


8-1113715157
dr Tr0jan
2005-04-17 09:19
2005.08.28
Построение дуги между двумя точками





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский