Прикручивание русского языка к FP в линуксе

Планы, идеология, архитектура и т.п.

Модератор: Модераторы

Re: Прикручивание русского языка к FP в линуксе

Сообщение debi12345 » 03.02.2013 19:34:37

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

А я по совместителсву сетевой админ (это - легкая работа по сравнению с программированием), и скажу что удаленная консоль = супер. Можешь устранять проблемы , расширять функционал и т.п. не выходя из дома и не выезжая в подразделения. А если что-нибудь сетевое для роутера пишешь - наприме вэб-робот, то это вне роутера никак не отладишь и не проверишь и пошагово не отладишь :)

Добавлено спустя 4 минуты 21 секунду:
Скажу вам страшное - на удаленной консоли с текстами fpc гораздо проще манипулировать через редактор Midnight Commander'a. Причем, и синтаксис подсвечен.

Я увы тоже так делаю - потому что прирос к МС корнями (без него для меня Линукс не Линукс). Нo конечно правильнее пользоваться FP IDE. Хотя конечно он не так удобен особенно по части отладки как аналогичное IDE от VirtuаlPascal.

Добавлено спустя 11 минут 31 секунду:
Лазарусовцы, вы чего такие злые ? (тут реально поверишь в неоднородность паскального сообщества).
А вот мы Лазарус рассматриваем как родного братишку, занимающего свою очень важную нишу - кроссплатформенное портирование дельфевого софта и адаптация навороченных дельфёвых компонент :)

Добавлено спустя 4 минуты 6 секунд:
Кстати, недостаткок удаленого MC в том нельзя копировать его клипбоард между разными консолями, то есть обимениваться контентом разных файлов. FP IDE позволяет открыть сразу несколько файлов одном сеансе и свободно обмениваться их контентом. Так что в следующий раз подумаю об FP-IDE.
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5752
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Re: Прикручивание русского языка к FP в линуксе

Сообщение rayanAyar » 03.02.2013 19:55:15

debi12345 писал(а):удаленная консоль = супер

Абсолютно согласен.
debi12345 писал(а):устранять проблемы , расширять функционал и т.п. не выходя из дома и не выезжая в подразделения

Этим самым постоянно и занимаюсь. Удаленно админю, в текстовой консоли линуксовые сервера.

Только вот заниматься разработкой ПО через удаленную консоль... как бы это помягче сказать... вобщем как минимум не удобно. :)
Кроме того, на продакшен серверах таким заниматься ещё и опасно.
Аватара пользователя
rayanAyar
новенький
 
Сообщения: 42
Зарегистрирован: 06.01.2011 08:22:52
Откуда: Новоуральск

Re: Прикручивание русского языка к FP в линуксе

Сообщение debi12345 » 03.02.2013 19:59:24

Кроме того, на продакшен серверах таким заниматься ещё и опасно.

Редко когда. Современные ОС не дадут влезть в чужой процесс, так что "опасно" не сделаешь (если конечно не умудришься вызвать "kernel panic" ). Максимум - зацикливание на рекурсии которое может дать 100% нагрузки на процы - но это рубится "CTRL+C".

Добавлено спустя 1 минуту 18 секунд:
как бы это помягче сказать... вобщем как минимум не удобно

А садится в сильно вентилированную сервеную, подключать монитор и клавиатуру к рутеру конечно же удобно :)
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5752
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Re: Прикручивание русского языка к FP в линуксе

Сообщение Brainenjii » 03.02.2013 20:04:58

За всех отвечать не буду, но я как "лазарусовец" не злой ^_^ Просто жутко бесит, когда любимый инструмент начинают необоснованно обвинять (невозможность разработки в процедурном стиле, несусветные баги с моноширинными шрифтами/цветом фона).
Что ещё хуже - развитием (если можно считать развитием нагромождение костылей для прививания незаложенного в архитектуру поведения) этого FP IDE поощряются нерадивые преподаватели и концепция "Паскаль - DOS'овский пи..ец" в глазах подрастающего поколения. Что удручает.
Ну и, разумеется
Изображение
Аватара пользователя
Brainenjii
энтузиаст
 
Сообщения: 1351
Зарегистрирован: 10.05.2007 00:04:46

Re: Прикручивание русского языка к FP в линуксе

Сообщение debi12345 » 03.02.2013 20:11:26

этого FP IDE поощряются нерадивые преподаватели и концепция "Паскаль - DOS'овский пи..ец"

FP IDE имеет незаменимую нишу - консольная разработка. Она была, есть и будет важна. И ее надо тоже развивать.

в глазах подрастающего поколения. Что удручает.

А то они про Дельфи не знают :) А к Лазурусу и МСЕ народ приходит когда встает вопрос "ГУЙ для Линукса".
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5752
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Re: Прикручивание русского языка к FP в линуксе

Сообщение rayanAyar » 03.02.2013 20:20:42

debi12345, хорошо, уговорили. Возможно ваш случай и требует обязательного наличия компилятора на самом роутере. Мне сложно оценить ситуацию, не зная подробностей, поэтому спорить не буду. Хотя я до последнего искал бы варианты не вести разработку прямо на опорных узлах сети. Чтобы случайно "не дать 100%". :) И дело тут не в каких-то недостатках FP-IDE, а просто в предосторожности.
Но в любом случае ваш случай - исключение из правил.

И спор тут был не об этом. А спор был, как правильно сказал Brainenjii - из-за необоснованных обвинений. И аргументов от Сквозняк я так и не услышал. Вернее аргументы были... про черный фон, про шрифты... Как только Brainenjii показывал несостоятельность аргумента - тут же находился другой, а про свои предыдущие слова Сквозняк тут же забывал. И находились всё новые и новые "баги" в лазарусе. Вобщем конструктивного спора не получилось.
На чём собственно и откланяюсь в этой теме. Всем извиняюсь, если кого-то задел за живое. Спорил не со зла, а чтобы узнать истину. А то вдруг я зря пользуюсь lazarus-ом, вдруг FP-IDE действительно лучше для консолек. :)
Аватара пользователя
rayanAyar
новенький
 
Сообщения: 42
Зарегистрирован: 06.01.2011 08:22:52
Откуда: Новоуральск

Re: Прикручивание русского языка к FP в линуксе

Сообщение debi12345 » 03.02.2013 20:31:28

вдруг FP-IDE действительно лучше для консолек.

Не лучше, а незаменим - дял удаленных консолек [почему консоли сейчас в основном и нужны] :)

Добавлено спустя 1 минуту 49 секунд:
Хотя я до последнего искал бы варианты не вести разработку прямо на опорных узлах сети.

Рано или поздно это надоедает - и нагло садишься на сам рутер :) А если что - "свет моргнул", "свич завис",...
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5752
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Re: Прикручивание русского языка к FP в линуксе

Сообщение Brainenjii » 03.02.2013 20:36:59

debi12345 писал(а):Рано или поздно это надоедает - и нагло садишься на сам рутер :) А если что - "свет моргнул", "свич завис",...

Блин, давал себе слово - не реагировать на Вас, но не сдержусь. Дилетант.
Аватара пользователя
Brainenjii
энтузиаст
 
Сообщения: 1351
Зарегистрирован: 10.05.2007 00:04:46

Re: Прикручивание русского языка к FP в линуксе

Сообщение SSerge » 04.02.2013 05:00:39

Brainenjii писал(а): неужели мне удалось сделать отображение кода "жирным моноширинным шрифтом"


Это что за шрифт, кстати? Тот, который на скриншоте.
SSerge
энтузиаст
 
Сообщения: 971
Зарегистрирован: 12.01.2012 05:34:14
Откуда: Барнаул

Re: Прикручивание русского языка к FP в линуксе

Сообщение Сквозняк » 04.02.2013 15:18:09

alex_alex_alex1 писал(а):покрути еще с восстановлением расположения окон по уму - не хочется чтобы они восстанавливались всей кучей в одном месте экрана - должно быть более красивое решение, пусть и правок кода потребуется больше - в апстрим уйдёт.

Новый патч перемещающий окна для файла fpcbuild-2.6.0/fpcsrc/ide/fpdesk.pas Теперь окна перемещаются только если их координаты не вписываются в заданный диапазон. Тестируй, если всё будет нормально, отпишись в багтрекер.
Код: Выделить всё
function ReadOpenWindows(F: PResourceFile): boolean;
var S: PMemoryStream;
    OK: boolean;
    DV: word;
    WI: TWindowInfo;
    Title: string;
    XDataOfs: word;
    XData: array[0..1024] of byte;
procedure GetData(var B; Size: word);
begin
  Move(XData[XDataOfs],B,Size);
  Inc(XDataOfs,Size);
end;
procedure ProcessWindowInfo;
var W: PWindow;
    SW: PSourceWindow absolute W;
    St: string;
    Ch: char;
    TP,TP2: TPoint;
    L: longint;
    ZZ: byte;
    R,Z: TRect;  //[[[[[[[[[[[[[[[[[[[[[[[[
begin
  XDataOfs:=0;
  Desktop^.Lock;
  W:=SearchWindow(Title);
  case WI.HelpCtx of
    hcSourceWindow :
      begin
        GetData(St[0],1);
        GetData(St[1],ord(St[0]));
        W:=ITryToOpenFile(@WI.Bounds,St,0,0,false,false,true);
        if Assigned(W)=false then
          begin
            ClearFormatParams;
            AddFormatParamStr(St);
            Desktop^.Unlock;
            ErrorBox(msg_cantopenfile,@FormatParams);
            Desktop^.Lock;
          end
        else
        begin
          GetData(L,sizeof(L));
          If DeskUseSyntaxHighlight(SW^.Editor) Then
            L:=L or efSyntaxHighlight
          else
            L:=L and not efSyntaxHighlight;
          SW^.Editor^.SetFlags(L);
          GetData(TP,sizeof(TP)); GetData(TP2,sizeof(TP2));
          SW^.Editor^.SetSelection(TP,TP2);
          GetData(TP,sizeof(TP)); SW^.Editor^.SetCurPtr(TP.X,TP.Y);
          GetData(TP,sizeof(TP)); SW^.Editor^.ScrollTo(TP.X,TP.Y);
        end;
      end;
     hcClipboardWindow:
       W:=ClipboardWindow;
     hcCalcWindow:
       W:=CalcWindow;
     hcMessagesWindow:
       begin
         if MessagesWindow=nil then
           Desktop^.Insert(New(PMessagesWindow, Init));
         W:=MessagesWindow;
       end;
     hcCompilerMessagesWindow:
       W:=CompilerMessageWindow;
{$ifndef NODEBUG}
     hcGDBWindow:
       begin
         InitGDBWindow;
         W:=GDBWindow;
       end;
     hcDisassemblyWindow:
       begin
         InitDisassemblyWindow;
         W:=DisassemblyWindow;
       end;
     hcWatchesWindow:
       begin
         if WatchesWindow=nil then
           begin
             New(WatchesWindow,Init);
             Desktop^.Insert(WatchesWindow);
           end;
         W:=WatchesWindow;
       end;
     hcStackWindow:
       begin
         if StackWindow=nil then
           begin
             New(StackWindow,Init);
             Desktop^.Insert(StackWindow);
           end;
         W:=StackWindow;
       end;
     hcFPURegisters:
       begin
         if FPUWindow=nil then
           begin
             New(FPUWindow,Init);
             Desktop^.Insert(FPUWindow);
           end;
         W:=FPUWindow;
       end;
     hcVectorRegisters:
       begin
         if VectorWindow=nil then
           begin
             New(VectorWindow,Init);
             Desktop^.Insert(VectorWindow);
           end;
         W:=VectorWindow;
       end;
     hcRegistersWindow:
       begin
         if RegistersWindow=nil then
           begin
             New(RegistersWindow,Init);
             Desktop^.Insert(RegistersWindow);
           end;
         W:=RegistersWindow;
       end;
     hcBreakpointListWindow:
       begin
         if BreakpointsWindow=nil then
           begin
             New(BreakpointsWindow,Init);
             Desktop^.Insert(BreakpointsWindow);
           end;
         W:=BreakpointsWindow;
       end;
{$endif NODEBUG}
     hcASCIITableWindow:
       begin
         if ASCIIChart=nil then
           begin
             New(ASCIIChart, Init);
             Desktop^.Insert(ASCIIChart);
           end;
         W:=ASCIIChart;
         if DV>=$A then
           begin
             GetData(ch,sizeof(char));
             AsciiChart^.Report^.AsciiChar:=ord(ch);
             AsciiChart^.Table^.SetCursor(
               ord(ch) mod AsciiChart^.Table^.Size.X,
               ord(ch) div AsciiChart^.Table^.Size.X);
           end;
      end;
  end;
  if W=nil then
    begin
      Desktop^.Unlock;
      Exit;
    end;
  W^.GetBounds(R);
  if (R.A.X<>WI.Bounds.A.X) or (R.A.Y<>WI.Bounds.A.Y) then
    R.Move(WI.Bounds.A.X-R.A.X,WI.Bounds.A.Y-R.A.Y);
  if (W^.Flags and wfGrow)<>0 then
    begin
      R.B.X:=R.A.X+(WI.Bounds.B.X-WI.Bounds.A.X);
      R.B.Y:=R.A.Y+(WI.Bounds.B.Y-WI.Bounds.A.Y);
    end;
  W^.Locate(R);
  if W^.GetState(sfVisible)<>WI.Visible then
    if WI.Visible then
      begin
        W^.Show;
        W^.MakeFirst;
      end
    else
      W^.Hide;
   //[[[[[[[[[[[[[[[[[[[[[v
   ZZ:=0;
   Desktop^.GetExtent(Z); //записывает координаты начала и конца (Z.A.X,Z.A.Y) и (Z.B.X,Z.B.Y) окна в переменную Z
   if R.A.Y>Z.B.Y-7 then begin
                         R.A.Y:=Z.B.Y-7;
                         ZZ:=1;
                         end;
   if R.A.X>Z.B.X-4 then begin
                         R.A.X:=Z.B.X-4;
                         ZZ:=1;
                         end;
   if R.A.Y<0 then begin
                   R.A.Y:=0;
                   ZZ:=1;
                   end;
   if R.A.X<0 then begin
                   R.A.X:=0;
                   ZZ:=1;
                   end;
   IF ZZ<>0 then W^.MoveTo(R.A.X,R.A.Y); //[[[[[[[ перемещает окно
   // W^.Hide; // делает окно скрытым
   //[[[[[[[[[[[[[[[[[[[[[[^
  W^.Number:=WI.WinNb;
  Desktop^.Unlock;
end;
begin
  PushStatus(msg_readingdesktopcontents);
  New(S, Init(32*1024,4096));
  OK:=F^.ReadResourceEntryToStream(resDesktop,langDefault,S^);
  S^.Seek(0);
  if OK then
  begin
    S^.Read(DV,SizeOf(DV));
    OK:=(DV=DesktopVersion) or (DV>=MinDesktopVersion);
    if OK=false then
      ErrorBox(msg_invaliddesktopversionlayoutlost,nil);
  end;
  if OK then
    begin
      XDataOfs:=0;
      repeat
        S^.Read(WI,sizeof(WI));
        if S^.Status=stOK then
        begin
          Title[0]:=chr(WI.TitleLen);
          S^.Read(Title[1],WI.TitleLen);
          if WI.ExtraDataSize>0 then
          S^.Read(XData,WI.ExtraDataSize);
          ProcessWindowInfo;
        end;
      until (S^.Status<>stOK) or (S^.GetPos=S^.GetSize);
(*      TempDesk:=PFPDesktop(S^.Get);
      OK:=Assigned(TempDesk);
      if OK then
        begin
          Dispose(Desktop, Done);
          Desktop:=TempDesk;

          with Desktop^ do
          begin
            GetSubViewPtr(S^,CompilerMessageWindow);
            GetSubViewPtr(S^,CompilerStatusDialog);
            GetSubViewPtr(S^,ClipboardWindow);
            if Assigned(ClipboardWindow) then Clipboard:=ClipboardWindow^.Editor;
            GetSubViewPtr(S^,CalcWindow);
            GetSubViewPtr(S^,GDBWindow);
            GetSubViewPtr(S^,BreakpointsWindow);
            GetSubViewPtr(S^,WatchesWindow);
            GetSubViewPtr(S^,UserScreenWindow);
            GetSubViewPtr(S^,ASCIIChart);
            GetSubViewPtr(S^,MessagesWindow); LastToolMessageFocused:=nil;
          end;
          Application^.GetExtent(R);
          Inc(R.A.Y);Dec(R.B.Y);
          DeskTop^.Locate(R);
          Application^.Insert(Desktop);
          Desktop^.ReDraw;
          Message(Application,evBroadcast,cmUpdate,nil);
        end;*)
      if OK=false then
        ErrorBox(msg_errorloadingdesktop,nil);
    end;
  Dispose(S, Done);
  PopStatus;
  ReadOpenWindows:=OK;
end;

function WriteOpenWindows(F: PResourceFile): boolean;
var S: PMemoryStream;
procedure CollectInfo(P: PView);
var W: PWindow;
    SW: PSourceWindow absolute W;
    WI: TWindowInfo;
    Title: string;
    XDataOfs: word;
    XData: array[0..1024] of byte;
    St: string;
    Ch: char;
    TP: TPoint;
    L: longint;
procedure AddData(const B; Size: word);
begin
  Move(B,XData[XDataOfs],Size);
  Inc(XDataOfs,Size);
end;
begin
  XDataOfs:=0;
  W:=nil;
  if (P^.HelpCtx=hcSourceWindow) or
     (P^.HelpCtx=hcHelpWindow) or
     (P^.HelpCtx=hcClipboardWindow) or
     (P^.HelpCtx=hcCalcWindow) or
     (P^.HelpCtx=hcInfoWindow) or
     (P^.HelpCtx=hcBrowserWindow) or
     (P^.HelpCtx=hcMessagesWindow) or
     (P^.HelpCtx=hcCompilerMessagesWindow) or
     (P^.HelpCtx=hcGDBWindow) or
     (P^.HelpCtx=hcDisassemblyWindow) or
     (P^.HelpCtx=hcStackWindow) or
     (P^.HelpCtx=hcRegistersWindow) or
     (P^.HelpCtx=hcFPURegisters) or
     (P^.HelpCtx=hcVectorRegisters) or
     (P^.HelpCtx=hcWatchesWindow) or
     (P^.HelpCtx=hcBreakpointListWindow) or
     (P^.HelpCtx=hcASCIITableWindow)
   then
     W:=PWindow(P);

  if Assigned(W) and (P^.HelpCtx=hcSourceWindow) then
    if SW^.Editor^.FileName='' then
      W:=nil;

  if W=nil then Exit;
  FillChar(WI,sizeof(WI),0);
  Title:=W^.GetTitle(255);
  WI.HelpCtx:=W^.HelpCtx;
  W^.GetBounds(WI.Bounds);
  WI.Visible:=W^.GetState(sfVisible);
  WI.WinNb:=W^.Number;
  case WI.HelpCtx of
    hcSourceWindow :
      begin
        St:=SW^.Editor^.FileName; AddData(St,length(St)+1);
        L:=SW^.Editor^.GetFlags; AddData(L,sizeof(L));
        TP:=SW^.Editor^.SelStart; AddData(TP,sizeof(TP));
        TP:=SW^.Editor^.SelEnd; AddData(TP,sizeof(TP));
        TP:=SW^.Editor^.CurPos; AddData(TP,sizeof(TP));
        TP:=SW^.Editor^.Delta; AddData(TP,sizeof(TP));
      end;
    hcAsciiTableWindow :
      begin
        ch:=chr(PFPAsciiChart(P)^.Report^.AsciiChar);
        AddData(ch,sizeof(char));
      end;
  end;

  WI.TitleLen:=length(Title);
  WI.ExtraDataSize:=XDataOfs;
  S^.Write(WI,sizeof(WI));
  S^.Write(Title[1],WI.TitleLen);
  if WI.ExtraDataSize>0 then
    S^.Write(XData,WI.ExtraDataSize);
end;
var W: word;
    OK: boolean;
    PV: PView;
begin
  PushStatus(msg_storingdesktopcontents);

  New(S, Init(30*1024,4096));
  OK:=Assigned(S);
  if OK then
  begin
    W:=DesktopVersion;
    S^.Write(W,SizeOf(W));
{    S^.Put(Desktop);
    with Desktop^ do
    begin
      PutSubViewPtr(S^,CompilerMessageWindow);
      PutSubViewPtr(S^,CompilerStatusDialog);
      PutSubViewPtr(S^,ClipboardWindow);
      PutSubViewPtr(S^,CalcWindow);
      PutSubViewPtr(S^,GDBWindow);
      PutSubViewPtr(S^,BreakpointsWindow);
      PutSubViewPtr(S^,WatchesWindow);
      PutSubViewPtr(S^,UserScreenWindow);
      PutSubViewPtr(S^,ASCIIChart);
      PutSubViewPtr(S^,MessagesWindow);
    end;}
{    PV:=Application^.Last;
    while PV<>nil do
    begin
      CollectInfo(PV);
      PV:=PV^.PrevView;
    end;}
    PV:=Desktop^.Last;
    while PV<>nil do
    begin
      CollectInfo(PV);
      PV:=PV^.PrevView;
    end;
    OK:=(S^.Status=stOK);
    if OK then
    begin
      S^.Seek(0);
      OK:=F^.CreateResource(resDesktop,rcBinary,0);
      OK:=OK and F^.AddResourceEntryFromStream(resDesktop,langDefault,0,S^,S^.GetSize);
    end;
    Dispose(S, Done);
  end;
  if OK=false then
    ErrorBox(msg_errorstoringdesktop,nil);
  PopStatus;
  WriteOpenWindows:=OK;
end;


ЗЫ: Чем больший вой по поводу недопустимого инакомыслия поднимают тролли, тем забористее код :)B

Добавлено спустя 46 минут 22 секунды:
rayanAyar писал(а): аргументов от Сквозняк я так и не услышал. Вернее аргументы были... про черный фон, про шрифты... Как только Brainenjii показывал несостоятельность аргумента - тут же находился другой, а про свои предыдущие слова Сквозняк тут же забывал. И находились всё новые и новые "баги" в лазарусе. Вобщем конструктивного спора не получилось.
Ты серьёзно веришь в то что говоришь? С "аргументами" Brainenjii самое место на лоре плюсовиков троллить - они могут быть не в курсе на чём их разводят + их знание нехило пожирает мозг.
Сквозняк
энтузиаст
 
Сообщения: 1109
Зарегистрирован: 29.06.2006 22:08:32

Re: Прикручивание русского языка к FP в линуксе

Сообщение alex_alex_alex1 » 05.02.2013 01:45:16

Сквозняк, отличный патч! Отправлены в апстрим оба патча. Огромное спасибо. Остальные сами знают чего им.
Теперь осталось всё протестировать в комплексе и выявить невыявленные баги. Ну и самое важное - отладчик прикрутить.
Предлагаю скачать live дистрибутив EduMageia, где fp-ide уже есть и обновить его под root:
Код: Выделить всё
urpmi.update -a
urpmi fp-ide

Репозиторий обновляется 2 раза в сутки в 12:00 и в 24:00. lxterminal для fp-ide задействован в GNOME, KDE - он лучше всего подходит для этого бага, так как всегда запускается меньшего размера если его ранее растянуть. Текущий пакет fp-ide-2.6.0-12.mrc.mga2.i586.rpm.
alex_alex_alex1
постоялец
 
Сообщения: 207
Зарегистрирован: 15.10.2010 14:08:50

Re: Прикручивание русского языка к FP в линуксе

Сообщение Сквозняк » 07.02.2013 19:19:26

Эх сколько ещё функционала не реализовано: автодополнение капсиком если предыдущие буквы в верхнем регистре, _удобный_ поисковик по классам... Если есть желающие заняться, подключайтесь :wink:
Сквозняк
энтузиаст
 
Сообщения: 1109
Зарегистрирован: 29.06.2006 22:08:32

Re: Прикручивание русского языка к FP в линуксе

Сообщение alex_alex_alex1 » 11.02.2013 18:36:28

Приоритетное направление - отладчик, он не работает.
alex_alex_alex1
постоялец
 
Сообщения: 207
Зарегистрирован: 15.10.2010 14:08:50

Re: Прикручивание русского языка к FP в линуксе

Сообщение Сквозняк » 11.02.2013 19:30:52

Приоритетное направление исправление вот этого
Изображение
бага 64 битной сборки. Реально надоедает вручную считать символы в строке.

С отладчиком сложнее, он сишный и нужно погружаться в его дебри. Можешь поискать как решали проблему сборки с отладчиком в альтлинуксе, когда-то нагуглил но теоретически такую абракадабру понять сложно. https://bugzilla.altlinux.org/show_bug.cgi?id=8899 Если разберёшься то объясни человеческим языком как правильно собирать gdb.
Сквозняк
энтузиаст
 
Сообщения: 1109
Зарегистрирован: 29.06.2006 22:08:32

Re: Прикручивание русского языка к FP в линуксе

Сообщение alex_alex_alex1 » 11.02.2013 23:32:04

Собрать с gdb не проблема, у меня есть закомментированные строки в spec файле - там несколько способов, но gdb не работает.
Можно посмотреть как в Arch https://projects.archlinux.org/svntogit ... ckages/fpc
alex_alex_alex1
постоялец
 
Сообщения: 207
Зарегистрирован: 15.10.2010 14:08:50

Пред.След.

Вернуться в Разработки на нашем сайте

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

Рейтинг@Mail.ru