Открытие КОМПАС

Автор Lemieux, 01.11.24, 16:38:52

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

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

Lemieux

Почему КОМПАС не запоминает состояние окна, а всегда загружается в развёрнутом виде?

PS У АСКОН есть хоть одно не корявое приложение?

feron

Этот вопрос стар как мир.

p3452

Цитата: feron от 01.11.24, 16:47:46Этот вопрос стар как мир.
"Спасение утопающих - дело рук самих утопающих"...
[DllImport("user32.dll", SetLastError = true)]
internal static extern bool MoveWindow(IntPtr hWnd, int X, int Y, int nWidth, int nHeight, bool bRepaint);
[DllImport("user32.dll")]
internal static extern bool ShowWindow(IntPtr hWnd, int Command);
...

feron

p3452, зачем так жить?

Хорошо, а как сохранять историю в окнах по выбору файлов ?

p3452

Цитата: feron от 01.11.24, 17:15:17а как сохранять историю в окнах по выбору файлов ?
"Море" вариантов - "на вкус и цвет..."...

feron

p3452, ну я бы посмотрел на пару Ваших вариантов работы с модальными окнами.

Как бы это море не стала каплей с гуся.

Не говоря о риске подцепить окно чужой программы.

p3452

feron, за "полетом" Ваших мыслей трудно угнаться :-)))
Цитата: feron от 01.11.24, 17:59:25я бы посмотрел на пару Ваших вариантов работы с модальными окнами.
Да пожалуйста: 
- в NET:
MessageBox.Show("Трали-вали, тили-тили...")- в API Компас:
kompas.ksMessage("...")

feron

p3452, я про это окно. Всегда открывает в мои документы, а не с места где я сохранил или открывал файлы. Как Вы получите это окно и убедитесь что оно от Компаса и вставите путь ?

Снимок1234.PNG

p3452

Цитата: feron от 01.11.24, 18:25:23Как Вы получите это окно и убедитесь что оно от Компаса и вставите путь ?
А с какого "перепуга", или "перепоя" у МЕНЯ, вдруг, возникнет ТАКАЯ задача?

1. Любые "окна", в любом количестве - программно...
2. Если уж так надо "завязаться" на КОМПАС-овское открытие фалов, то обработка событий КОМПАСа + см.п.1...

feron

#9
Цитата: p3452 от 01.11.24, 18:50:43А с какого "перепуга", или "перепоя" у МЕНЯ, вдруг, возникнет ТАКАЯ задача?
Может потому что Вы не единственный житель на планете ?

Цитата: p3452 от 01.11.24, 18:50:431. Любые "окна", в любом количестве - программно...
2. Если уж так надо "завязаться" на КОМПАС-овское открытие фалов, то обработка событий КОМПАСа + см.п.1...

Я так понимаю примера кода не будет ? Хорошо, понятно.

Ну со стороны АПИ это может быть не удобно но через события как Вы утверждаете я бы охотно посмотрел как отлавливаете окно выбора файла.

p3452

Цитата: feron от 01.11.24, 18:53:50я бы охотно посмотрел как отлавливаете окно выбора файла
Вы намекаете, на то, что хотели бы ;) , что бы я и дальше продолжал Вас уговаривать НЕ БИТЬСЯ ГОЛОВОЙ О СТЕНУ? :-))) :
- Зачем "отлавливать" окна Компас? (если, конечно Вы не гоняетесь за званием "хакер, взломавший Компас")

p/s: Обработку событий КОМПАС можете посмотреть в примерах SDK - EventsAuto, Step12.

UU

Цитата: feron от 01.11.24, 18:53:50Ну со стороны АПИ это может быть не удобно но через события как Вы утверждаете я бы охотно посмотрел как отлавливаете окно выбора файла.
ksKompasObjectNotify.BeginOpenFile - Начало открытия документа (до диалога выбора имени).

feron

Цитата: p3452 от 01.11.24, 19:16:45Вы намекаете, на то, что хотели бы

Я не в том плане что мне это нужно а в том плане что бы Вы сами пришли к своему битию об стену.
Задача как отловить модальное окно порождённое определенным процессом я знаю и дело не простое относительно, а то что Вы предлагаете запускать дополнительное приложение для слежения работы Компаса - это САДОМАЗО!

Постойте-ка, открыл SDK да нашел это событие и как теперь передать ему папку для открытия ??



UU

#13
Цитата: feron от 01.11.24, 19:49:43Постойте-ка, открыл SDK да нашел это событие и как теперь передать ему папку для открытия ??
ChoiceFile - Показать диалог и выбрать в нем имя файла для чтения.
ksChoiceFileAppointedDir - Выдать папку и выбрать имя файла для открытия.

feron

#14
Цитата: UU от 01.11.24, 19:54:15ChoiceFile - Показать диалог и выбрать в нем имя файла для чтения.

Так я не хочу файл я хочу папку открыть что бы в диалоге просматривать список файлов - у меня например работа по ситуации и мне нужно открывать одну и туже папку.
Как и писал ТС сохранение истории - особенно в диалогах это очень хорошо.

Не не то вроде - ну вот открыл
https://help.ascon.ru/KOMPAS_SDK/23/ru-RU/choicefile.html?q=ChoiceFile
где там указывать путь к папке для открытия ?

Аа, я так понимаю это уже решено старше 16 версии - все сохраняет историю  :embarrassed:


Lemieux

Цитата: feron от 01.11.24, 19:59:27Так я не хочу файл я хочу папку открыть что бы в диалоге просматривать список файлов - у меня например работа по ситуации и мне нужно открывать одну и туже папку.
Как и писал ТС сохранение истории - особенно в диалогах это очень хорошо.

Не не то вроде - ну вот открыл
https://help.ascon.ru/KOMPAS_SDK/23/ru-RU/choicefile.html?q=ChoiceFile
где там указывать путь к папке для открытия ?

Аа, я так понимаю это уже решено старше 16 версии - все сохраняет историю  :embarrassed:


В C# это делается с помощью nuget пакета WindowsAPICodePack. Там можно вызвать нативное окно выбора файлов и папок.
Хотя ваша беседа вообще не по теме. p3452 вообще странные советы даёт. Вам нужно идти работать в ТП АСКОН.

feron

Цитата: Lemieux от 01.11.24, 20:36:20В C# это делается с помощью nuget пакета WindowsAPICodePack. Там можно вызвать нативное окно выбора файлов и папок.

Да мне и ctypes/pywin32 хватает с головой да и не зачем мне это. я хетел узнать варит ли у него горшочек то, да не ночная база а горшочек..
Так он там и работает вроде как.

У меня просто старый Компас 14 и то редко запускаю 16. Компуктер не вытягивает.

feron

Или мне работать ? Так у UU отобрать его кусок хлеба ?  :-)))
UU, у меня есть заначка - на пиво откладывал но думаю Вам скинуть так сказать когда утилиты выйдут в тираж - вернете.

UU

Цитата: feron от 01.11.24, 21:21:36Или мне работать ? Так у UU отобрать его кусок хлеба ?  :-)))
UU, у меня есть заначка - на пиво откладывал но думаю Вам скинуть так сказать когда утилиты выйдут в тираж - вернете.
Работайте.

feron

Цитата: UU от 01.11.24, 21:27:36Работайте.

 :-)))  А есть выбор? Приходится. Но диск на 22 ТБ я брал за 35к а щас он вырос аж 65к куда такие цены ?

цель купить их 4 штуки. плюс специальный бокс или проще материнку сменить а под сокет 1151 уже не проадется жесть одна.