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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
BofA



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Извиняюсь за возможно глупый вопрос.
В Model View открываю диаграмму проекта, на Tool Palette выбираю Dependency и пытаюсь нарисовать "пунктирную стрелку" от одного юнита к другому. В Delphi 2007 всё прекрасно рисуется, а в Delphi XE "стрелку" нарисовать не даёт. Причём если сохранить диаграму в 2007 и открыть в XE, то все Dependency-стрелки на месте, но новые не рисуются. В чём может быть дело?

Всего записей: 115 | Зарегистр. 31-07-2006 | Отправлено: 09:11 10-12-2010
DreamKHV



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет всем.
Интересует вопрос по настройке редактора кода Delphi 2010. Как заставить его генерировать обработчики, вставляя их в конец pas-файла, а не сортируя по алфавиту?

Всего записей: 21 | Зарегистр. 19-03-2009 | Отправлено: 14:55 10-12-2010
tanaseduard



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Господа.
Никто не встречал программки для сборки необходимых bpl для проекта.
Проект весь на runtime, после обновления версий компонентов и т.д., долго собирать все необходимые bpl для успешного запуска проекта на другом ПК.

Всего записей: 518 | Зарегистр. 21-11-2009 | Отправлено: 16:30 10-12-2010
psa1974



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DreamKHV
Этот вопрос уже где-то тут на форуме обсуждался - никак нельзя заставить вставлять генерируемые обработчики в конец файла, таких настроек нет. Такое поведение изменилось начиная с Дельфи 2005 - когда среда Дельфи стала похожа на Visual Studio... Разве что самому писать эксперта для IDE...

----------
У программёра есть два состояния: "Втупляю" и "Попёрло"...

Всего записей: 438 | Зарегистр. 08-11-2005 | Отправлено: 16:46 10-12-2010
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
tanaseduard
Если под сборкой понимается компиляция, то в старших версиях это можно с помощью msbuild-а легко организовать. В интернете можно найти статьи, или вот мой пример: http://www.alphaskins.com/forum/index.php?showtopic=4505&view=findpost&p=27164 - это сразу с загрузкой новой версии компонент, патчингом исходников, и компиляцией debug и release версий.

Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 17:02 10-12-2010 | Исправлено: Frodo_Torbins, 17:18 10-12-2010
Varenik



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
DreamKHV
psa1974
ModelMaker (MMX) позволяет управлять порядком обработчиков
ЗЫ: правда, я уже и не помню: на форме тоже или только при создании компонентов/классов

----------
Если нравится, считайте, что получилось…

Всего записей: 1766 | Зарегистр. 21-07-2001 | Отправлено: 17:11 10-12-2010 | Исправлено: Varenik, 17:32 10-12-2010
tanaseduard



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Frodo_Torbins
 
Не то.
Имеется ввиду что в бинарник проекта не вшиты все модули, проект довольно большой (300-400 bpl загружаемых модулей(в каждом модулем миyмум пара форм MDI Child)). В итоге для полноценной работы проекта надо собрать все bpl от компонентов которые юзают эти модули(Dev,UniDac, Oracle,FastReport etc...).
Самому руцями собирать все компоненты с машинки ленько, а тупо скопировать все bpl с места разработчика накладно. Бывает ситуации когда в некоторых модулях юзаються редкие библиотеки но они в тоже поставляються в bpl.  
В итоге хотелосб бы иметь инструмент который бы проанализировал все "группы проектов", определил какие bpl нужны для полного функционирования всего, и вытянул их с system_dir,Lib_Path etc...
 

Всего записей: 518 | Зарегистр. 21-11-2009 | Отправлено: 18:01 10-12-2010
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
tanaseduard
Такого точно ничего не видел.
Хотя, bpl это ведь обычная dll-ка по сути. Можно проанализировать ее секцию импорта и определить какие еще bpl ей нужны для старта. В JCL вроде даже модули были по работе с бинарными файлами.

Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 18:14 10-12-2010
tanaseduard



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Frodo_Torbins
 
Жаль.
Попробую сам написать.
Спасибо.

Всего записей: 518 | Зарегистр. 21-11-2009 | Отправлено: 18:17 10-12-2010
ZBEP



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

Код:
var
  Form2: TForm2;        
  NPred,NPrep,NChas:array [0..50,0..100,1..6,1..6]of string;
  SP:array [1..100] of TEdit;
  SB:array [1..100] of TRadioButton;
  IniFile: TIniFile;
...
var n,i:integer;
begin
IniFile:=TIniFile.Create(extractfilepath(paramstr(0))+'Data\BD.ini');
for n:=1 to 30 do
for i:=1 to 100 do
begin
ZPred[i,n]:=IniFile.ReadString('Предмет_'+inttostr(i),inttostr(n),'');
ZPrep[i,n]:=IniFile.ReadString('Преподаватель_'+inttostr(i),inttostr(n),'');
ZChas[i,n]:=IniFile.ReadString('Часы_'+inttostr(i),inttostr(n),'');
end;
...
 
function sIF(F:TForm;Zna1,Zna2:String;Ned,Den,Yro:integer):integer;
var Rez,Grp1:integer;
begin
for Grp1:=1 to 100 do
if(Zna1=NPred[Ned,Grp1,Den,Yro])or(Zna2=NPrep[Ned,Grp1,Den,Yro])then Rez:=1;
if rez=1 then Result:=0 else Result:=1;
end;
 
procedure TForm2.SpeedButton3Click(Sender: TObject);
var nre,n,np,Ned,Grp,Den,Yro:integer;
begin
for n:=1 to 100 do
if SB[n].Checked=true then nre:=n;
for np:=1 to 30   do
for Yro:=1 to 6   do
for Grp:=1 to 100 do
for Ned:=1 to 50  do
for Den:=1 to 6   do
begin
if (sIF(Form1,ZPred[Grp,np],ZPrep[Grp,np],Ned,Den,Yro)=1)and(NPred[Ned,Grp,Den,Yro]='') then  
begin
NPred[Ned,Grp,Den,Yro]:=ZPred[Grp,np];
NPrep[Ned,Grp,Den,Yro]:=ZPrep[Grp,np];  
end;
nre:=strtoint(inttostr(nre));  //
nre:=strtoint(inttostr(nre));  //Если это стереть, то работает некорректно.
nre:=strtoint(inttostr(nre));  //Если заменить на sleep, то все равно будет работать не корректно.
nre:=strtoint(inttostr(nre));  //Да и намного дольше.
nre:=strtoint(inttostr(nre));  //Если цикл уменьшить к примеру со 100 до 2
nre:=strtoint(inttostr(nre));  //То все нормально работает, но необходимо 100
nre:=strtoint(inttostr(nre));  //Конечно не обязательно именно так делать.
nre:=strtoint(inttostr(nre));  //Это первое, что пришло на ум.
end;


Всего записей: 186 | Зарегистр. 09-04-2009 | Отправлено: 03:56 11-12-2010
JAPWork

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ZBEP
А что значит "некорректно работает"??? Как описаны ZPred и прочие на эту букву? Как соотносятся и связаны Form1 и TForm2? Существует ли Form1 на момент вызова функции SIf?
Проинициализированы ли массивы SP и SB?
Вырезанный участок кода не позволяет ничего сказать по вашему вопросу...
Разве что из общих соображений - как только начинается всякая ерунда с добавлением строк кода - ясен пень, программа лезет не совсем в те области памяти, в которые должна. Ну, например, выходит за границы массива, проверяет значения в непроинициализированнном объекте и т.д. Если у Вас иногда еще наряду с "некорректным выполнением", которое я понимаю как выдачу неверного результата, случается ошибки чтения определенных адресов, то это примерно оно и есть.
Судя по тому, что массивы у Вас описаны какие от нуля, а какие от единицы, хотя все циклы выстроены от 1 до верхних границ, вдруг у Вас есть где-нибудь циклы от нуля для массивов от единицы...
Да и зачем вообще передавать Form1 в SIf, если эта переменная там не используется. И Nre у Вас с точно получит какое-нибудь значение? А если Массив радиобатонов SB сформирован плохо?

Всего записей: 467 | Зарегистр. 12-02-2003 | Отправлено: 11:04 11-12-2010 | Исправлено: JAPWork, 11:40 11-12-2010
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А мне вообще не понятно зачем нужно столько отдельных эдитов и радиобаттонов если их можно заменить более подходящими компонентами.

Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 12:47 11-12-2010
ZBEP



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Frodo_Torbins, Хз почму с эдитами, прогу сделал еще 3 года назад, сейчас нужно изменить алгоритм немного, да и сами эдиты используются только для вывода, вся база хранится в файле.
 
JAPWork,

Цитата:
А что значит "некорректно работает"???

Присваивает значения не всем переменным.
 

Цитата:
Как описаны ZPred и прочие на эту букву?


Код:
ZGroup,ZPred,ZPrep,ZChas:array [0..100,1..300]of string;

 

Цитата:
Как соотносятся и связаны Form1 и TForm2?  

В смысле соотносятся? На Form1 uses Unit2; На Form2 uses Unit1;
 

Цитата:
Существует ли Form1 на момент вызова функции SIf?

Да, существует.
 

Цитата:
Nre у Вас с точно получит какое-нибудь значение?

Да, но то что я писал nre:=strtoint(inttostr(nre)); никак с этим не связанно, если ввести левую переменную и проделать с ней тоже самое (Левая_Переменная:=strtoint(inttostr(Левая_Переменная));), то работать будет нормально все.
 
Все переменные. с которыми работает программа проинициализированны, ошибок в чтения памяти не возникает.
Те переменные, что идут от нуля, т.е. ZGroup[0],ZPred[0],ZPrep[0],ZChas[0] - в конфликтной части кода не используются.
Все циклы в конфликтной части кода начинаются с единицы.
 
Обратите внимание на то, что при выполнении действии, от которых ничего не зависит программа работает не так, как без них.
Т. е. если я сотру все:

Код:
nre:=strtoint(inttostr(nre));  

То большая часть значений не присвоится и никаких ошибок чтения не будет, т.к. все переменные существуют.
 
А если я заменить nre на LevZ(Левая переменная, нигде не использующаяся):

Код:
LevZ:=strtoint(inttostr(LevZ)); //Levz:String; Нигде, кроме этого места не используется.

То всем переменным выдадут необходимые значения.
 
П.с.
Объявлял ZGroup,ZPred,ZPrep,ZChas на Form1 потому что эти переменные используются на 3 или 4 формах еще.

Всего записей: 186 | Зарегистр. 09-04-2009 | Отправлено: 16:14 11-12-2010 | Исправлено: ZBEP, 17:08 11-12-2010
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ZBEP
Сказать что то конкретное сложно, т к код трудночитаемый и не полный. Разве что общие рекомендации:
Для начала на вкладке Compiler включить Overflow checking и Range checking.
Ну а потом тяжелая артиллерия - EurekaLog и SafeMM.

Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 17:05 11-12-2010 | Исправлено: Frodo_Torbins, 17:07 11-12-2010
ZBEP



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Frodo_Torbins, та я щас вообще не пойму в чем дело, перегрузил комп, теперь достаточно, только 1 раз написать nre:=strtoint(inttostr(nre)); для корректной работы.
(до перезагрузки необходимо было писать минимум 5 раз (ну я с запасом 8 раз писал)).
Подумал может оперативка обиделась, проверил ее - все нормально.
 
 

Цитата:
Для начала на вкладке Compiler включить Overflow checking и Range checking.

Включил, ничего не поменялось.
 
С тяжелой артиллерией я пока повременю)
Нужно еще учет часов и кабинетов добавить.

Всего записей: 186 | Зарегистр. 09-04-2009 | Отправлено: 17:20 11-12-2010
EwgenBelovWhite



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте, извините если не по теме)
 
Имеется MySQL5.0, а также Delphi2010 есть желание написать оболочку на делфи для бд используя технологию ADO, не могу разобраться что еще необходимо установить, для связи.
 
Что мне делать?

Всего записей: 6 | Зарегистр. 02-11-2010 | Отправлено: 18:49 11-12-2010
tanaseduard



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
EwgenBelovWhite
Почему выбран ADO? Может посмотреть в сторону unidac?

Всего записей: 518 | Зарегистр. 21-11-2009 | Отправлено: 19:06 11-12-2010
Aleksoid1978



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
EwgenBelovWhite, tanaseduard
 
А еще лучше использовать Zeos - все таки он открытый/бесплатный.
http://zeos.firmos.at/


----------
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /Patriot 32Gb@3200 /Kingston 500Gb M.2 /RTX 4060 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

Всего записей: 9209 | Зарегистр. 11-05-2006 | Отправлено: 07:47 13-12-2010
ant0ni02004

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
EwgenBelovWhite
 
скачать mysql-ODBC

Всего записей: 442 | Зарегистр. 26-10-2004 | Отправлено: 19:01 13-12-2010
ZBEP



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как сделать полностью прозрачными Edit и RichEdit, но что бы текст был виден?
Ну что бы они типа не отрисовывались, но текст вводился/показывался.

Всего записей: 186 | Зарегистр. 09-04-2009 | Отправлено: 13:16 15-12-2010 | Исправлено: ZBEP, 13:26 15-12-2010
Открыть новую тему     Написать ответ в эту тему

Страницы: 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