• Добро пожаловать на Форум пользователей ПО АСКОН. Пожалуйста, авторизуйтесь.
 

Уважаемые пользователи,

Хотим проинформировать вас о режиме работы регистрации на нашем сайте.

Зарегистрироваться возможно в рабочие дни, с 8:00 до 20:00 (мск).

Если у вас возникнут вопросы или потребуется дополнительная информация, не стесняйтесь обращаться к нашей службе поддержки. Вы можете связаться с нами по указанным контактным данным на нашем сайте.

Благодарим вас за понимание и сотрудничество. Мы ценим ваше терпение и стремимся предоставить вам лучший опыт использования нашего сервиса.

С уважением,
Команда Ascon

UpFileByld

Автор oracle, 10.03.09, 16:52:48

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

oracle

Доброго времени суток.
Подскажите, пожалуйста, как использовать функцию UpFileByld. Мне нужно прикрепить файл к созданному мной (программно) документу. Пишу на Делфи.

HResult UpFileById(

long inIdVersion,        // идентификатор версии

BSTR stFileName,        // название файла

BSTR stFullFilePath,        // относительный путь к файлу

Variant vaFileData,        // содержимое файла

DateTime dtDateOfCreate,        // дата создания файла

WordBool boDel,        // признак удаления файла

Variant * inReturnCode,        // код возврата

Variant * stErrorMessage,        // сообщение об ошибке

);

Первый параметр, как я понимаю, это идентификатор объекта(документа) к которому будет прикреплен файл. Я его получил так:

NewLinkIdDoc := RunMethod('InsertObject', [ParentType, ParentProduct,
                    ParentVersion, '3D-модель детали Inventor', ParentProduct, #32,
                    'Документы', 'Проектирование', false]);                                        //Создал документ к которому будет прикреплен файл

if NewLinkIdDoc <> 0 then begin
    with TClientDataSet.Create(nil) do
    try
      Data := RunMethod('GetInfoAboutLink', [NewLinkIdDoc, 2]);
      NewIdDoc := FieldByName('_ID_CHILD').AsInteger;                 //это и есть этот идентификатор версии, как я понял
    finally Free; end;
end;

Второй параметр название файла (например - string.ipt)

Третий параметр относительный путь к файлу (например - C:\Temp\string.ipt)

Четвертый параметр мне не очень понятен (как его можно получить??)

Пятый параметр дата создания файла. Я его получил так:

FileDateToDateTime(FileAge(FileName))

Шестой параметр в моем случае, как я понимаю, будет false.

Правильно ли я делаю и как получить 4 параметр?? Заранее спасибо.