OberonCore https://forum.oberoncore.ru/ |
|
Linux Console: проблема StdLog https://forum.oberoncore.ru/viewtopic.php?f=133&t=4097 |
Страница 1 из 1 |
Автор: | Alexander Shiryaev [ Пятница, 28 Сентябрь, 2012 07:46 ] |
Заголовок сообщения: | Linux Console: проблема StdLog |
Что делать с StdLog? Оригинальный явно импортирует HostDialog. И вообще не знаю, как сделать, чтобы заработал в косольной версии. StdLog нужен для Dev. |
Автор: | Иван Денисов [ Пятница, 28 Сентябрь, 2012 08:33 ] |
Заголовок сообщения: | Re: Linux Console: структура папок, хранение материалов |
Alexander Shiryaev писал(а): Что делать с StdLog? Оригинальный явно импортирует HostDialog. И вообще не знаю, как сделать, чтобы заработал в косольной версии. StdLog нужен для Dev. Его надо заменять на простой Log везде, мне когда-то Федор (кажется) объяснял, что использовать StdLog вообще не желательно в программах, так как он цепляется через hook в зависимости от реализации, в случае консольных приложений вместо него цепляется LinConsole. |
Автор: | Евгений Темиргалеев [ Пятница, 28 Сентябрь, 2012 08:46 ] |
Заголовок сообщения: | Re: Linux Console: структура папок, хранение материалов |
Alexander Shiryaev писал(а): Что делать с StdLog? Умозрительно помочь не могу. Практически от этого момента я ещё далеко. Нужно подтянуться, а времени не хватает, буду стараться.
Оригинальный явно импортирует HostDialog. И вообще не знаю, как сделать, чтобы заработал в косольной версии. StdLog нужен для Dev. |
Автор: | Alexander Shiryaev [ Пятница, 28 Сентябрь, 2012 08:47 ] |
Заголовок сообщения: | Re: Linux Console: структура папок, хранение материалов |
Иван Денисов писал(а): Alexander Shiryaev писал(а): Что делать с StdLog? Оригинальный явно импортирует HostDialog. И вообще не знаю, как сделать, чтобы заработал в косольной версии. StdLog нужен для Dev. Его надо заменять на простой Log везде, мне когда-то Федор (кажется) объяснял, что использовать StdLog вообще не желательно в программах, так как он цепляется через hook в зависимости от реализации, в случае консольных приложений вместо него цепляется LinConsole. Да, но Dev использует его явно, а делать правки в Dev нежелательно. |
Автор: | Евгений Темиргалеев [ Пятница, 28 Сентябрь, 2012 09:21 ] |
Заголовок сообщения: | Re: Linux Console: структура папок, хранение материалов |
Alexander Shiryaev писал(а): ... Кое-какие мысли, может будут полезны.Да, но Dev использует его явно, а делать правки в Dev нежелательно. Поглядел, StdLog импортируется во многих местах Dev. Если заменять StdLog на Log, оно правильнее, но тогда придётся заводить отдельную подсистему а-ля CDev которая более ничем не отличается. Естественно, это крайне не желательно. Когда не ясно как поступить лучше, нужно выписать имеющиеся варианты, их плюсы и минусы. Как Вы сделали для пускача. Ситуация выгляди плачевно: * Имя StdLog мы заменить не можем, а реализацию заменить надо. Единственное решение --- линковать переделанную консольную версию статически. * Последнее тоже не реально, т.к. в интерфейсе торчит TextModels и его тоже придётся линковать, со многими потрохами. * Остаётся вариант: урезать из интерфейса TextModels, кажется на работоспособности не использующих их компонентов это сказаться не должно. Остальные потребные компоненты, придётся переписать. Какие? Прикидка: Код: StdCoder.Decode ..,, ..SQ....3Qw7uP5PRPPNR9Rbf9b8R79FTvMf1GomCrlAy2xhX,Cb2x
hXhC6FU1xhiZiVBhihgmRiioedhgrZcZRiXFfaqmSrtuGfa4700zdGrr8rmCLLCJuyKtYcZRiX 7.2.s,scB.0k,5TWyql.bnayKmKKqGomC5XzET1.PuP.MHT9N9ntumaU2,CJuyKtQC98P9PP7O NbXmb.2.Ay3k2koL.,6.,U08J99SdfJHPNjvQCJuGKfaqmY6MwdONl1QCh0708T,U..w.Qm3., sUGpmWbBxhYhAbndMHT9NY6Mw.sQq2Y6cwB.0.h6,w,oV2E.0.4U1U00.bnUGLu8ro8quGrmCL WKqtE0E.ELU.EBU.U,6.I3l6w1.0E65.2.c8fP3d8mBE,5TeEdKLqKKtCLLCJuIepZBGomCrl0 ks,ktuGdKLqKa2V.Iy1U.2.W9S.y80E.QE.sQRtIQeoBjghg2hgn7.X5.u0n9PU.Iy5.,.60cN E.cU.UiAco,.2.7.,..242U,.,.,tcp00kMDy.wnjl.k.k,MyfUmT3,OOD01cUZT16.,UoV.UO .,.16.c8,.E.mP,U2U,YyzzzzDU,U,IzzzzzD.EzzzzzjA.hzzzzz4.IT.Iyzzzz1oxzzzz5.0 E.OS28UPoZ0cUXzId9NBuPN9Nbf9BuPN9N7ONbvMQ.6.YOY,wL6..5gwL.0.k5kEF.0.4EeE.8 Mtr.2..c4E.k.0.e0.,6YUczzzzz.A.cxzzzz56zzzzz5ctzzzzzzz7Vf7V,8Vf7Vz7Vl7V18V L8VZ7VV7Vf7Vt7V,dD7QE7gD7QA7gD7A6v7Vf7V,tB7AA7AD7gD7AE7AA7wF7AC7gA7AAyI05I 0nI0F.ow6.cwb.,6..N.X.0U,.,Y..I.,k.mzzzzz5k2UNWzLU2dRP7D7gD7AB7wE7wC7AH7Q0 l6V18Vz7VPdE7A6dONl9RP0AVRYk1ZkqYkpYkxYkUYa2Sb2yd24YuYkyYkxYk,ZkysC7AC7Q0p 6Vx7Vt7VV7Vv7Vd7Vv7VL8Vn7V3c.PM0l7Vj7V,tId9NNuPDP0HM11eP19PnfS9fQHs8HM9HM1 5uPP9F9fMfvNHs8HM9UhBgiZgZJinBVhAVfAVBQcj7QH9P9fQHs8im2im4CIcqo2qm2iWhgV2h AUhA,PMFNfNNOORvO9fQHs8AVfgVABhiRBwb7QZ7Ec4qliqm8r2qm2im2i0ZvPBPONPNZnKgZ7 M1bOR39JTvPNP0PN0P,3QwdONQcjphoJijZhghgmRiiQ87vEdfQN9F9vQ0ks7S..RtETfPd16F 6.C244.IC...Qii..70,cw7.,.d.,.HE.2U..U,IER.,6.AAw.A92U.sU0,,6..W.y12.8cG., ..G00k.0.0.0mF,,Mg.U,U.2.8cB.,..e,2.A.c8.2UEC.6..mEw7169rwKiEw3c0Cy2,U1xB. .O,2..606.k22.WtZCbUwYX8Utj00MyfUMwdc7cJ7a.IC.... --- end of encoding --- |
Автор: | Иван Денисов [ Пятница, 28 Сентябрь, 2012 15:32 ] |
Заголовок сообщения: | Re: Linux Console: структура папок, хранение материалов |
Для консольной версии однозначно придется разрабатывать CDev, поскольку отличия не заканчиваются на StdLog — ставить маркеры ошибок ведь некуда и т.п. Компилятор тогда должен указывать номер строки с ошибкой. |
Автор: | Евгений Темиргалеев [ Пятница, 28 Сентябрь, 2012 15:57 ] |
Заголовок сообщения: | Re: Linux Console: структура папок, хранение материалов |
Иван Денисов писал(а): Для консольной версии однозначно придется разрабатывать CDev, поскольку отличия не заканчиваются на StdLog — ставить маркеры ошибок ведь некуда и т.п. Компилятор тогда должен указывать номер строки с ошибкой. Достаточно взять текст с маркерами после компиляции, вывести их положения и сообщения. Александр это уже давно сделал.
|
Автор: | Alexander Shiryaev [ Понедельник, 01 Октябрь, 2012 22:51 ] |
Заголовок сообщения: | Re: Linux Console: проблема StdLog |
Может быть просто в интерпретаторе после выполнения каждой команды выводить содержимое StdLog.text на экран и очищать его. Для Dev сойдёт. А вообще в консольных программах использовать Log вместо StdLog. И Log.hook должен устанавливаться после StdLog.INIT. |
Автор: | Евгений Темиргалеев [ Понедельник, 01 Октябрь, 2012 23:14 ] |
Заголовок сообщения: | Re: Linux Console: проблема StdLog |
Евгений Темиргалеев писал(а): Ситуация выгляди плачевно: Хехе. Забыл про самим придуманный способ кросс-разработки. Тулзу всё же придётся усложнить, чтобы она умела экранировать и отдельные модули. И... пилим консольную реализацию StdLog как угодно (с сохранением интерфейса).
* Имя StdLog мы заменить не можем, а реализацию заменить надо... |
Автор: | Евгений Темиргалеев [ Понедельник, 01 Октябрь, 2012 23:21 ] |
Заголовок сообщения: | Re: Linux Console: проблема StdLog |
Alexander Shiryaev писал(а): Может быть просто в интерпретаторе после выполнения каждой команды выводить содержимое StdLog.text на экран и очищать его. Для Dev сойдёт. А вообще в консольных программах использовать Log вместо StdLog. И Log.hook должен устанавливаться после StdLog.INIT. 1) Да, всё верно: сгодится любой костыль (выводить на экран после каждого Ln и т.п.? --- поглядите реализацию LinLog, когда там делается flush), который покрывает потребности стандартных компонентов, нарушающих прописную истину 2) Использовать абстрактный Log. В последнем есть команда Open, говорящая, что приложение хочет писать в этот лог (после его открытия), она же и ставит хук.... Кхе кхе. Возможно, я догадался, почему разработочные компоненты используют именно StdLog ...
|
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |