Страница 1 из 2

ExcelLib.dll

Добавлено: 01 окт 2003, 13:00
GTHack
Помогите разобраться !
Имеем
Галактика 5.73
ExcelFun.Inc
ExcelLib.dll 107008 байт
EXCEL.INC

в ExcelFun.Inc

Function XLSTWRITETOMATRIX(longint, longint, string) : boolean; external 'ExcelLib.dll';

Function XLDOWRITETOMATRIX(longint, longint, double) : boolean; external 'ExcelLib.dll';

смотрел ExcelLib.dll по F4 - там только
XLWriteToMatrix

ну ессно в процессе компиляции проектика с использованием вышеперечисленных фалов и функций - ругается на отсутствие этих ф-ий в dll-ке.

Re: ExcelLib.dll

Добавлено: 01 окт 2003, 13:48
m0p3e
Обрати внимание на RegExcel.dll еще.
У меня
RegExcel.dll 974049 от 13.08.02
ExcelLib.dll 107008 от 13.08.02

Re: ExcelLib.dll

Добавлено: 01 окт 2003, 14:00
GTHack
dll такие же размером
кстати если на excellib.dll ссылка в ExcelFun.Inc то как RegExcel.dll цепляется ?

Re: ExcelLib.dll

Добавлено: 02 окт 2003, 08:53
edward_K
выдержка из ExcelLib.dll
эт правда от 585.
XLSTWRITETOMATRIX такой нет
есть XLWRITETOMATRIX и XLWRITEMATRIXTOEXCEL
смотри внимательней
ExcelLib.dll GETDECIMALSEPARATOR GETTHOUSANDSEPARATOR SHORTSTRTODOS SHORTSTRTOWIN XLADDCOMMENT XLADDCOMMENTSHORT XLADDINSINSTAL XLADDSHEET XLALIGNCELLS XLALIGNCELLSEX XLAUTOFIT XLCLEARMATRIX XLCLEARRANGECOMMENTS XLCLEARRANGECONTENTS XLCLEARRANGEFORMATS XLCLOSEWORKBOOK XLCLOSEWORKBOOKBYNAME XLCOPYEXTFORMAT XLCOPYTOBUFF XLCREATEEXCEL XLCREATEEXCELWITHTEMPLATE XLCREATEMATRIX XLDELETERANGE XLDELETESHEET XLDELETESHEETBYNAME XLDELRANGEBYNAME XLDELRANGEBYNAMEINBOOK XLDISPLAYALERTS XLFRAMECELLS XLFREEMATRIX XLFREEZE XLGETACTIVEWORKBOOKNAME XLGETCELLDOVALUE XLGETCELLLOVALUE XLGETCELLSTVALUE XLGETCELLVALUE XLGETINDNAME XLGETINDNAMEINBOOK XLGETLASTERROR XLGETRANGEBYNAME XLGETRANGEBYNAMEINBOOK XLGETSHEETNAME XLGETSHEETSCOUNT XLGETUSEDRANGE XLGETWORKBOOKSCOUNT XLIMPORTMODULE XLINSERTRANGE XLISEXCELVALID XLKILLEXCEL XLMERGECELLS XLOPENEXCEL XLOPENNEWEXCEL XLOPENWORKBOOK XLPASTEALLFROMBUFF XLPASTEFORMATFROMBUFF XLREADFROMMATRIX XLREADMATRIXFROMEXCEL XLRUNMACRO XLSAVEASWORKBOOK XLSAVEASWORKBOOKBYNAME XLSAVEWORKBOOK XLSAVEWORKBOOKBYNAME XLSETACTIVESHEET XLSETACTIVESHEETBYNAME XLSETACTIVEWORKBOOK XLSETACTIVEWORKBOOKBYNAME XLSETBACKCOLOR XLSETCELLFORMULA XLSETCELLNUMBERVALUE XLSETCELLSTRINGVALUE XLSETCELLVALUE XLSETCOLUMNWIDTH XLSETFONTCOLOR XLSETFONTSIZE XLSETFONTSTYLE XLSETNUMBERFORMAT XLSETRANGENAME XLSETRANGENAMEINBOOK XLSETROWHEIGHT XLSETSHEETNAME XLSHRINKCELLS XLUNFREEZE XLWRAPTEXT XLWRITEMATRIXTOEXCEL XLWRITETOMATRIX XL_GETACTIVEWORKBOOKNAME XL_GETCELLSTVALUE XL_GETSHEETNAME
:)

Re: ExcelLib.dll

Добавлено: 06 окт 2003, 09:49
GTHack
цитирую себя же
>смотрел ExcelLib.dll по F4 - там только
>XLWriteToMatrix

как к ней обратиться то ?

на XLWRITETOMATRIX
говорит не описана (на самом деле в ExcelFun.Inc нет описания этой ф-ии)
а на XLSTWRITETOMATRIX и XLDOWRITETOMATRIX говорит - нет в DLL (что не есть ложь).

Re: ExcelLib.dll

Добавлено: 06 окт 2003, 12:41
m0p3e
А ты их проекте опиши:
Function XLCREATEMATRIX(longint, longint) : boolean; external;
Function XLCLEARMATRIX : boolean; external;
Function XLFREEMATRIX : boolean; external;
Function XLSTWRITETOMATRIX(longint, longint, string) : boolean; external;
Function XLDOWRITETOMATRIX(longint, longint, double) : boolean; external;
Function XLREADFROMMATRIX(longint, longint, var AnyType) : boolean; external;
Function XLWRITEMATRIXTOEXCEL(longint, longint) : boolean; external;
Function XLREADMATRIXFROMEXCEL(longint, longint, longint, longint) : boolean; external;

У тебя dll-ы не от той версии Галки. Чего ж ты хочешь?

Re: ExcelLib.dll

Добавлено: 06 окт 2003, 12:44
m0p3e
А ты их проекте опиши:
Function XLCREATEMATRIX(longint, longint) : boolean; external;
Function XLCLEARMATRIX : boolean; external;
Function XLFREEMATRIX : boolean; external;
Function XLSTWRITETOMATRIX(longint, longint, string) : boolean; external;
Function XLDOWRITETOMATRIX(longint, longint, double) : boolean; external;
Function XLREADFROMMATRIX(longint, longint, var AnyType) : boolean; external;
Function XLWRITEMATRIXTOEXCEL(longint, longint) : boolean; external;
Function XLREADMATRIXFROMEXCEL(longint, longint, longint, longint) : boolean; external;

У тебя dll-ы не от той версии Галки. Чего ж ты хочешь?

Re: ExcelLib.dll

Добавлено: 06 окт 2003, 13:10
GTHack
то что dll не от той версии это я знаю т.к. наскоко мне известно в 5.73 вообще их нет поэтому и подключаю внешнюю

в проекте у меня подключается ExcelFun.Inc в котором все это дело описано

......
Function XLSTWRITETOMATRIX(longint, longint, string) : boolean; external 'ExcelLib.dll';
Function XLDOWRITETOMATRIX(longint, longint, double) : boolean; external 'ExcelLib.dll';
.......

прикол как раз в том что их в ExcelLib.dll вроде как нет а есть XLWRITETOMATRIX - получается мне именно XLWRITETOMATRIX надо описывать в проекте ?
как тогда ей пользоваться ?

может чего с REGEXCEL.DLL делать ?

P.S. другие матричные ф-ии вроде работают

Re: ExcelLib.dll

Добавлено: 06 окт 2003, 13:29
edward_K
regexcel это так для регистрации на pas.
должно и так прокатить. просто в версии 582 и выше не нужно указывать что функции лежат в такой то dll - galnet.exe сам найдет по regexcel.
тока не надо использовать те функции которых нет в твоей DLL.
xlstwritetomatrix и в доке не описана !!!
есть файлик то Excel.doc?
там вроде все подробно расписано - что с чем кушать.
попробуй для начала с этим примерчиком повозись - эт из доки - медленно зато надежно.
var XlRes : boolean; XlRes := True;
XlRes := xlCreateExcel(('MyBook.xls'), True);
XlRes := xlIsExcelValid;
Do
{
if (not XlRes) Break;

var sSheetName : string;
sSheetName := 'My sheet';
ExRes := xlAddSheet; if (not XlRes) Break;
ExRes := xlSetSheetName(1, sSheetName); if (not XlRes) Break;
ExRes := xlSetActiveSheetByName(sSheetName); if (not XlRes) Break;
ExRes := xlSetCellStringValue('Hello word!!', 2, 2, 2, 2); if (not XlRes) Break;
ExRes := xlSetFontSize(14, 2, 2, 2, 2); if (not XlRes) Break;
ExRes := xlSetFontStyle(xlItalic or xlUnderline, 2, 2, 2, 2); if (not XlRes) Break;

}
while False;
xlKillExcel;

Re: ExcelLib.dll

Добавлено: 06 окт 2003, 15:08
GTHack
а че с ним возится то ?
примерчик этот у меня работает !
да и многие другие работают !
запарка возникла именно с вариантными массивами ! - началось с того, что у меня появился примерчик работающий на версии 5.82 с использованием xlSTWriteToMatrix который я и захотел посмотреть в работе на 5.73 - при компиляции возникла ошибка - отсутствие описанных функций в dll тогда получается либо у меня косяковая dll (что не подтвердилось) либо .... ???

в доке есть описание только xlWriteToMatrix,
но как её объявить ?

вот как я все собираю в кучу -

exel.prj
#INCLUDE excelfun.inc;
#make 'exel.vip'



ExcelFun.Inc
как раз содежит описания ф-ий
......
Function XLSTWRITETOMATRIX(longint, longint, string) : boolean; external 'ExcelLib.dll';
Function XLDOWRITETOMATRIX(longint, longint, double) : boolean; external 'ExcelLib.dll';
........
(наскоко я понимаю судя по доке тут должно быть описание именно XLWRITETOMATRIX а не этих двух)


exel.vip
CONST
#INCLUDE excel.inc
END
........
сам фейс с вызовом вышеописанных функций
........

Re: ExcelLib.dll

Добавлено: 06 окт 2003, 15:17
GTHack
все - дошло
RegFun.pas
......
function XLSTWRITETOMATRIX(Row, Col : longint; Value : ShortString) : boolean;
begin
Result := PasExcel.xlWriteToMatrix(Row, Col, ShortStrToDos(Value))
end;
......


ответ крылся в REGEXCEL.DLL

как только это все на 5.73 зарегистрировать ????

Re: ExcelLib.dll

Добавлено: 06 окт 2003, 15:25
edward_K
скорей всего этот примерчик не к той версии Excellib.dll
а вообще то да,для файлов от 585(584)
Function XLSTWRITETOMATRIX(longint, longint, string) : boolean; external 'RegExcel.dll';
Function XLDOWRITETOMATRIX(longint, longint, double) : boolean; external 'RegExcel.dll';
Function XLREADFROMMATRIX(longint, longint, var AnyType) : boolean; external 'RegExcel.dll';
как в 582 не знаю - под рукой нет. :)
вроде раньше было не так.

Re: ExcelLib.dll

Добавлено: 07 окт 2003, 08:30
GTHack
чем дальше - тем интереснее

заменил в ExcelFun.Inc
........
Function XLSTWRITETOMATRIX(longint, longint, string) : boolean; external 'ExcelLib.dll';
Function XLDOWRITETOMATRIX(longint, longint, double) : boolean; external 'ExcelLib.dll';
Function XLREADFROMMATRIX(longint, longint, var AnyType) : boolean; external 'ExcelLib.dll';

на

Function XLSTWRITETOMATRIX(longint, longint, string) : boolean; external 'RegExcel.dll';
Function XLDOWRITETOMATRIX(longint, longint, double) : boolean; external 'RegExcel.dll';
Function XLREADFROMMATRIX(longint, longint, var AnyType) : boolean; external 'RegExcel.dll';

при компиляции пишет
заголовок:vip.exe - Точка входа не найдена
Содержание:Точка входа в процедуру BroadcastServerEvent не найдена в библиотеке DLL atlantis.rtl

при запуске то же самое но уже в galnet.exe,
а потом "ошибка загрузки regexel.dll"



короче видимо надо на 5.73 забросить это дело до обновления на более новую версию :(

Re: ExcelLib.dll

Добавлено: 07 окт 2003, 11:45
Max_Fin
Не мучайся, напиши свою библиотеку, например, на Дельфях :-)

Re: ExcelLib.dll

Добавлено: 07 окт 2003, 12:39
GTHack
не думаю, что при написании своей библиотеки меньше измучаюсь