Замена стартового диалога и истории последних файлов в Кореле12/X3

  • Автор темы Автор темы wOxxOm
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
Ответ: Замена стартового диалога и истории последних файлов в Кореле12/X3

knower сказал(а):
А куда испарили параметр "autoclose"?
Автоминимизация - это совсем не то...
Вызвал по горячке - выполнил, что хотел - он сам и закрылся. Зачем его запущенным оставлять-то? Пусть и свёрнутым.

PS. Доброе утро :)
Ничего не понял, как это испарили? у меня все есть, пожалуйста скриншот
 
Ответ: Замена стартового диалога и истории последних файлов в Кореле12/X3

Пардон, всё нашлось...
Это я с утра кофе не выпил.;)
 
Ответ: Замена стартового диалога и истории последних файлов в Кореле12/X3

Однако...
После выбора русского, через некоторое время при старте корела получил:Run-time error 91

Ошибка: LFav.SelectedItem.Selected = False

в строке:
Set li = LFav.FindItem(curFolder)
If Not li Is Nothing Then li.Selected = True Else LFav.SelectedItem.Selected = False
LFav.Refresh
После чего Корел закрывается нафиг.
Попытки запустить его заново закончились неудачно.
Только удалив скрипт.
 
Ответ: Замена стартового диалога и истории последних файлов в Кореле12/X3

knower сказал(а):
Однако...
После выбора русского, через некоторое время при старте корела получил:Run-time error 91

Ошибка: LFav.SelectedItem.Selected = False

в строке:
Set li = LFav.FindItem(curFolder)
If Not li Is Nothing Then li.Selected = True Else LFav.SelectedItem.Selected = False
LFav.Refresh
После чего Корел закрывается нафиг.
Попытки запустить его заново закончились неудачно.
Только удалив скрипт.

ты ж по аське уже скидывал - зачем еще раз - я не тормоз, уже сделал, вечером подожду еще что свалится, выложу новую
 
Ответ: Замена стартового диалога и истории последних файлов в Кореле12/X3

Я по аське ничего не скидывал. Ошибся ты. У меня и аськи-то сейчас нет...:)
 
Ответ: Замена стартового диалога и истории последних файлов в Кореле12/X3

Железобетонный C.A.R.M. при выходе из Корела после записи макроса в соответствующую папку. Попробовал предыдущую версию - железобетонный CARM. Чтобы все-таки попробовать увидеть коды, удалил макрос и включил высокий приоритет безопасности отключив доверие установленным гмс модулям. Достиг цели.

Но чинить самому нет времени да и у меня такое уже есть - только на VB, то есть, не такое, а версионный контроль в смысле.

Корел 12, язык английский, сп1; ВинХП СП2. Microsoft Windows Common Controls 6.0 (SP6) - CARM!
 
Ответ: Замена стартового диалога и истории последних файлов в Кореле12/X3

dris сказал(а):
Железобетонный C.A.R.M. при выходе из Корела после записи макроса в соответствующую папку. Попробовал предыдущую версию - железобетонный CARM. Чтобы все-таки попробовать увидеть коды, удалил макрос и включил высокий приоритет безопасности отключив доверие установленным гмс модулям. Достиг цели.

Но чинить самому нет времени да и у меня такое уже есть - только на VB, то есть, не такое, а версионный контроль в смысле.

Корел 12, язык английский, сп1; ВинХП СП2. Microsoft Windows Common Controls 6.0 (SP6) - CARM!
прости, ничего не понял, такого не видел, ни у кого пока не было, исправить смогу если будет какое-то подробное описание. Уверен, что удобнее писать на мыло, чтоб не забивать трудным решением единичного случая форум

у меня: Cdr12, sp1, en, XPsp2en
MSCOMCTL.OCX 6.01.9786 1*071*088 bytes - этот используется
comctl32.ocx 6.00.8105 608*448 bytes - это на всякий случай
SHELL32.DLL 6.00.2900.2763 (xpsp_sp2_gdr.050922-1642) - этот используется
GdiPlus.dll 5.1.3097.0 (xpclient.010817-1148) - этот нужен, лежит в C:\XP\WinSxS\x86_Microsoft.Windows.GdiPlus_......


кстати там мелкие исправления по языку и еще теперь при удалении файлов из результатов поиска в файловой панели список найденного остается активным http://recent.tekcities.com/recentfiles/recentLNG--May22.zip
 
Ответ: Замена стартового диалога и истории последних файлов в Кореле12/X3

Вообще мне интересно было посмотреть готовенькие коды для тумборезов - мотивов самому разбираться нет, я думал запаролено - нет, отлично! Но, как говорят, был в шоке, когда увидел этот код-лапшу. Не сомневаюсь - работает (хотя у меня не запускается), но возможностей развиваться не дает.

Почему бы не делать классическим способом? - Создается нужное количество типов переменных (полей) в соответствии с известной структурой данных - прочитали одну запись, взяли нужные данные из определенных полей - читаем следующую структуру, и так пока не доберемся до цели. Например:

Код:
Private Type PSDHEADER
  Signature as Long
  Version as Integer
  Reserved(0 to 5) as Byte
  Channels as Integer
  Rows as Long
  Columns as Long
  Depth as Integer
  Mode as Integer
End Type

Private Sub getPSDheader(FileNamePSD as String)
Dim psdHdr as PSDHEADER

   hFile = FreeFile()
   Open FileNamePSD For Binary Access Read Lock Write As #hFile
   
   ' Get the header table
   Get #hFile, 1, psdHdr

   Debug.Print psdHdr.Mode
   Debug.Print ...

End Sub

... ну и так далее. Чисто, опрятно - можно взять еще массу инфы, поскольку ее получается изыток, и править легко и есть возможность к развитию, к эволюции программы. А в лапше вы все равно запутаетесь рано или поздно. :)
 
Ответ: Замена стартового диалога и истории последних файлов в Кореле12/X3

коды пишу за пять минут, лапша или нет, жаргона не знаю, переписать мне те же пять минут, органически не перевариваю бейсик, меня от него просто ТО**НИТ, при любой возможности использую winapi. Если ДЕЙСТВИТЕЛЬНО интересно, то перед таким странным вопросом, следует посмотреть на код вообще, если конкретно, то я имею ввиду постоянный контроль количества считанных байтов и также режим winapi SetErrorMode.
Ну я понимаю, что халява была бы удобнее если б была написана на доступном уровне

кстати, подозреваю отсутствие gdiplus, если так, то
ftp://ftp.imf.au.dk/pub/mks/folk/Tr...cf1df_1.0.2600.2180_x-ww_522f9f82/GdiPlus.dll
 
Ответ: Замена стартового диалога и истории последних файлов в Кореле12/X3

Я запустил, работает - закоментировал все event'ы Корела и запускаю форму. Судя по растворению при закрытии gdiplus на месте.

Код вообще я смотрел, и постоянный контроль считанных байтов вам нужен чтобы искать вхождение ключевых данных. То есть, там где метод Get в структуру автоматом выдал бы нужное поле и автоматом сместил указатель в ссылке на файл - вы по байтам перебираете. Я сам так делал. Только не заморачивался апей и вообще бинарным доступом - читал через TextStream (FSO) нужное количество байтов в строку и ее ковырял. Ага. :) В общем, не важно - нравится вам так - дело ваше.

Я использую вот такой контролс для нафигации по ресурсам компа: http://ccrp.mvps.org/index.html?support/kb/ftvproperr.htm - крайне удобная штука и работает нормально. Можно настраивать его.

А спецификацию на кореловские файлы вы где почитали? Просто я, наверное не осилю реинженеринг ваших кодов, :) может быть подкините линчок?

Кстати, аналогично как у вас выпадает список опций, можно сделать имитацию меню, поскольку его в VBA не предусмотрено, и я припоминаю что и API'шные методы там невпротык. Система меню разко бы разгрузила интерфейс этой замечательной программы.
 
Ответ: Замена стартового диалога и истории последних файлов в Кореле12/X3

Дельное предложение, меню сейчас есть по правой кнопке, и вообщето я подумываю убрать кнопки с экрана ВСЕ ;-)
т.к. человек я неприхотливый и программа писана под нужды людей, в том числе и мои, то писалось все ОЧЕНЬ быстро, первая версия 1 апреля (!)- за пару часов, а потом все добавлялось, как я сказал по пять минут (или по нескольку часов, если было непонятно как обойти ограничения ВБА). Соответственно все спецификации брались из WinHex, ну а для tif/psd/jpeg слава Б. в нете полно.
Единственное о чем горюю, что не имея статуса кодера в Корел корп, не могу разгадать как хранятся превьюшки в CPT, пока что для меня это не так очевидно (используй WinHex побольше ;-) ) как например превьюха для CDR

А насчет TreeView, так есть оное и в стандартном mscomctl.ocx, но на форму я вставлять не буду, достаточно, на мой взгляд и виндовской навигации по папкам очень в редких случаях (можно ж просто добавить все что нужно в фавориты, гораздо удобнее, чем все что я видел в винде)
 
Ответ: Замена стартового диалога и истории последних файлов в Кореле12/X3

Это не TreeView, это FolderView - отдельный контролс.

Короче, вот в чем дело:

Код:
   hFile = CreateFile(getAppDataLocation(), GENERIC_READ, FILE_SHARE_READ Or FILE_SHARE_WRITE, _
      0, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0)

Потом идет проверка на True (-1), но похоже что до нее не доходит - валится в процессе выполнения апишной функции. То есть, не валится, а просто выпинывается из памяти вместо с Корелом. И "apiIgnoreErrors True" не спасают. Если файл есть - этот ini в профиле юзера, то работает прекрасно.
 
Ответ: Замена стартового диалога и истории последних файлов в Кореле12/X3

1. TreeView тоже отдельный контрол ;-)
2. что значит "похоже"? по F8 идешь дебагом и на этой строчке вываливается? чудеса в решете да и только...если действительно на этой, то посмотрю, иначе баг не мой, т.к. и при отсутсвии файла ini все пучком. У меня подозрение на Application.recentFiles, который в кореле выбивает наф при обращении к последнему (а возможно и к произвольному элементу...)
 
Ответ: Замена стартового диалога и истории последних файлов в Кореле12/X3

Отдельный в том смысле что это не тривью с иконками.

Какой дебаг? Блин, я Корел запускаю, он по ивенту start запускает макрос и нах обоих из памяти тут же. Чтобы отредактировать что-то - я удаляю макрос, захожу в Кореле в опции, отключаю доверие, закрываю, восстаналиваю маскрос (Ctrl+Z в проводнике), запускаю Корел - правлю. Потом повторяется.

Так вот, если закоментировать все ивенты, то есть, добиться запуска формы, то затем можно все раскоментировать и все будет работать. Известная ловушка.

И еще, чтобы чисто проверять, нужно каждый раз удалять из темпа папку VBE, куда Корел кладет скомпилированный файл.

В общем, меня альфа-тестинг заколеб, так что пойду теперь смотреть парсинг тубмов цдр-ов. :)
 
Ответ: Замена стартового диалога и истории последних файлов в Кореле12/X3

подскажу, может вместе решим: настройки автозапуска откл. в
[HKEY_CURRENT_USER\Software\VB and VBA Program Settings\CorelDRAW\RecentFilesEx]
"Startup" = "0" (reg_sz)
имея желание можно решить и этот трабл, кстати с лексикой на этом форуме поосторожнее, если хочешь неформала, давай в аську
 
Ответ: Замена стартового диалога и истории последних файлов в Кореле12/X3

wOxxOm сказал(а):
У меня подозрение на Application.recentFiles, который в кореле выбивает наф при обращении к последнему (а возможно и к произвольному элементу...)

Ха-ха, ну прикол а!

Код:
'   If files = "" Then _
      If Application.recentfiles.count > 0 Then _
         With Application.recentfiles(1): _
            files = .name + ">" + .Path + "<" + ListDateTime(Now): End With

Ну а если выбивает нахик это делать?

Я не помню с каких пор и почему, но в Recent Files у меня всегда пусто - даже если я открою кореловский документ, там ничего не появится. А я их через диалог открытия файлов уже фиг знает сколько не открываю - програ версионного контроля с базой данных mdb все открывает, пишет и проверяет.

Короче, я это баян закоментировал и все стало работать с колес. Примите к сведению.
 
Ответ: Замена стартового диалога и истории последних файлов в Кореле12/X3

когда я делал две недели назад, я ждал ну когда же у кого сбойнет, раз теперь дождался, то конечно выключу, рад что иглы целы, раз баяны побиты.
 
Ответ: Замена стартового диалога и истории последних файлов в Кореле12/X3

Так кто обновляется им-то ничего - в эту ветку они не попадают потому что files <> "" Но попадут если сотрут файл рисентов или все рисенты покиляют.

Я не очень понял почему у меня в Кореле нет списка последних файлов, хотя может я это в реестре отключил - у Корела там обширные настройки. Но, кажется это как-то связано с тем, что у меня в системе они вообще не фиксируются. Я это через редактор групповой политики вырубил, вместе с соответствующим пунктом в меню Start.

Попробуйте очистить системный журнал открытых документов - пропадут рисенты в кореле?
 
Ответ: Замена стартового диалога и истории последних файлов в Кореле12/X3

ты прикольный ;-) я вобщем с самого начала заподозрил любопытного до internals собрата. Я эту строчку тоже закоментил, щас она не работает, наверно отошлю на корел суппорт, в Х3 таж праблема. А мне уже неинтересно, *.* с ней, я добавил то эту строчку шоб люди не пужались видя пустое окно

кстати, вот тут подумалось, в PSD/TIF/JPEG/PDF нет простого формата как в BMP, так что проще всего выдирать только то что нужно и не дурить голову стилем. В нете я видел красивые примеры только на gdiplus, но не хочу от него сильно зависеть, у меня он только в одной процедуре, чуть что могу убрать. А все люди парсят psd/tif именно как это делаю я, я ж быстро пишу код не потому что быстро печатаю, а потому что опыт есть ;-)
 
Ответ: Замена стартового диалога и истории последних файлов в Кореле12/X3

Да с этими форматами я разберусь - на шопский у меня есть SDK, остальные открыты в сети. С кореловским не могу врубиться в ваши переплетения лапши (это такой термин). Где какая размерность поля, где какие смещения и адреса?.

Это ведь тоже предмет паблисити - грамотно написать и заварпить - народ сразу кинется юзать в своих програх и в кредитах упоминать.

Да любой местный вба-скриптер не откажется от класса которому на вход подаешь имя файла, а он возвращает ссылку на объект - растрик.

Но варпить то, что там сейчас есть - практически можно, но крайне негигиенично. :)
 
Статус
Закрыто для дальнейших ответов.