01.06.2005, 07:33 | #1 |
Участник
|
Как вызывать винапи функции?
Пробую так
winapi::copyFile( "c:\\work\\_cut_.txt", "c:\\work\\ax.txt",false ) ; Синтаксическая ошибка! |
|
01.06.2005, 07:39 | #2 |
Программатор
|
Странно..... Просто с форума строку скопировал вставил в любой метод - ошибок нет, предупреждений нет......
|
|
01.06.2005, 08:13 | #3 |
Участник
|
((
Может у меня ф-я както не так описанна?! Я хотел оформить как отдельный джобик, (это моя первая программа на АКСАРТА) попробовал вставить в форму тоже самое ошибка! Есть у кого нить идеи почему вылетает синтаксическая ошибка? static void TxtImport_(Args _args) { winapi::copyFile( "c:\\work\\_cut_.txt", "c:\\work\\ax.txt",false ) ; } |
|
01.06.2005, 08:32 | #4 |
Участник
|
Тоже выдало синтаксическую ошибку. Поставил ";" перед кодом (как бы отделил описание переменных от кода) и всё нормально заработало.
PHP код:
|
|
01.06.2005, 08:53 | #5 |
Участник
|
Точно! Заработало! Большое спасибо!!!! Сам бы не догадался!
Ещё попутно вопрос! МОЖНО ЛИ В АКСАПТЕ вызывать ВинАпи функции которые в ней не описаны!? Мне тут говорят что нельзя! Допустим мне надо вызвать OpenFile а в описании АХАРТА её нету как мне быть?! |
|
01.06.2005, 09:01 | #6 |
Программатор
|
Написать поновой!!!
|
|
01.06.2005, 09:43 | #7 |
Участник
|
Цитата:
Изначально опубликовано woland666
Ещё попутно вопрос! МОЖНО ЛИ В АКСАПТЕ вызывать ВинАпи функции которые в ней не описаны!? Мне тут говорят что нельзя! Допустим мне надо вызвать OpenFile а в описании АХАРТА её нету как мне быть?! P.S. Хотя действительно, что не все функции API можно использовать (грузить) |
|
01.06.2005, 11:14 | #8 |
Участник
|
А можно пример где нибуть глянуть?
|
|
01.06.2005, 11:52 | #9 |
Участник
|
Два класс в AOT\Classes\ WINAPI и WINGDI плюс посмотреть их вызовы в forms\tutorial_* и не давно проскакивало http://www.axforum.info/forums/showt...ghlight=winapi
|
|
30.08.2006, 19:41 | #10 |
Moderator
|
WinAPI: элементарные операции с файлами и папками
Потребовалось тут файл переименовать программно, так запарился, искавши в классе WinAPI.
Не нашёл ничего лучшего, как воспользоваться методом WinAPI::moveFile. Метод применим и к файлам, и к папкам. Не имеет эффекта, если файл занят (открыт). Ошибки выполнения при этом, правда, не возникает. Проверить можно при помощи метода fileLocked. Папка не переименовывается до тех пор, пока занят хотя бы один из файлов в ней содержащихся. Поскольку интуитивно-визуально методы в этом классе в АОТ ищутся раздражающе затруднительно, привожу названия некоторых других полезных методов - может, кому-нибудь пригодится: для файлов - createFile, fileExists, deleteFile для папок - createDirectory, folderExists, removeDirectory Ну и, конечно, обсуждаемый в начале этой ветки copyFile. Если кто-нибудь знает более элегантный способ переименования файла - с удовольствием восприму. Спасибо. |
|
30.08.2006, 20:59 | #11 |
Участник
|
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 |
MCTS
|
Цитата:
Сообщение от BVN
P.S. Хотя действительно, что не все функции API можно использовать (грузить)
__________________
В глухомани, в лесу Несмотря на красу Дни проводит Лиса Патрикевна. Я никак не пойму Отчего, почему Не пускают куму На деревню |
|
31.08.2006, 11:37 | #13 |
Участник
|
Не знаю, что имел в виду BVN, но нельзя использовать функции, использующие callback
PS Тавтология получилась. Ну вы поняли
__________________
Axapta v.3.0 sp5 kr2 Последний раз редактировалось AndyD; 31.08.2006 в 11:48. |
|