AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.06.2005, 07:33   #1  
woland666 is offline
woland666
Участник
 
12 / 10 (1) +
Регистрация: 31.05.2005
? Как вызывать винапи функции?
Пробую так

winapi::copyFile( "c:\\work\\_cut_.txt", "c:\\work\\ax.txt",false ) ;
Синтаксическая ошибка!
Старый 01.06.2005, 07:39   #2  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
Странно..... Просто с форума строку скопировал вставил в любой метод - ошибок нет, предупреждений нет......
Старый 01.06.2005, 08:13   #3  
woland666 is offline
woland666
Участник
 
12 / 10 (1) +
Регистрация: 31.05.2005
((
Может у меня ф-я както не так описанна?! Я хотел оформить как отдельный джобик, (это моя первая программа на АКСАРТА) попробовал вставить в форму тоже самое ошибка! Есть у кого нить идеи почему вылетает синтаксическая ошибка?

static void TxtImport_(Args _args)
{
winapi::copyFile( "c:\\work\\_cut_.txt", "c:\\work\\ax.txt",false ) ;

}
Старый 01.06.2005, 08:32   #4  
bagyr is offline
bagyr
Участник
 
74 / 10 (1) +
Регистрация: 15.02.2005
Адрес: Томск
Тоже выдало синтаксическую ошибку. Поставил ";" перед кодом (как бы отделил описание переменных от кода) и всё нормально заработало.
PHP код:
static void Job4(Args _args)
{
    ;
    
winapi::copyFile"c:\\\temp\\\readme.txt""c:\\\temp\\\\ax.txt",false );

Старый 01.06.2005, 08:53   #5  
woland666 is offline
woland666
Участник
 
12 / 10 (1) +
Регистрация: 31.05.2005
Точно! Заработало! Большое спасибо!!!! Сам бы не догадался!

Ещё попутно вопрос! МОЖНО ЛИ В АКСАПТЕ вызывать ВинАпи функции которые в ней не описаны!? Мне тут говорят что нельзя!

Допустим мне надо вызвать OpenFile а в описании АХАРТА её нету как мне быть?!
Старый 01.06.2005, 09:01   #6  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
Написать поновой!!!
Старый 01.06.2005, 09:43   #7  
BVN is offline
BVN
Участник
 
88 / 13 (1) ++
Регистрация: 07.04.2005
Адрес: г. Королёв МО
Цитата:
Изначально опубликовано woland666
Ещё попутно вопрос! МОЖНО ЛИ В АКСАПТЕ вызывать ВинАпи функции которые в ней не описаны!? Мне тут говорят что нельзя!

Допустим мне надо вызвать OpenFile а в описании АХАРТА её нету как мне быть?!
Можно вызывать. Пример вызова это WINAPI,WINGDI -классы. Нужно только знать из какой DLL грузить и список параметров. С передачей параметров- геморойно.
P.S. Хотя действительно, что не все функции API можно использовать (грузить)
Старый 01.06.2005, 11:14   #8  
woland666 is offline
woland666
Участник
 
12 / 10 (1) +
Регистрация: 31.05.2005
А можно пример где нибуть глянуть?
Старый 01.06.2005, 11:52   #9  
BVN is offline
BVN
Участник
 
88 / 13 (1) ++
Регистрация: 07.04.2005
Адрес: г. Королёв МО
Два класс в AOT\Classes\ WINAPI и WINGDI плюс посмотреть их вызовы в forms\tutorial_* и не давно проскакивало http://www.axforum.info/forums/showt...ghlight=winapi
Старый 30.08.2006, 19:41   #10  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
WinAPI: элементарные операции с файлами и папками
Потребовалось тут файл переименовать программно, так запарился, искавши в классе WinAPI.

Не нашёл ничего лучшего, как воспользоваться методом WinAPI::moveFile. Метод применим и к файлам, и к папкам. Не имеет эффекта, если файл занят (открыт). Ошибки выполнения при этом, правда, не возникает. Проверить можно при помощи метода fileLocked. Папка не переименовывается до тех пор, пока занят хотя бы один из файлов в ней содержащихся.

Поскольку интуитивно-визуально методы в этом классе в АОТ ищутся раздражающе затруднительно, привожу названия некоторых других полезных методов - может, кому-нибудь пригодится:

для файлов - createFile, fileExists, deleteFile
для папок - createDirectory, folderExists, removeDirectory

Ну и, конечно, обсуждаемый в начале этой ветки copyFile.

Если кто-нибудь знает более элегантный способ переименования файла - с удовольствием восприму. Спасибо.
Старый 30.08.2006, 20:59   #11  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
MoveFile возвращает результат операции. Если возвращается 0, то функция выполнена без ошибок. В остальных случаях возвращается код ошибки
Например, если файл открыт другим процессом, то будет такая ошибка
X++:
#define.ERROR_SHARING_VIOLATION(32)
Если файл заблокирован, то ошибка такая
X++:
#define.ERROR_LOCK_VIOLATION(33)
Посмотреть список кодов можно здесь
System Error Codes

Вообще, использование этой функции, а также MoveFileEx() - это стандартный путь для переименования файлов. Отличие MoveFileEx() именно для переименования - она позволяет перезаписать уже существующий файл (с флагом #define.MOVEFILE_REPLACE_EXISTING(0x00000001))
__________________
Axapta v.3.0 sp5 kr2
За это сообщение автора поблагодарили: Gustav (3).
Старый 31.08.2006, 10:32   #12  
Russland is offline
Russland
MCTS
Аватар для Russland
MCBMSS
 
267 / 116 (4) +++++
Регистрация: 17.10.2005
Адрес: Донеччина, Україна
Цитата:
Сообщение от BVN
P.S. Хотя действительно, что не все функции API можно использовать (грузить)
Стало очень интересно: а какие функции таки не удалось обернуть?
__________________

В глухомани, в лесу Несмотря на красу Дни проводит Лиса Патрикевна. Я никак не пойму Отчего, почему Не пускают куму На деревню
Старый 31.08.2006, 11:37   #13  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Не знаю, что имел в виду BVN, но нельзя использовать функции, использующие callback

PS Тавтология получилась. Ну вы поняли
__________________
Axapta v.3.0 sp5 kr2

Последний раз редактировалось AndyD; 31.08.2006 в 11:48.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Аргументы функции Eldar9x DAX: Программирование 1 22.11.2006 22:49
Вызов экспортируемой функции DLL Jabberwocky DAX: Программирование 8 12.09.2006 17:20
при вызове функции из своей DLL, вылетает ошибка Delfins DAX: Программирование 9 07.03.2006 19:29
Выполнение функции "перенос начальных сальдо" в середине года SSM DAX: Функционал 2 21.07.2005 10:08
Есть ли функции работы со строками? kostas DAX: Программирование 2 13.05.2004 11:50
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 02:04.