Page 4 of 7

Posted: Sat Feb 26, 2011 11:50 pm
by FeyFre
Свои 5 коп., раз обо мне 2 раза упомянули:
1. Мои плаги не слушаются настройки языка Акела(не то что-бы специально, просто не делалось), но тем не менее поддерживают локализацию(рус/укр/англ)(кстати, не зависимо от битности): используется язык текущего потока, если таковой установлен(а Акелом он не устанавливается, потому используется язык локализации системы), а если это не один из рус/укр/англ - то тут как система укажет.
3. В Plugsx64 я положил плагин в общем то что-бы не делать копии архивов(так как это орг. момент не оговаривался вообще), если надо - буду ложить как скажете.

ЗЫ: кстати, а под IA64 юзеров не наблюдается случайно?

Posted: Sun Feb 27, 2011 5:48 am
by Instructor
FeyFre
3. Мне симпатичнее вариант с "Plugs64".

Posted: Mon Feb 28, 2011 10:20 am
by ab
FeyFre wrote: Не знаете часом какого-нибудь GUI-шного инструмента для работы с CVS? А то TortosieCVS как на зло ничего не умеет, коммандная строка и то лучше. Как посмотреть историю файла я так и не нашел, тем более получить визуальный diff.
был WinCVS. Правда проект похоже заглох лет 5 назад. http://sourceforge.net/projects/cvsgui/files/WinCvs/

Posted: Mon Feb 28, 2011 10:28 am
by FeyFre
ab
Спасибо, уже не актуально. С черепахой я немного разобрался и пока доволен.

Posted: Thu Mar 03, 2011 10:20 am
by VladSh
Такой вопрос..
На Win 7 x64 и этом скрипте:

Code: Select all

'========================   Описание   =====================================
' Циклическое разбиение окна с заданной очерёдностью
' http://akelpad.sourceforge.net/forum/viewtopic.php?p=11012#p11012
'========================  Параметры =====================================
'В параметрах вызова скрипта должен быть прописан один параметр:
' 1 - Переключение горизонтальное --> вертикальное --> четыре части
' 2 - Переключение вертикальное --> горизонтальное --> четыре части
' 3 - Переключение горизонтальное --> четыре части -> вертикальное
' 4 - Переключение вертикальное --> четыре части --> горизонтальное
' 5 - Переключение четыре части --> вертикальное --> горизонтальное
' 6 - Переключение четыре части -- > горизонтальное --> вертикальное
'
' Call("Scripts::Main", 1, "SwitchSplittedWindow.vbs", `"2"`) Icon("%a\AkelFiles\Plugs\ToolBarImage.dll", 632)		'работает по установленному порядку
' Call("Scripts::Main", 1, "SwitchSplittedWindow.vbs", `"4212"`) Icon("%a\AkelFiles\Plugs\Toolbar.dll", 22)		'просто разбивает закладку файла по номеру команды
'
' Автор:            Аверин Андрей & VladSh
' Версия:          1.5 (2011.01.06 - 2011.02.16)
' Mail:               Averin-And@yandex.ru
'===========================================================
Set oSet = AkelPad.ScriptSettings()

If WScript.Arguments.Count < 1 Then
	Param = 1		' если порядок не задан в аргументах, то по умолчанию работает 1-й вариант: гор -> верт -> 4 части
Else
	Param = CInt(WScript.Arguments(0))
End If

If Param <= 6 Then
	Select Case Param
		Case 1
			Call Switch(4214, 4213, 4212)
		Case 2
			Call Switch(4213, 4214, 4212)
		Case 3
			Call Switch(4214, 4212, 4213)
		Case 4
			Call Switch(4213, 4212, 4214)
		Case 5
			Call Switch(4212, 4213, 4214)
		Case 6
			Call Switch(4212, 4214, 4213)
	End Select
Else
	Call SplitWindow(Param)
End If


Sub Switch(n, m, k)
	Do
		Name = GetHandleCurrent()
		
		If Name = 0 Then
			Call SplitWindow(n)
			Call OptionWrite(GetHandleCurrent(), n)
		Else
			l = CInt(OptionRead(Name))
			Select Case l
			Case 0
				l = n
			Case n
				l = m
			Case m
				l = k
			Case k
				Call SplitWindow(4214)
				Call OptionDelete(Name)
				Exit Do
			End Select
			Call SplitWindow(l)
			Call SplitWindow(l)
			Call OptionWrite(Name, l)
		End If
		
		Exit Do
	Loop
	
	Call oSet.End()
End Sub

Function GetHandleCurrent()
	GetHandleCurrent = AkelPad.SendMessage(AkelPad.GetEditWnd(), 3447, 0, 0)
End Function

Sub OptionWrite(sOptionName, nOptionValue)
	Call oSet.Begin(WScript.ScriptBaseName, &H2)		'POB_SAVE
	Call oSet.Write(sOptionName, 1, nOptionValue)		'PO_DWORD
End Sub

Function OptionRead(sOptionName)
	Call oSet.Begin(WScript.ScriptBaseName, &H1)		'POB_READ
	OptionRead = oSet.Read(sOptionName, 1)		'PO_DWORD
End Function

Sub OptionDelete(sOptionName)
	Call oSet.Begin(WScript.ScriptBaseName, &H2)		'POB_SAVE
	Call oSet.Delete(sOptionName)
End Sub

Sub SplitWindow(n)
	Call AkelPad.SendMessage(AkelPad.GetMainWnd(), 273, n, 0)
End Sub

скрипт иногда валится на CInt, но что самое странное, если продолжать его вызывать, то дальше скрипт выполняется.
Это глюк WScript для vbs или что-то другое?

Posted: Fri Mar 04, 2011 3:46 pm
by Instructor
VladSh
Вот тут, до релиза 4.5.6, лежит версия с исправленной работой Scripts на x64.

Posted: Tue Mar 08, 2011 2:32 pm
by VladSh
Instructor wrote:4. Когда делал релиз забыл, что у FeyFre dll для x64 в папке Plugsx64. Попробую автоматизировать, чтобы исключить такую ситуацию. AkelPad-4.5.5-x64-setup.exe перезалил.
dll для плага SpellCheck после инсталляции в папке с плагами не появляется.
VladSh wrote:Ставил x64-версию на Win7, следующие наблюдения:
...почему-то на папке с AkelPad'ом установлен замочек, хотя доступ на запись в папку и все вложенные папки/файлы под текущим пользователем имеется.
Почему такое может быть?
Instructor wrote:Вот тут, до релиза 4.5.6, лежит версия с исправленной работой Scripts на x64.
Для "моих" проблем с CInt не помогло, ошибка продолжает вылетать.

Posted: Tue Mar 08, 2011 2:42 pm
by FeyFre

Posted: Sat Mar 12, 2011 7:18 am
by Instructor
VladSh wrote:
Instructor wrote:Вот тут, до релиза 4.5.6, лежит версия с исправленной работой Scripts на x64.
Для "моих" проблем с CInt не помогло, ошибка продолжает вылетать.
С выложенной версией у меня проблем не возникает.

Posted: Wed Mar 23, 2011 12:56 pm
by DV
Это... А почему под x64 при попытке вызвать EM_EXGETSEL для заполнения CHARRANGE происходит разрушение стека невзирая на полное соответствие документации?

Posted: Wed Mar 23, 2011 2:48 pm
by Instructor
DV
CHARRANGE -> CHARRANGE64
viewtopic.php?p=10517#p10517

Posted: Wed Mar 23, 2011 3:21 pm
by DV
Instructor wrote:CHARRANGE -> CHARRANGE64
Это я видел. Мне просто интересно, есть ли вменяемое объяснение со стороны Майкрософта, почему, чёрт побери, код, написанный в полном соответствии с документацией, которая в данном конкретном случае даже не допускает разночтений, приводит к краху.

Posted: Wed Mar 23, 2011 3:34 pm
by Instructor
DV
Это скорее вопрос не к майкрософту :) EM_EXGETSEL посылается AkelEdit'у и обрабатывает сообщение он же.

Posted: Thu Mar 24, 2011 9:21 am
by DV
Instructor wrote:EM_EXGETSEL посылается AkelEdit'у и обрабатывает сообщение он же.
Потенциально опасная несовместимость с RichEdit, однако. Потенциально обеспечивает крэш для всяких перехватчиков текста (например, программ для перевода или чтения текста).

Posted: Fri Mar 25, 2011 2:44 pm
by Instructor
DV
Тоже верно.