AkelPad Forum Index AkelPad
Support forum
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Log plugin
Goto page Previous  1, 2, 3 ... 11, 12, 13, 14  Next
 
Post new topic   Reply to topic    AkelPad Forum Index -> Plugins
View previous topic :: View next topic  
Author Message
Skif_off



Joined: 20 Oct 2013
Posts: 1094

PostPosted: Thu Sep 03, 2015 12:15 pm    Post subject: Reply with quote

Instructor wrote:
Добавлено: параметр EXITCODE во внешний вызов с кодом 3 - указатель на переменную, которая получает код возврата запущенного приложения (Log::Output).

Подскажите, пожалуйста, как его получить?
Back to top
View user's profile Send private message
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 6223

PostPosted: Fri Sep 04, 2015 6:50 am    Post subject: Reply with quote

Skif_off
ExecWait.js
Code:
WScript.Echo(ExecWait("ping akelpad.sourceforge.net"));

function ExecWait(pCmd)
{
  AkelPad.Call("Log::Output", 1, pCmd);
  while (GetExecState())
    WScript.Sleep(100);
  return GetExecExitCode();
}

function GetExecState()
{
  var lpState;
  var nState=0;

  if (lpState=AkelPad.MemAlloc(4 /*sizeof(DWORD)*/))
  {
    AkelPad.Call("Log::Output", 3, lpState);
    nState=AkelPad.MemRead(lpState, 3 /*DT_DWORD*/);
    AkelPad.MemFree(lpState);
  }
  return nState;
}

function GetExecExitCode()
{
  var lpExitCode;
  var nExitCode=0;

  if (lpExitCode=AkelPad.MemAlloc(4 /*sizeof(DWORD)*/))
  {
    AkelPad.Call("Log::Output", 3, 0, 0, 0, 0, lpExitCode);
    nExitCode=AkelPad.MemRead(lpExitCode, 3 /*DT_DWORD*/);
    AkelPad.MemFree(lpExitCode);
  }
  return nExitCode;
}
Back to top
View user's profile Send private message Send e-mail
Skif_off



Joined: 20 Oct 2013
Posts: 1094

PostPosted: Fri Sep 04, 2015 7:19 am    Post subject: Reply with quote

Instructor
Большое спасибо.
Back to top
View user's profile Send private message
Skif_off



Joined: 20 Oct 2013
Posts: 1094

PostPosted: Sun Sep 06, 2015 12:20 pm    Post subject: Reply with quote

Instructor
При вызове Call("Log::Output", 1) из скрипта
Code:
AkelPad.Call("Log::Output", 1, "\"" + TidySource + "\" \"" + pFile + "\" " + pParams, "", "(?-s)^([^\(]*\()(\d+)(\) : )", '/FILE="' + pFile + '" /GOTOLINE=\2:1', -1, -1, 8194);

в панели вывода не работает прыжок к строке с ошибкой, но при вызове из меню или тулбара
Code:
-"AutoIt Tidy" Call("Log::Output", 1, `"%a\AkelFiles\Tools\AutoIt3Tidy\TidySource.exe" "%f" /NoGui /f1 /v0 /s1 /l1`, "", "(?-s)^([^\(]*\()(\d+)(\) : )", '/FILE="%f" /GOTOLINE=\2:1', -1, -1, 8194)

вполне работает.
Так и должно быть или есть какой-то нюанс?
Back to top
View user's profile Send private message
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 6223

PostPosted: Mon Sep 07, 2015 5:27 am    Post subject: Reply with quote

Skif_off
Quote:
"(?-s)^([^\\(]*\\()(\\d+)(\\) : )"
Back to top
View user's profile Send private message Send e-mail
Skif_off



Joined: 20 Oct 2013
Posts: 1094

PostPosted: Mon Sep 07, 2015 8:04 am    Post subject: Reply with quote

Instructor
Спасибо, что-то у меня с AutoItToolsLog.js это уже третий или четвёртый раз Smile)
Back to top
View user's profile Send private message
Skif_off



Joined: 20 Oct 2013
Posts: 1094

PostPosted: Fri Sep 11, 2015 7:08 pm    Post subject: Reply with quote

Instructor
Возможно ли прочитать текст из панели вывода? Нашёл этот пост подозреваю, после получения дескриптора окна вывода можно. Может быть, какие-то скрипты уже это делают?
Back to top
View user's profile Send private message
KDJ



Joined: 06 Mar 2010
Posts: 1915
Location: Poland

PostPosted: Fri Sep 11, 2015 9:17 pm    Post subject: Reply with quote

Skif_off
That is example: GetOutputWindowText.js

Code:
AkelPad.MessageBox(AkelPad.GetMainWnd(), GetOutputWindowText(), "Log output text", 64 /*MB_ICONINFORMATION*/);

function GetOutputWindowText()
{
  var lpWnd;
  var hWnd;
  var nTextLen;
  var lpText;
  var sText="";

  if (lpWnd=AkelPad.MemAlloc(_X64?8:4 /*sizeof(HWND)*/))
  {
    AkelPad.Call("Log::Output", 2, lpWnd);
    if (hWnd=AkelPad.MemRead(lpWnd, 2 /*DT_QWORD*/))
    {
      if (nTextLen=AkelPad.SendMessage(hWnd, 14 /*WM_GETTEXTLENGTH*/, 0, 0))
      {
        if (lpText=AkelPad.MemAlloc((nTextLen + 1) * 2))
        {
          AkelPad.SendMessage(hWnd, 13 /*WM_GETTEXT*/, nTextLen + 1, lpText);
          sText = AkelPad.MemRead(lpText, 1 /*DT_UNICODE*/);
          AkelPad.MemFree(lpText);
        }
      }
    }
    AkelPad.MemFree(lpWnd);
  }
  return sText;
}
Back to top
View user's profile Send private message
Skif_off



Joined: 20 Oct 2013
Posts: 1094

PostPosted: Fri Sep 11, 2015 10:48 pm    Post subject: Reply with quote

KDJ
Big thanks, works fine.
Back to top
View user's profile Send private message
VladSh



Joined: 29 Nov 2006
Posts: 3069
Location: Киев, Русь

PostPosted: Tue Sep 15, 2015 11:59 am    Post subject: Reply with quote

Instructor
В настройках имеется "Псевдоним для темы Coder", но весь этот механизм работает как-то непонятно (выбивается из общепринятого). При указании какой-то темы, цвета работают только если включена эта тема, а если сменить тему, то цвета сбрасываются на дефолтные.
Можно ли как-то переделать этот механизм по аналогии с другими плагами, чтобы цвета подхватывались из текущей темы?
В принципе-то и это поле можно оставить: если есть название темы в нём, тогда при любой теме цвета берутся оттуда, а если нет, - согласно указанным в специальных цветовых переменных для плага. И чтобы при смене темы цвета менялись налету.
Back to top
View user's profile Send private message Visit poster's website
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 6223

PostPosted: Wed Sep 16, 2015 5:54 am    Post subject: Reply with quote

Добавлено: интерактивное применение новой темы Coder плагина.

Added: interactive applying of the new Coder plugin theme.


Log plugin v5.1
Back to top
View user's profile Send private message Send e-mail
VladSh



Joined: 29 Nov 2006
Posts: 3069
Location: Киев, Русь

PostPosted: Wed Sep 16, 2015 4:11 pm    Post subject: Reply with quote

Instructor wrote:
Добавлено: интерактивное применение новой темы Coder плагина.
Если это изменение по предыдущему моему сообщению, то как его задействовать (никаких изменений, по сравнению с предыдущей версией, я не замечаю)?
Back to top
View user's profile Send private message Visit poster's website
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 6223

PostPosted: Thu Sep 17, 2015 5:02 am    Post subject: Reply with quote

VladSh wrote:
(никаких изменений, по сравнению с предыдущей версией, я не замечаю)
А надо бы Smile

Если указан псевдоним для Coder плагина, то после смены темы в Coder плагине, эта тема применяется к окну Log плагина. Насколько понял об этом речь шла в вашем сообщении.
Back to top
View user's profile Send private message Send e-mail
VladSh



Joined: 29 Nov 2006
Posts: 3069
Location: Киев, Русь

PostPosted: Fri Sep 18, 2015 4:43 am    Post subject: Reply with quote

Instructor
Рад бы Smile

1. Запускаю AkelPad (у меня там установлена собственная тема на основе Bespin, эта же тема указана в настройках "Псевдоним для Coder плагина").
Запускаю консоль лога - всё прекрасно - тема применилась (это было и до обновления).
2. Меняю тему на любую другую, окошко лога становится белым (тема Coder сбросилась на дефолтную).
3. Меняю тему ещё раз, возвращая ту, что была прежде (и указана в настройках "Псевдоним..."), - ничего не произошло, окошко консоли лога также остаётся белым.
И далее при изменении тем оно уже не меняется.
Чтобы поменялось, надо закрыть консоль и открыть её снова.

В идеале что бы хотелось - отказаться от настройки "Псевдоним ...", и далее при смене темы и незакрытом окошке лога цвета применялись бы налету, в соответствии с установленной темой. По аналогии с тем, как сейчас работает окошко фолдинга.

off-topic

А вообще идеально, чтобы так же работали плаги Explorer и Clipboard.
Back to top
View user's profile Send private message Visit poster's website
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 6223

PostPosted: Fri Sep 18, 2015 5:53 am    Post subject: Reply with quote

VladSh wrote:
(у меня там установлена собственная тема на основе Bespin, эта же тема указана в настройках "Псевдоним для Coder плагина")
Там указывается не тема плагина, а псевдоним, например, ".cpp". Тема же плагина автоматически наследуется от активной (конечно, если нет установленной связи псевдонима с темой).
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic    AkelPad Forum Index -> Plugins All times are GMT
Goto page Previous  1, 2, 3 ... 11, 12, 13, 14  Next
Page 12 of 14

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


SourceForge.net Logo Powered by phpBB © 2001, 2005 phpBB Group