Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Вопросы по Delphi (версии 2009, 2010 Weaver, 2011 Fulcrum)

Автор: mdid
Дата сообщения: 01.12.2011 09:57
народ подскажите плз..можно ли в D2010 сделать что бы после try автоматом создавалась секция except а не finally
Автор: Man_Without_Face
Дата сообщения: 01.12.2011 11:00
Подскажите как убрать округление при выгрузке в dbf через AdoCommand.
Например в Delphi было 0.8629
а в dbf выгрузилось 0,8630 ?
Автор: Frodo_Torbins
Дата сообщения: 01.12.2011 12:11
mdid
View -> Templates и настраивайте как хотите.
Автор: mdid
Дата сообщения: 01.12.2011 13:15
Frodo_Torbins
ой как тут все круто...пасиб огромное

что то не работает..открыл-изменил-сохранил...даже среду перезапустил..все равно finally
Автор: Frodo_Torbins
Дата сообщения: 01.12.2011 13:50
mdid
Всякие эксперты часто имеют свои движки темплейтов. cnWizards к примеру. Если у вас что то такое установлено, то нужно и в его настройках покопатся.
Автор: mdid
Дата сообщения: 01.12.2011 14:46
Frodo_Torbins
нет этого эксперта..может влияет jedi или devexr? или я то то не то сделал..в общем открыл шаблоны..жмаканул на едит try - вывалился xml..и я просто поменял все вхождения finally на except


Код:
<?xml version="1.0" encoding="utf-8" ?>

<codetemplate    xmlns="http://schemas.borland.com/Delphi/2005/codetemplates"
                version="1.0.0">
    <template name="try" surround="true" invoke="auto">
        <point name="variable">
            <text>
                MyClass
            </text>
            <hint>
                Variable name
            </hint>
        </point>
        <point name="control">
            <script language="Delphi">
                InvokeCodeCompletion;
            </script>
            <text>
                Component
            </text>
            <hint>
                Class name
            </hint>
        </point>
        <point name="createparms">
            <hint>
                constructor parameters
            </hint>
                        <text>
                            (Self)
                        </text>
        </point>
        <description>
            try except (with Create/Free)
        </description>
        <author>
            Embarcadero
        </author>
        <script language="Delphi" onenter="false" onleave="true">
            DeclareVariable(|variable|);
        </script>
        <code language="Delphi" context="methodbody" delimiter="|"><![CDATA[|variable| := T|control|.Create|createparms|;
try
|selected||*||end|
except
|*||variable|.Free;
end;
]]>
        </code>
    </template>
</codetemplate>

Автор: Frodo_Torbins
Дата сообщения: 01.12.2011 16:37
mdid
Тогда уж удалить его совсем, а tryf выставить invoke="auto".
Автор: SergBSI
Дата сообщения: 02.12.2011 07:07
XPerformer
Спасибо!
Автор: XPerformer
Дата сообщения: 02.12.2011 13:44
SergBSI
вообще-то, в самом jedi тоже есть работа с комплексными числами, и если смотреть по датам исходников - по-новее будет, также есть ассемблерные вставки, так что наверное и поскорее
Автор: phi1
Дата сообщения: 02.12.2011 16:27
Доброго времени суток всем.
Можно ли как-то вообще распределить вычисления в своей программе на D2010 на более чем одно процессорное ядро? Сел за Core I7-2600 - всё висит на одном логическом ядре, т.е. загрузка процессора = где-то 12%. Пробовал пример с 3-мя одновременно выполняемыми потоками из комплекта Delphi - та же ситуация. Проясните ситуацию, пожалуйста.
Автор: Frodo_Torbins
Дата сообщения: 02.12.2011 17:01
phi1
А что за демка? Если та что с сортировкой, то там вся нагрузка на основном потоке, выполняющем перерисовку. Так что это неудачный выбор.

Есть и другой вариант: привязка к ядрам наследуется дочерними процесами. Поэтому если у вас студия привязана к одному ядру, то и отлаживаемый экзешник тоже окажется привязан. Но круче всего получается, когда какое-нибудь кривое расширение оболочки привязывает к одному ядру проводник. Проверить это можно с помощью проги Process Explorer.
Автор: phi1
Дата сообщения: 02.12.2011 17:21
Frodo_Torbins
Да, именно с сортировкой.
Так а можно ли что-то сделать с этой привязкой то вообще?
Хотя бы тупо-принудительно повесить какой-нибудь поток на одно из ядер или что-то в этом духе?
Автор: wasilissk
Дата сообщения: 02.12.2011 18:12
phi1
Процессу можно задать affinity mask, можно посмотреть
тут еще коменты внизу по ссыле почитать неплохо
Автор: phi1
Дата сообщения: 02.12.2011 18:19
wasilissk
Я так понял, это через Win32 API... Будем поизучать Вашу ссылку, спасибо.

Да, один из ключевых моментов там "The above information should not be used under any circumstances. "...
Надежду не вселяет как-то.
Автор: Frodo_Torbins
Дата сообщения: 02.12.2011 19:38
phi1
Просто выберите другую демку, где нету частых вызовов Synchronize. В интернете таких должно быть много.
Автор: indapublic
Дата сообщения: 04.12.2011 13:23
Подскажите, возникла проблема - некоторые функции связанные с базами данных, например выборки или установка значений (через FIBDataset или FIBQuery) срабатывают со второго раза. Такое чувство, что компонент связи с БД неактивен и начинает реагировать только на вторую команду.Подсказажите как решить данную проблему? в каком компоненте искать и какой параметр?
Автор: volser
Дата сообщения: 04.12.2011 15:33
indapublic
Где пример кода?
Автор: tanaseduard
Дата сообщения: 08.12.2011 14:23
Есть информативная инструкция как и с чем кушаются дженерики и class helpers, желательно на русском?
Автор: YetiReal
Дата сообщения: 08.12.2011 18:54
indapublic
Транзакции явно стартуются и коммитятся? Если нет, то что в AutoCommit у FIBDataSet и в qoCommitTransaction у FIBQuery.Options?
Автор: volser
Дата сообщения: 08.12.2011 19:54
tanaseduard
Дженерики нужны для списков, хелпер для расширения классов. Что именно интересует?
Автор: tanaseduard
Дата сообщения: 08.12.2011 21:19
volser
Хотелось бы почитать по подробней на русском с примерами. А также понять где это удобно применять.
Автор: JAPWork
Дата сообщения: 08.12.2011 21:56
tanaseduard
На Delphifeeds.ru была ссылка на статью о дженериках.
Автор: tanaseduard
Дата сообщения: 08.12.2011 21:57
JAPWork
Спасибо.
Автор: JAPWork
Дата сообщения: 08.12.2011 22:16
tanaseduard
http://keeper89.blogspot.com/2011/07/delphi.html
Автор: perceptron
Дата сообщения: 10.12.2011 21:17
2 tanaseduard:
про генерики на русском можно здесь глянуть:
http://www.tdelphiblog.com/2009/10/generics-delphi-2009-win32.html
Автор: Ludens
Дата сообщения: 12.12.2011 15:12
А у меня вот тоже вопрос про дженерики. Никто не в курсе — не приводит ли использование дженериков к каким-либо дополнительным расходам (память, быстродействие, размер экзешника и т. п.)?
Похожи ли в этом смысле дженерики на регэкспы, которые, при всей их красоте, не рекомендуется применять там, где без них можно обойтись?
Может быть, кто-то пробовал измерять реальное быстродействие дженериков в сравнении с традиционными классами? Или м. б. публикации были про это (не про дженерики вообще, а про эффективность их использования)?
Автор: Frodo_Torbins
Дата сообщения: 12.12.2011 16:23
Ludens
По разбуханию экзешника объявление в модуле одного дженерика эквивалентно написанию соответствующего класса собственноручно. Это кстати легко увидеть если воспользоваться новым RTTI - в модуле появится новый класс с заковыристым названием. По этой причине рекомендуется делать так:
Код: type
TMyList = class(TList<TMyItem>);
Автор: Ludens
Дата сообщения: 12.12.2011 16:55
Frodo_Torbins,
не совсем понял. Ты имеешь в виду, что

TMyList = class(TList<TMyItem>);

— это эффективнее, чем

TMyClass = class
FMyList: TList<TMyItem>;
...
end;

?
Автор: ppkp
Дата сообщения: 12.12.2011 17:20
Ludens

Цитата:
кто-то пробовал измерять реальное быстродействие дженериков в сравнении с традиционными классами?

Применяю дженерики при работе по приему информации через внешнее устойство - более 20 раз в секунду создается экземпляр TList<TMyItem> и добавляется в файл. В скорости разницы не заметил (по сравнению с обычным TList, который использовал раньше, еще в D7).
Автор: Frodo_Torbins
Дата сообщения: 12.12.2011 20:23
Ludens
Я имел ввиду, что можно в каждом модуле писать прямо TList<TMyItem>. И в каждом модуле создастся своя копия этого класса. По крайней мере так описывал этот процесс Марко Канту в своей книге по D2009.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172

Предыдущая тема: Установка копоненты ZipTV


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.