Блокнот Графомана

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

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

Re: Блокнот Графомана

Сообщение Лекс Айрин » 25.05.2017 13:46:54

Под XP диалог выбора шрифтов не находит ни одного шрифта. можно ли как-то подсунуть ему стандартную папку?
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 3923
Зарегистрирован: 19.02.2013 16:54:51

Re: Блокнот Графомана

Сообщение pupsik » 25.05.2017 18:09:11

можно ли как-то подсунуть ему стандартную папку?
системной библиотеке?
можно ли как-то
сделать свой диалог выбора шрифтов.
pupsik
энтузиаст
 
Сообщения: 991
Зарегистрирован: 20.08.2014 16:20:13

Re: Блокнот Графомана

Сообщение Лекс Айрин » 25.05.2017 18:37:37

pupsik, что ж... видимо, придется(((
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 3923
Зарегистрирован: 19.02.2013 16:54:51

Re: Блокнот Графомана

Сообщение pupsik » 25.05.2017 20:11:39

можете ещё посмотреть что там в сис. вызовах намутили. Т.е. передача параметров в диалог.

Кстати: у меня, иной раз, диалог открытия (при дебагере) крякозяблами ругался....
pupsik
энтузиаст
 
Сообщения: 991
Зарегистрирован: 20.08.2014 16:20:13

Re: Блокнот Графомана

Сообщение Лекс Айрин » 26.05.2017 09:17:46

pupsik, возможно, дело в том, что я переопределяю этот диалог, чтобы не вводить лишние параметры при рунтаймовом запуске. Хотя не должно бы влиять... под семеркой никаких проблем, а вот в хр требует папку в панели управления.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 3923
Зарегистрирован: 19.02.2013 16:54:51

Re: Блокнот Графомана

Сообщение Лекс Айрин » 31.05.2017 14:20:22

непонятка с procedure LoadFromFile(const FileName: string; AEncoding: TEncoding); overload; virtual;
Не пойму как установить кодировку. текста.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 3923
Зарегистрирован: 19.02.2013 16:54:51

Re: Блокнот Графомана

Сообщение Лекс Айрин » 19.09.2017 18:08:14

Все, с основным нужным мне функционалом разобрался. Далее только дополнительные фишки и плюшки. В принципе, это уже можно будет считать версией 1.0.0
В этой версии уже есть поддержка rtf.
Скорее всего, завтра около обеда буду сливать в репозитарий.
Из отсутствующего важного -- возможность печати.

Добавлено спустя 17 часов 54 минуты 53 секунды:
Решил проверить на утечку памяти и заметил, что программа течет как дуршлаг(((

Почти избавился, но у меня все-равно остались несколько ошибок.

Код: Выделить всё
initialization
FormRegister:=TFormRegister.create;//<---указывает сюда
// иначе нет смысла
INIPropStorage1:=TINIPropStorage.Create(nil);
EditorFont:=TFont.Create;
ProgFont:=TFont.Create;// освобождение при финише ведет к ошибке!

FontLst:= TStringList.Create;
LoadFontList;
LoadSetting;
finalization
FreeAndNil(FormRegister);//финализация регистратора
//сохранение настроек сессии
SaveSetting;
FreeAndNil(FontLst);
INIPropStorage1.Free;
FreeAndNil(ProgFont);
FreeAndNil(EditorFont);
end.                   

Код: Выделить всё
constructor TFormRegister.create;
begin
  dic:=TFormDictionary.create;//<---указывает сюда
end;       


ну и пару неправильно сработавших завершений модуля сделанных типа этого.

Код: Выделить всё
initialization
  {$I styles.lrs}
  FormData:=FormRegister.GetDefaultFormData;
FormData.FormCreateProc:=@CreateFStyle;
FormData.HumanReadableFormName:=rsStyleFormName;
FormRegister.RegisterForm('FStyle',FormData);//<---указывает сюда
finalization
  FormRegister.UnRegisterForm('FStyle',FormData);
  FormData.HumanReadableFormName:='';
  FormData.FormName:='';
  FormData.FormCreateProc:=nil;
end.                                       


может, я конечно, что-то неправильно указал...

полный выхлоп утечек

Код: Выделить всё
---------------------------
Error
---------------------------
Heap dump by heaptrc unit
57948 memory blocks allocated : 5861599/6022224
57944 memory blocks freed     : 5861096/6021712
4 unfreed memory blocks : 503
True heap size : 950272 (80 used in System startup)
True free heap : 949376
Should be : 949424
Call trace for block $035300C8 size 392
  $0042E756  TOPENADDRESSING$4$CRC99FE3619__REHASH,  line 363 of inc/generics.dictionaries.inc
  $0042E680  TOPENADDRESSING$4$CRC99FE3619__PREPAREADDINGITEM,  line 230 of inc/generics.dictionaries.inc
  $0042E966  TOPENADDRESSING$4$CRC99FE3619__DOADD,  line 275 of inc/generics.dictionaries.inc
  $00430570  TFORMREGISTER__REGISTERFORM,  line 307 of global.pas
  $0062BCD9  STYLES_$$_init$,  line 150 of styles.pas
  $0040FD16
  $0064210D
  $0061E2AE
Call trace for block $0355FB30 size 21
  $00456083
  $00430553  TFORMREGISTER__REGISTERFORM,  line 307 of global.pas
  $00628FF8  VIRTKEYBOARD_$$_init$,  line 1087 of virtkeyboard.pas
  $0040FD16
  $0057B809
  $0057AF1C
  $0057A839
  $0057ABC5
Call trace for bl
--------------------------
ОК   
---------------------------
---------------------------
Error
---------------------------
Call trace for block $0  $0057B334
  $0057A839
  $0057ABC5
  $0057AA86
  $0057A6F3
  $00642079
  $0061E2AE
  $0040FD16
Call trace for block $000D7918 size 48
  $004303E0  TFORMREGISTER__CREATE,  line 289 of global.pas
  $00430698  GLOBAL_$$_init$,  line 324 of global.pas
  $0040FD16
---------------------------
ОК   
---------------------------


Добавлено спустя 7 часов 56 минут 56 секунд:
Вопрос решен. Всего лишь неправильная директива у деструктора.

теперь не знаю как правильно преобразовать fparams в TFont.

Добавлено спустя 16 часов 26 минут 50 секунд:
Все, от утечек память вроде бы избавился...
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 3923
Зарегистрирован: 19.02.2013 16:54:51

Пред.

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

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

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

Рейтинг@Mail.ru
cron