PDA

Просмотр полной версии : C#, DBC Viewer и компания


LordJZ
30.10.2010, 20:40
Тем более что уже есть тулзы (http://mywowtools.googlecode.com/svn/trunk/DBC%20Viewer/) для экспорта dbc в sql....которые, к слову, без подпилки нормально не работают на WinXP.

TOM_RUS
30.10.2010, 21:09
...которые, к слову, без подпилки нормально не работают на WinXP.

Я сижу на XP, и все работает нормально, так что траблы на вашей стороне.

TOM_RUS
31.10.2010, 16:23
У меня на WinXP программа выполняла один цикл отрисовки за 3-4 минуты, каждый раз читая файл.


Вы явно что-то не так делаете. На моем калькуляторе загрузка+отрисовка spell.dbc от билда 12340 занимает 26 сек. Файл читается только 1 раз при его открытии.

Konctantin
31.10.2010, 16:36
Ну есть маленькая задержка при отрисовке ячеек контролом DataGridView даже несмотря на использование виртуального режима.

LordJZ
31.10.2010, 16:44
Да, когда исправляю, Spell.dbc начинает загружаться примерно за 15 секунд. В любом случае, это тред для обсуждения SpellWork.

TOM_RUS
31.10.2010, 18:25
Да, когда исправляю, Spell.dbc начинает загружаться примерно за 15 секунд. В любом случае, это тред для обсуждения SpellWork.

Ну Вы просто молодец. Можете исправить даже то, что и так работает нормально. Кроме Вас еще никто не жаловался на отрисовку по 4 минуты.

virusav
31.10.2010, 18:41
Обсуждение сторонних утилит лучше вести в отдельных темах.

Konctantin
31.10.2010, 19:56
TOM_RUS, вот решение проблемы с мерцанием контрола DataGridView:
Надо установить свойство DoubleBuffered = true;

public static void SetDoubleBuffered(this Control control, bool setting)
{
typeof(Control).InvokeMember("DoubleBuffered",
System.Reflection.BindingFlags.SetProperty |
System.Reflection.BindingFlags.Instance |
System.Reflection.BindingFlags.NonPublic,
null, control, new object[] { setting });
}

так как это защищенное свойство, то можно сделать унаследованный класс и задать в нем это свойство

TOM_RUS
01.11.2010, 12:13
TOM_RUS, вот решение проблемы с мерцанием контрола DataGridView:
Надо установить свойство DoubleBuffered = true;

так как это защищенное свойство, то можно сделать унаследованный класс и задать в нем это свойство

Спасибо. Непонятно почему MS сделали это свойство protected...

Йоха
02.11.2010, 09:33
Спасибо. Непонятно почему MS сделали это свойство protected...

а понятие "друзья" в С# отсутствует ?

Konctantin
02.11.2010, 09:33
А это что такое?

Йоха
02.11.2010, 09:38
в с++ есть такое понятие как функция друг. Вкратце любую функцию можно объявить другом некоторого класса, и эта функция будет иметь доступ к закрытым членам класса.
Ключевое слово в с++ - "friend"

ЗЫ, хотя в данном случае это не будет иметь смысла, проще действительно унаследовать класс от нужного.

Konctantin
02.11.2010, 09:58
В С# все функции подчинены конкретному классу. Да и модификатор "friend" в синтаксисе отсутствует.

LordJZ
02.11.2010, 11:44
в с++ есть такое понятие как функция друг. Вкратце любую функцию можно объявить другом некоторого класса, и эта функция будет иметь доступ к закрытым членам класса.
Ключевое слово в с++ - "friend"

ЗЫ, хотя в данном случае это не будет иметь смысла, проще действительно унаследовать класс от нужного.В C# еще и множественного наследования классов нет.

Выношу обсуждение из ветки во флудилку.