обработка Exceptions внутри DLL советника - страница 4

 
Renat:

401 билд терминала стал самостоятельно отлавливать креши пользовательских DLL так же, как это делается в МетаТрейдер 5.

То есть, теперь падения в пользовательских DLL почти всегда не роняет сам терминал.


Я тестирую на билде 399 от forex4you. Как то можно принудительно обновить билд? Обычно терминал сам обновляется - сейчас сам обновляться не хочет.
 

andreybs:

jartmailru:
А у меня есть класс, который позволяет читать / писать .HST.
Внутри функции чтения что-то типа
.
std::vector<RateInfo> rates;
CFile file("data");
file.SetPointer(192);
file.Read(&rates);
.
Тока... к этому коду надо приложить 2 мегабайта исходников... Либа...
.
PS: горжусь...
черт 2 МБ - это много :) да и вектора вроде работают не быстро... лан, сам напишу...

У меня так же, как у Андрея. Это он научил меня так писать. И тоже горжусь :-))

Дополнительно исходников у меня уже на 2,5 Мб.

Renat:

401 билд терминала стал самостоятельно отлавливать креши пользовательских DLL так же, как это делается в МетаТрейдер 5.

То есть, теперь падения в пользовательских DLL почти всегда не роняет сам терминал.

Круто! Это что-то вроде ловушек исключений будет?

 
Zhunko:

У меня так же, как у Андрея. Это он научил меня так писать. И тоже горжусь :-))

Дополнительно исходников у меня уже на 2,5 Мб.



Класс! Приятно видеть, когда у человека все отлично! :)

Я только что закончил писать тот самый класс по сохранению/загрузке массива таймсерий... завтра отлажу... Но, черт возьми, всего 5,5Кб. Буду гордиться этим результатом... :)))

 
andreybs:

черт 2 МБ - это много :) да и вектора вроде работают не быстро... лан, сам напишу...
Это с чего бы??
 

На всякий случай код хидера (там наверняка не 192 байта)

#pragma pack(push,1)
struct HistoryHeader
{
    int               version;            // версия базы
    char              copyright[64];      // копирайт

    // Custom!
    char              symbol[12];         // инструмент
    unsigned int      period;             // период инструмента
    unsigned int      digits;             // число знаков после запятой в инструменте

    unsigned long timesign;           // временной отпечаток создания базы
    unsigned long last_sync;          // время последней синхронизации

    int               unused[13];         // для будущего использования
};
#pragma pack(pop)
 
Integer:

Или анекдот:

- Пятачек, прибор!

- Двадцать.

- А что двадцать?

- А что прибор?

 
jartmailru:
Это с чего бы??

Где-то читал, когда искал готовые классы для контейнеров... Может здесь... http://habrahabr.ru/blogs/cpp/112826/

Если я правильно помню, то вроде в векторе используются new и delete для выделения/освобождения памяти под элементы массива, а malloc/free вроде как быстрее. К тому же я не создаю/удаляю память, а работаю с одним блоком памяти, наращивая или сокращая его в зависимости от размерности массива. Так должно быть еще быстрее.


По поводу размера хедра я не понял - к чему это?Какая связь между размером исходников и размером хедера?
 
andreybs:

Где-то читал, когда искал готовые классы для контейнеров... Может здесь... http://habrahabr.ru/blogs/cpp/112826/

Если я правильно помню, то вроде в векторе используются new и delete для выделения/освобождения памяти под элементы массива, а malloc/free вроде как быстрее. Последнее работает быстрее. К тому же я не создаю/удаляю память, а работаю с одним блоком памяти, нарасщивая или сокращая его в зависимости от размерности массива. Так должно быть еще быстрее.

new для char[] или для структур работает точно так же как malloc.
Массивы вместо vector'а используют странные люди.
Не советую жить с ними в одной стране- это заразно.
 
jartmailru:
new для char[] или для структур работает точно так же как malloc.
Массивы вместо vector'а используют странные люди.
Не советую жить с ними в одной стране- это заразно.


Тогда придется покинуть планету "Земля"... :)

Чем же векторы так хороши в сравнении с динамическими массивами?... ( ну если не считать 2,5Мб кода с кучей возможностей ... :) )

 
andreybs:


Тогда придется покинуть планету "Земля"... :)

Чем же векторы так хороши в сравнении с динамическими массивами?... ( ну если не считать 2,5Мб кода с кучей возможностей ... :) )

Это называется промышленное программирование. Быстрое программирование без ошибок. Для этого необходимо изучить STL. Не надо его бояться.
Причина обращения: