Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi (версии 2009, 2010 Weaver, 2011 Fulcrum)

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111

Открыть новую тему     Написать ответ в эту тему

data man



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Обсуждаем новые возможности и баги
Просьба писать только про Delphi 2009 и выше - по остальным версиям есть соответствующая тема.
Вопросы вареза здесь не обсуждаются !!!
См. также:
Известные важные баги Delphi 2010:

Описание________________________________________________ Исправлено Решение/Альтернатива_____________________
  1. Внимание !  Деинсталляция D2010 нарушает работу D2007 и D2009 !  
При деинсталляции удаляются CC3280MT.DLL и CC3290MT.DLL из Windows\System32,   необходимые для работы D2007 и D2009 соответственно.
Сделайте резервные копии
  2. Code Formatter не работает, если не инсталлирован пакет моделирования.   В нем также присутствует множество багов. Используйте с осторожностью.   1.   JEDI CodeFormat 2.44 SVN Snapshot (~750Kb)   Требуются JCL и JVCL  
2.GExperts with Formatter
  3. Не работает F1 в Object Inspector Update 2   IDEFixPack 2.9 от Andreas Hausladen
(dev. snapshots)
  4. Если IDE начинает падать с сообщением "Out of resources", возможно, что поврежден .res файл проекта. Удалить его, запустить IDE, открыть проект - новый .res файл будет создан автоматически.
  5. В редакторе не работает Class Completion, если в декларируемом классе есть поля с шаблонами. Перед декларированием поля добавить public или private и т.д.
  6. TTrayIcon.ShowBalloonHint() не работает на ОС ниже Vista [QC 77561] Update 2 * Установить Update 2   * ИЛИ почитать о причинах и решении проблемы на форуме embarcadero и в QC   * ИЛИ воспользоваться альтернативой, например Cooltray 4.4.0
  ...      


Всего записей: 1696 | Зарегистр. 13-10-2005 | Отправлено: 14:28 26-08-2009 | Исправлено: data man, 18:27 06-08-2010
Ludens

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
В pre-build засунул батник

А я в Pre-Build засунул строку

Код:
%BDSBIN%\brcc32.exe

Так хрена лысого:

Код:
[Exec Error] The command %BDSBIN%\brcc32.exe" exited with code 3.

Всего записей: 1512 | Зарегистр. 16-01-2006 | Отправлено: 02:08 05-04-2011 | Исправлено: Ludens, 02:10 05-04-2011
0D0A

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ludens
Ну наверно кавычки забыл или brcc32 возвращает ненулевой ExitCode если параметры не указаны.

Всего записей: 158 | Зарегистр. 21-09-2009 | Отправлено: 02:33 05-04-2011
Ludens

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Не, кавычки не помогают, а brcc32 не запускается и с параметрами

Всего записей: 1512 | Зарегистр. 16-01-2006 | Отправлено: 02:45 05-04-2011
0D0A

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ludens

Код:
Project "C:\Temp\Project1.dproj" (Build target(s)):
Target PreBuildEvent:
    C:\Temp\test.cmd
    Borland Resource Compiler  Version 5.40
    Copyright (c) 1990, 1999 Inprise Corporation.  All rights reserved.
Target _PasCoreCompile:
    ..............
Build succeeded.
    0 Warning(s)
    0 Error(s)
Time Elapsed 00:00:00.20

test.cmd:

Код:
"%BDSBIN%\brcc32.exe" test.rc

test.rc:

Код:
ololo RCDATA 1.jpg

Всего записей: 158 | Зарегистр. 21-09-2009 | Отправлено: 03:01 05-04-2011
Ludens

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
0D0A
Иными словами, применение «собственных» переменных окружения возможно только в двух случаях:
1) при указании путей в Options (в формате $(BDS));
2) в Build Events, но только внутри вызываемого из Build Events bat-файла (в формате %BDS%).
Так?

Всего записей: 1512 | Зарегистр. 16-01-2006 | Отправлено: 03:32 05-04-2011
0D0A

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ludens
Все дочерние процессы наследуют переменные окружения среды (смотря как запускать, конечно, но похоже с этим все нормально). Например запусти такое в дебагере и отдельно:

Код:
program Project1;
 
uses
  Windows;
 
var
  Buffer: array[0..MAX_PATH] of Char;
begin
  ExpandEnvironmentStrings('%BDSBIN%', Buffer, MAX_PATH);
  MessageBox(0, Buffer, 'BDSBIN', 0)
end.


Всего записей: 158 | Зарегистр. 21-09-2009 | Отправлено: 03:54 05-04-2011
mcka

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Frodo_Torbins, V1s1ter - Спасибо
Добавил в свой проект FastMM с {$define EnableMemoryLeakReporting}, теперь окно Memory leak отображается и на моем компьютере.
 
Когда использовал EurekaLog Memory leak или ReportMemoryLeaksOnShutdown - окно отображалось, но не на всех компьютерах. как-то зависит от ОС.
 
привык, что EurekaLog Memory leak указывал в каком модуле в какой строчке и какой объект не был удален, в FastMM возможно так?

Всего записей: 65 | Зарегистр. 04-09-2007 | Отправлено: 11:18 05-04-2011 | Исправлено: mcka, 11:20 05-04-2011
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mcka
Попробуйте выяснить в чем разница между встроенным менеджером и FastMM.
А для отображения подробной информации в FastMM кажется были дополнительные опции.
 
Ludens  
Проверьте еще запуск через MSBuild, по идее тоже должно работать.

Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 12:05 05-04-2011
ppkp

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как узнать рамер класса?
Раньше было
TMyData = packed record a1, a2..... end;
var MyData: TMyData;
 для ReadBuffer(MyData, SizeOf(TMyData)) SizeOf(TMyData) вычислялся правильно;
Теперь заменил packed record на class
TMyData = class  a1, a2..... end; и SizeOf(TMyData) равно 4.

Всего записей: 480 | Зарегистр. 13-04-2006 | Отправлено: 20:16 06-04-2011
murkovich



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ppkp

Цитата:
Как узнать рамер класса?  
...
Теперь заменил packed record на class  
TMyData = class  a1, a2..... end; и SizeOf(TMyData) равно 4.

Так и должно быть, ибо это на самом деле указатель, и его размер 4 байта (в 32битном Delphi).
 
Размер класса вроде должен выдавать TMyData.InstanceSize

Всего записей: 1551 | Зарегистр. 26-05-2005 | Отправлено: 20:41 06-04-2011 | Исправлено: murkovich, 20:42 06-04-2011
ppkp

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
murkovich
Я пробовал, но InstanceSize дает не совсем верные значения - немного больше, чем размер экземпляра класса, подсчитанный вручную. Чего-то добавляет

Всего записей: 480 | Зарегистр. 13-04-2006 | Отправлено: 20:56 06-04-2011
murkovich



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ppkp

Цитата:
Я пробовал, но InstanceSize дает не совсем верные значения - немного больше, чем размер экземпляра класса, подсчитанный вручную. Чего-то добавляет

Класс на то и класс, что состоит не только из данных. По экземпляру ведь нужно иметь возможность определить, к какому классу он принадлежит. А для этого нужны внутренние поля. Т.е., в памяти класс столько места и занимает, сколько InstanceSize показывает.

Всего записей: 1551 | Зарегистр. 26-05-2005 | Отправлено: 21:10 06-04-2011
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ppkp
Добавьте сюда еще скрытое поле (кажется TMonitor) появившееся в последних версиях делфи.

Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 22:59 06-04-2011
ppkp

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Frodo_Torbins
Спасибо, но это не проходит. Очевидно, нужно писать конвертер старых файлов в новые

Всего записей: 480 | Зарегистр. 13-04-2006 | Отправлено: 20:48 07-04-2011
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Frodo_Torbins

Цитата:
Добавьте сюда еще скрытое поле (кажется TMonitor) появившееся в последних версиях делфи.
Я имел ввиду, что в последних версиях делфи к размеру объектов добавилось скрытое поле типа TMonitor.
А у вас что в файлах хранятся объекты скопированные из оперативки?

Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 21:35 07-04-2011
ppkp

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Frodo_Torbins
В файлах хранятся записи, сделанные WriteBuffer(MyData, SizeOf(TMyData)), MyData были типа packed record. Теперь они стали типа class - ничего более не изменилось

Всего записей: 480 | Зарегистр. 13-04-2006 | Отправлено: 21:41 07-04-2011 | Исправлено: ppkp, 21:42 07-04-2011
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ppkp
А чем не понравились записи?
Просто с классами этот фокус не пройдет. Сохранить в файл простым копированием вы их конечно сможете. А вот загрузить уже не получится - нужно будет всюду править ссылки на VMT как минимум. Поєтому и существуют TPersistent и TStream.ReadComponent/WriteComponent.

Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 21:58 07-04-2011 | Исправлено: Frodo_Torbins, 22:00 07-04-2011
ppkp

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Frodo_Torbins
Да я про то же. Теперь они (элементы класса) будут вынесены в published секцию и нужно будет написать конвертер для чтения старых. А новые будут читаться как Вы и упомянули. Спасибо за ответ

Всего записей: 480 | Зарегистр. 13-04-2006 | Отправлено: 22:08 07-04-2011
m0nty2k5



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Кто-нить работает с KOL&MCK на 2011 дельфи?
У меня кроме пустого окна ни чего не выходит, какие бы я элементы не добавлял на форму!
Это из-за совместимости или я что-то не так сделал?

Всего записей: 1129 | Зарегистр. 16-03-2005 | Отправлено: 07:34 17-04-2011
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
m0nty2k5
KOL использует старый тип object. Этот тип не рекомендуют использовать еще со времен Delphi1. Все это время его не выпиливали из компилятора только для обратной совместимости. Я слышал, что в DelphiXE его сильно урезали когда правили дженерики. Так что не удивительно что использующий object код перестал работать. Можно даже сказать "Наконец-то".

Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 12:26 17-04-2011
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi (версии 2009, 2010 Weaver, 2011 Fulcrum)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru