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

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

Автор: psa1974
Дата сообщения: 24.03.2010 10:17
Дельфи 2010. Начиная с какого-то момента пропал Help Insight - вместо него всплывает обычный хинт как в Дельфи7... Одновременно пропал весь рефакторинг - в контекстном меню редактора кода пункт Refactoring есть, а в нем - ни одного пункта. Пусто.
Никто не сталкивался? Куда копать?
Автор: fcdobpiy
Дата сообщения: 24.03.2010 10:31
если использовать блок
with AnyClass do
begin
some1:=1;
some2:=2;
end;

то при отладке при наведении мыши на some1 не показывается её значение. а если напистать AnyClass.some1 товсе нормально. воспроизводится во всех версиях делфи

как такое побороть? смысл использования with тогда нет...
Автор: psa1974
Дата сообщения: 24.03.2010 10:57
fcdobpiy

Цитата:
как такое побороть?

Так всегда было. Подводи курсор к идентификатору внутри with...do - высветятся все поля этого идентификатора. Чем плохо? А смысл использования - лично для меня - лучшая читабельность кода. Не более.
Автор: snike555
Дата сообщения: 24.03.2010 13:20
В TСhart добавляю 5 точек, снизу даты, слева значения, если растягивать chart, то помимо заданных мной дат появляются ещё промежуточные, подскажите пожалуйста, как сделать чтобы их не было и остались только заданные мной.
Автор: psa1974
Дата сообщения: 25.03.2010 10:57

Цитата:
Дельфи 2010. Начиная с какого-то момента пропал Help Insight

Сам спросил, сам отвечаю: оказывается, надо в дистиллере снять галку "Don't load additional .NET crap". Все встало на свои места. И рефакторинг тоже
Автор: spasius
Дата сообщения: 25.03.2010 11:02
psa1974
Дистиллер используют часто. Думаю по теме и можно добавить в шапку. Пригодится.
Автор: mdid
Дата сообщения: 26.03.2010 13:38
dpr файл

Код:
Application.Initialize;
Application.MainFormOnTaskbar := True;
Application.CreateForm(TMainF, MainF);
with TAuthoriz.Create(Application) do begin
ShowModal;
if ext=true then Application.Terminate;

if close_flag then Application.Run;
free;
end;
Автор: volser
Дата сообщения: 26.03.2010 13:56
mdid
Попробуйте удалить форму TAuthoriz после ShowModal;
Автор: psa1974
Дата сообщения: 26.03.2010 14:00
mdid
TForm2 - главная, TForm3 - форма авторизации...
[more=Вариант, когда при показе формы авторизации нужна кнопка на панели задач]begin
Application.Initialize;
Application.MainFormOnTaskbar := True;
Application.CreateForm(TForm3, Form3);
with Form3 do
begin
case ShowModal of
mrOK:
begin
Free;
Application.CreateForm(TForm2, Form2);
Application.Run;
end;
mrcancel:
begin
Free;
Application.Terminate;
end;
end;
end;
end.[/more]
[more=Вариант, когда при показе формы авторизации кнопка на панели задач не нужна (она появится при создании главной формы)]begin

begin
Application.Initialize;
Application.MainFormOnTaskbar := True;
with TForm3.Create(Application) do
begin
case ShowModal of
mrOK:
begin
Application.CreateForm(TForm2, Form2);
Application.Run;
end;
mrcancel: Application.Terminate;
end;
Free;
end;
end.[/more]
Автор: mdid
Дата сообщения: 26.03.2010 14:01
всмысле удалить?..если сделать free то это делается опосля if close_flag then Application.Run;

Добавлено:
у меня на MainF находится компонент коннекта ктороый используется в TAuthoriz..а вообще не пойму проблему...как мне кажется на ровном месте
Автор: Samotek
Дата сообщения: 26.03.2010 14:15
mdid

Цитата:
Application.MainFormOnTaskbar := True;

Убрал эту строчку и у меня стало все нормально

Автор: mdid
Дата сообщения: 26.03.2010 14:30
Samotek
оборжаться...смешно..но блин работает..спасибо большое
Автор: Samotek
Дата сообщения: 26.03.2010 14:54
mdid
да просто я то-же трахался с этим
Автор: psa1974
Дата сообщения: 26.03.2010 16:07

Цитата:
Убрал эту строчку и у меня стало все нормально

За этой строкой очень глубокий функционал прячется. И много непоняток, которые тянутся с тех пор, как только она появилась, как минимум - вышеобозначенная проблема.
Чисто визуально - при Application.MainFormOnTaskbar := False меню приложения (у кнопки на панели задач) становится как в Дельфи 7 - сильно сокращенное. Но это ерунда.

Гораздо важнее, что при Application.MainFormOnTaskbar := False у главной формы есть владелец - объект Application, который и является главным окном приложения (как и в старых версиях Дельфи). А при Application.MainFormOnTaskbar := True главная форма не имеет владельца в понятиях системы, именно она является главным окном приложения! Т.е. Дельфи по прежнему эмулирует такое поведение, что якобы у формы владелец - объект Application, и вызвав для главной формы ShowMessage(Self.Owner.ClassName), мы получим сообщение "TApplication". Но это всего-навсего эмуляция! Если выполнить строку (на уровне WinAPI):
Код: ParentWnd := THandle(GetWindowLongPtr(Self.Handle, GWLP_HWNDPARENT))
Автор: mdid
Дата сообщения: 30.03.2010 12:06
драсте..
при возникновении ошибки ADO выполняется код в ExecuteComplete..но как показала практика-не всегда..
допустим ошибка при вставке в обязательное поле значения Null оно не отлавливает...хотя структура Error и все остальные заполнены..как эту беду побороть?
кто то вообще вкурсе как эта процедура работает?...я первый раз вижу что бы без видимых операторов в процедуре шел скачек в конец процедуры
ПС
нашел ошибку
Автор: eddoc
Дата сообщения: 30.03.2010 21:50
mdid
правила хорошего тона предполагают приводить полный код процедуры с ошибкой, а также исправленный вариант, дабы будущие пользователи могли чему-нибудь поучиться.

зы. Кроме того, я бы все-таки посоветовал вам (поскольку я видел ваш код на другом форуме) применять метод Free внутри конструкции try..finally..end
Автор: eddoc
Дата сообщения: 31.03.2010 08:53
Кстати, в шапке в числе важных багов упомянут, что при деинсталляции D2010 удаляется в числе прочих и файл Windows\System32\CC3280MT.DLL

Как раз вчера снес и заново поставил D2010, обнаружил следующее:

1. указанный выше файл для D2007 в указанной папке отсутствует. Вместо него там фигурирует CC3260MT.DLL



2. Деинсталляция D2010 данный файл у меня не удалила вопреки предупреждению. Стоят все последние апдейты.

Если так не только у меня, предлагаю поправить инфу в шапке
Автор: mdid
Дата сообщения: 31.03.2010 12:44
eddoc
код не привожу ибо это мой недосмотр и не более...
а где вы видели что я использую try...except?для отлова исключений ADO я использую ExecuteComplete..
а для всех остальных ApplicationEvents...ибо проект на стадии разработки и порядка 10-13к строк..и каждый подозрительный блок выделять try...except мне лень
Автор: eddoc
Дата сообщения: 31.03.2010 18:54
mdid


Цитата:
а где вы видели что я использую try...except?

именно этого я и не увидел: ни тут, ни на скруле
Автор: Vo1T
Дата сообщения: 01.04.2010 19:40
---
Автор: eddoc
Дата сообщения: 01.04.2010 23:50
Vo1T
Вот тут галка стоит?

Автор: ArchiDevil
Дата сообщения: 02.04.2010 00:14
Здравствуйте

Пытаюсь прочитать данные из реестра. Везде всё хорошо читается и только в одном месте какая то непонятка
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
"Shell"="Explorer.exe"
Вместо Explorer.exe считывается ExploreTaskM. При попытке записать в этот ключ Explorer.exe записывается Explor. Делать всё это пытался как через WinAPI так и через TRegistry. Система Win7 x64. На XP x32 работает. Может кто подсказать рабочий способ для данной ОС? С Delphi 7 тоже самое...
Автор: ArchiDevil
Дата сообщения: 02.04.2010 19:21
Hi2All

Есть библиотека WinSign.dll В ресурсах у неё форма. Как программно подключить эту библиотечку к своему проекту и вызвать это окно?
Автор: volser
Дата сообщения: 02.04.2010 19:31
ArchiDevil
API для работы с библиотекой есть?
Автор: SerBUser
Дата сообщения: 05.04.2010 03:28
Здравствуйте. Вопрос по Delphi 2009 для .Net. Создаю обычное приложение VCL Forms Applications - Delphi for .Net (одна пустая форма и все), сразу сохраняю и компилирую его - размер exe-шника 1,43 Мбайт. Если создать пустую форму в том же Visual Studio 2008, размер exe-шника на порядок меньше. Почему так?
Автор: Frodo_Torbins
Дата сообщения: 05.04.2010 10:43
SerBUser
Наверно это использование VCL так сказывается. Да и вообще официально Delphi.Net в 2009 студию не входит. Теперь вместо него Delphi Prizm.
Автор: SerBUser
Дата сообщения: 05.04.2010 10:59
Frodo_Torbins
Это почему не входит? iso-шник скачан с Борланда, .Net там есть, это в 2010 его тету
Автор: Frodo_Torbins
Дата сообщения: 05.04.2010 13:01
SerBUser
Через оригинальный, не ломаный инсталлер Delphi.Net поставить нельзя. Да и на офф сайте о нем не было упоминаний. Хотя файлы, необходимые для его установки, в инсталлятор все же были включены, возможно для обратной совместимости.
Автор: mdid
Дата сообщения: 06.04.2010 16:24
delphi 2010
проблема с получением фокуса...при получении фокуса форма на мгновение(очень даже видимое глазу) зависает..при появлении пустой формы - она появляется мгновенно...но если есть какой то компонент на который по умолчанию ложится фокус - начинаются тормоза...та и переход между компонентами сопровождается тормозами...что это может быть?
Автор: AvGSoft
Дата сообщения: 07.04.2010 07:36
mdid
смотри какие события вешаются на компоненты или может данные какие получает, без исходника трудно сказать.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172

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


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