Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.145.130.31] |
|
Сообщ.
#1
,
|
|
|
такая вот проблема
с настройками Unit1->Encoding = Unicode (UTF-8) |utf-8 Unit2->Encoding = Unicode (UTF-8) |utf-8 IDE/Tools/Options/Default Charset = utf-8 (Language = "utf-8") IDE/Tools/Options/Editor options/Text encoding = utf-8 - ставим panel1 на форму unit1 - в инспекторе пишем panel1->caption = 'Тра-та-та' - ставим panel2 на форму unit2 - в инспекторе пишем panel2->include = unit1 видим в редакторе краказяблы а запускаем - нормально есть мысли ? это во второй версии Эта тема была разделена из темы "Delphi for PHP" |
Сообщ.
#2
,
|
|
|
Проблема в самой IDE
она видать еще не полноценно переведена под утф-8 (хотя я бы зделал выбор на их месте. а то когдануже проект на анси кодировке то писать не очень добно) если быть точным то он не правильно отображает страничку (ведь он каждый компонент обрабатывает показывает в какомто окне браузера (для нас он не видем) скриншотит картинку и выводит ее в позицыю компонента) можна оставить все как есть а можно попытатся поковырятся и подключать както по другому модуль подключение идет тут: Файл extctrls.inc.php класс CustomPanel .... class CustomPanel extends CustomControl { ... if ($this->_include!="") { include($this->_include); } .... Добавлено Проблема решается следущим образом добавляется в модуль extctrls.inc.php две процедуры function get_include_contents($filename) { if (is_file($filename)) { ob_start(); include $filename; $contents = ob_get_contents(); ob_end_clean(); return $contents; } return false; } function GetANSI($str) { $charset = 'windows-1251'; $_encoding = mb_detect_encoding($str, "UTF-8, $charset"); if (strcasecmp($_encoding, 'UTF-8')==0) { return mb_convert_encoding($str, $charset, $_encoding); } else { return $str; } } if ($this->_include!="") { include($this->_include); } if ($this->_include!="") { if (($this->ControlState & csDesigning) != csDesigning) { include($this->_include); } else { $string = get_include_contents($this->_include); echo GetANSI($string); } } |
Сообщ.
#3
,
|
|
|
Цитата ViktorXP @ Проблема решается следущим образом добавляется в модуль extctrls.inc.php две процедуры... спасибо, помогло только нужно в инспекторе очистить свойство include и по новой указать нужный модуль что бы передёрнуло |
Сообщ.
#4
,
|
|
|
не обязательно. нажимаеш на контрол правой кнопкой и из контекстного меню выбираеш control->repain
|
Сообщ.
#5
,
|
|
|
Цитата ViktorXP @ не обязательно. нажимаеш на контрол правой кнопкой и из контекстного меню выбираеш control->repain да, действительно а я думал, что если перезапустить IDE то оно само т.е. это не repaint, а по сути rebuild при этом при закрытии Delphi4Php он unit не сохраняет и после перзапуска теже но в профиль |
Сообщ.
#6
,
|
|
|
Цитата vicis @ Нет. эта команда заставляет перерисоватся компонент. и только тот который веделеный. Посути правильно что оно само не перерисовывается по любому поводу, ты представь что б тогда было (если учесть что некоторые компоненты он перерисовывает гдето по пол секунды, пр иэтом может моргать перерисовка всей IDE) т.е. это не repaint, а по сути rebuild Добавлено там еще какоято комбинацыя клавиш есть, которая делает тоже самое. если я не ошибаюсь то Контрл+Шифт+Ф12 (дома посмотрю и скажу точно если ошибся, просто на работе этой ИДЕ нет) |
Сообщ.
#7
,
|
|
|
Цитата ViktorXP @ там еще какоято комбинацыя клавиш есть, которая делает тоже самое. если я не ошибаюсь то Контрл+Шифт+Ф12 вопрос конечно не в эте ветку, но актуальный ты не знаеш случайно такую же комбинацию, но для Delphi-7 ситуация такая фрейм1 на главной форме, а он в свою очередь содержит ещё один фрейм2 ставим на фрейм2 DBGrid и туда добавляем в редакторе колонок несколько колонок ставим им нужный размер и имена всё видим в главной форме, но в какой то момент связь нарушается (скорее всего после редактирования колонок в самом фрейме1 или в его экземпляре на главной форме) так вот вернуть к оригинальному состоянию (если его редактировали на главной форме) экземпляр фрейма на главной форме можно правой кнопкой мыши на нём командой Revert To Inherited но этой команды нет если выбирать меню на самом фрейме1 и таким образом его никак не получается вернуть к состоянию равному фрейму2 (если фрейм1 редактировался) у меня получается только удалить и вставит фрейм по новой но это нехорошо, т.к. бывет главная форма потом выдаёт ошибку да и там возможно сверху какие то события висят, которые сбросятся надеюсь понятно объяснил |
Сообщ.
#8
,
|
|
|
чесно не знаю. в большей степени я пытаюсь не изменять фреймы там куда я их положил ибо потом на форме они не реагируют когда из изменяеш. (особенно если вешать на их события) хотя с событиями у во фреймах вабще проблема
|
Сообщ.
#9
,
|
|
|
ну если по минимуму менять там где вставил, а лучше привязку событий в код вписать,
то можно спокойно обновлять их командой Revert To Inherited кроме того случая что я описал а обойтись без них тяжело помогают ладно, не будем засорять ветку |