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

» Вопросы по компонентам для Delphi, C++ Builder 2

Автор: VadimLou
Дата сообщения: 21.12.2006 17:14
VikLabel

Цитата:
переключаться между любыми формами не заботясь о создании следующей

в Elpack-е такого не видел...
Мож проще код приведёшм... полечим ...
Автор: VitaliM
Дата сообщения: 21.12.2006 17:53
VikLabel
Если я правильно понял, ты пытаешься уничтожить форму находясь в обработчике OnClick кнопки, принадлежащей уничтожаемой форме. В таком случае ошибки неизбежны.
Автор: jicoff
Дата сообщения: 21.12.2006 18:57
clear2121

Более того, TcxSpreadSheetBook какой-то недоделанный. Например, нет встроенного меню, хотя можно было реализовать стандартные операции. Пока мне тоже не удалось найти заменитель самого Excel'я. Но работать из программы с OleObject'ом тоже не очень удобно.

VikLabel

Не совсем понятна задача, можно уточнить порядок создания и удаления форм.

Добавлено:
VitaliM

Удалить себя по своей кнопке тоже не проблема: вызываешь PostMessage(...), а там удаляешь, проблем не должно быть. Или еще того проще, конкретное сообщение WM_CLOSE.
Автор: Arvur
Дата сообщения: 21.12.2006 19:26
jicoff, VitaliM, VikLabel
Уважаемые, а по-моему метод Release - наиболее простой способ закрыть форму внутри обработчика
... или чего-то не понимаю?
Автор: VitaliM
Дата сообщения: 21.12.2006 19:44
Arvur
А я и не спорю с твоим замечанием.
Просто не имея достаточно опыта некоторые пытаются использовать метод Free или напрямую вызывают Destroy.
Автор: ORMADA
Дата сообщения: 22.12.2006 05:37
2 VikLabel
что-то неравильно делаешь раз ошибка валятся
кусок кода в студию!
Автор: VikLabel
Дата сообщения: 22.12.2006 11:39
Есть главная форма с панелью кнопок Form1, переключаюсь между формами по коду (у всех нужных кнопок панели одинак. код):

Код:
procedure TForm1.TBXItem1Click(Sender: TObject);
var
NewClass: TFormClass;
New: TForm;
begin
LockWindowUpdate(Container.Handle);
try
case (Sender as TTBXItem).Tag of
0: NewClass := TForm2;
1: NewClass := TForm3;
2: NewClass := TForm4;
3: NewClass := TForm5;
else
NewClass := nil;
end;
if (Container.ControlCount = 0) or not (Container.Controls[0] is NewClass)
then
begin
if Container.ControlCount > 0 then
Container.Controls[0].Free;
if Assigned(NewClass) then
begin
New := NewClass.Create(Self);
New.Hide;
New.BorderStyle := bsNone;
New.Parent := Container;
New.Align := alClient;
New.Show;
end;
end;
finally LockWindowUpdate(0);
end;
end;
Автор: freedom83
Дата сообщения: 22.12.2006 12:49
в обменнике есть halcyon
два вопроса:
1. THalcyonDataSet там присутствует?
2. как устанавливать, нет файла с проектом?!
Автор: VitaliM
Дата сообщения: 22.12.2006 14:09
VikLabel

Цитата:
if (Container.ControlCount = 0) or not (Container.Controls[0] is NewClass)

Если я правильно понял, Container у тебя это TElFormDisplay а не TElFormContainer.
И с Container ты пытаешься работать как с обычным TWinControl не используя методы и свойства TElFormDisplay и TElFormContainer. В этом и кроется скорее всего проблема.
Автор: VikLabel
Дата сообщения: 22.12.2006 14:50
Не... левых компонентов не использую, Container это обычная Panel на главной форме!
Мой код можно скопировать и у себя проверить его работу (необходимы только "стандартные" формы, кнопки и панель)
Elpack привел для информации!
Автор: VitaliM
Дата сообщения: 22.12.2006 16:55
VikLabel

Как уже говорил уважаемый Arvur, вместо метода Free надо использовать Release.


Код: procedure TForm2.SpTBXButton1Click(Sender: TObject);
var
NewClass: TFormClass;
New: TForm;
begin
............
............
if Form1.Container.ControlCount > 0 then
TForm(Form1.Container.Controls[0]).Release;
............
............
end;
Автор: VikLabel
Дата сообщения: 22.12.2006 19:44
VitaliM - СПАСИБО!
Arvur

ВСЕМ СПАСИБО!
Автор: VitaliM
Дата сообщения: 23.12.2006 11:04
Вопрос ко всем. Кому-нибудь удалось поставить компоненты SynEditStudio 2006.11.14 5.0 в Delphi 6 или Delphi 7. У меня при попытке положить на форму SynEdit или SynMemo AV выскакивает. Если кто решил эту проблему, подскажите что делать.
Автор: oan42
Дата сообщения: 23.12.2006 20:54
VitaliM
У меня то же самое.
Разумнее всего подождать следующего релиза.
Автор: VitaliM
Дата сообщения: 23.12.2006 21:54
oan42
Ну уж прям и не знаю, имеет ли смысл ждать следующего релиза.
У меня нормально работает вариант от 2006.07.22, а от 2006.08.06 уже не работает (не компилируется). При таких эктремальных изысканиях автора можно и недождаться. Еще плохо, что автор стандартные диалоги редактора (поиск, замен и т.д.) под себя затачивает, т.е. только на китайском языке, да и презентабельность этих диалогов разительно отличается от самого редактора, как будто их какой-то неумеха делал.
Автор: andead
Дата сообщения: 24.12.2006 10:20
посоветуйте аналог TExplorerDrop для BDS2006, желательно с сылками
Автор: Sergey913
Дата сообщения: 24.12.2006 15:13
Здравствуйте.
Помогите плз с Direct Mysql Objects компонентом для Баз данных.
Вот что делаю:


AllDB := MySQLClient.Query('SHOW DATABASES', True, OK);


AllDB.First;
For i:=0 to AllDB.RowsCount-2 do
Begin
if AllDB.LastRowRead then
AllDB.Next
else
AllDB.Last;

DBInfo := MySQLClient.Query('SHOW TABLE STATUS '+AllDB.FieldValue(0), True, OK2);
DBInfo.First;
Form1.RichEdit1.Lines.Add(DBInfo.FieldValueByName('Update_time'));
end;


Но проблема в том, что не получается. Выдает мне ошибку и скидывает на процедуру DBInfo.First; но не в моем коде, а на общую процедуру, которая описана в файлах модуля.
Что это такое, как побороть?
Автор: oan42
Дата сообщения: 24.12.2006 19:51
VitaliM
Да, у китайских товарищей пока с качеством программирования туго.
Не забудьте с MemCheck-ом потестировать SynEdit Studio,
раньше там память лилась, сейчас не знаю, изменил этот фрагмент.

Автор: YAPLLE
Дата сообщения: 24.12.2006 21:22
Написал компоненты Zeos для FastReport 3.xx.
Сделал всё, как написано в руководстве, также учитывая обновлённую регистрацию компонентов в скриптовой системе (http://fast-report.com/ru/forum/index.php?showtopic=3172&hl=ascript) , но почему то компоненты упорно не хотят появляться в скриптовой системе.
Как устранить эту проблему?
Автор: VadimLou
Дата сообщения: 25.12.2006 01:00
oan42

Цитата:
MemCheck-ом

А есть ли MemCheck для 10-ки ?
Автор: Alto
Дата сообщения: 25.12.2006 04:57
VadimLou
Лучше посмотри в сторону
http://fastmm.sourceforge.net

VitaliM
А какие у него отличия от бесплатного с sf.net? Дополнительные фитчи? Можно ссылку на офсайт?
Автор: RomanTim
Дата сообщения: 25.12.2006 07:01
VadimLou
Можно AQTime взять. С Д2006 работает. 4-я версия релизилась SSG, где-то на fixdown должна быть, на сайте написано, что вышла пятая, но есть ли в нормальном виде не знаю

Alto
А фастмем умеет проверять приложения на утечки памяти?
Автор: oan42
Дата сообщения: 25.12.2006 10:55
VadimLou
MemCheck: Current version is 2.74 and is for Delphi 5.1, Delphi 6, Delphi 7, Delphi 2005 and Delphi 2006 (several IFDEFs)
Please note that Delphi 2005 and 2006 supports have not been tested by me but have been contributed

http://v.mahon.free.fr/pro/freeware/memcheck/
Автор: VitaliM
Дата сообщения: 25.12.2006 13:31
Alto
Отличия очень приятные:
- возможность редактирования и загрузки из файлов подсветки синтаксиса. ( в отличие
от того что с sf.net, где надо генерировать новый pas для языка программирования,
если изменился набор подсвечиваемых инструкций)
- есть folding и возможна его настройка для структурированных языков

Насчет ссылки на офсайт, то это не имеет никакого смысла - там все по китайски.
Все варианты исходников найдешь на delphifans, используй поиск. Там же увидишь и ссылку на офсайт.
Эта ссылка www.delphist.com ведет на сайт, где зародился промежуточный этап развития SynEdit, но автор работу над ним уже забросил и продолжил ее уже китаец.
Автор: KUBKACH
Дата сообщения: 25.12.2006 13:43
При установки компонента ExpressEditors Library 4 на Деллфи6 выскакивает ошибка:

[Error] cxExtEditConsts.pas(109): Undeclared identifier: 'clHotLight'
[Error] cxExtEditConsts.pas(115): Undeclared identifier: 'clMenuBar'
[Error] cxExtEditConsts.pas(115): Undeclared identifier: 'clMenuHighlight'
[Fatal Error] cxCheckListBox.pas(53): Could not compile used unit 'cxExtEditConsts.pas'

Подскажите что-нибудь,плиз.
Автор: jicoff
Дата сообщения: 25.12.2006 14:04
KUBKACH

Включи модуль graphics.pas
Автор: oan42
Дата сообщения: 25.12.2006 15:58
Alto
Посмотрел по Вашему совету в сторону FastMM.

Меня интересует в основном
1) возможность обнаружения утечек памяти с выдачей
подробной информации об утечках в файл.
2) при работе приложения под отладчиком нужно
загрузить в редактор Unit с утечкой и указать на строку нем.

MemCheck делает это легко.

В FastMM cделал для выдачи в файл:
{$define FullDebugMode}
{$define LogErrorsToFile}

В простейшем тестовом приложении ничего не работает.
При запуске выскакивает AV.

Конечно, где-то я не прав. Вопрос - где?
Автор: KUBKACH
Дата сообщения: 25.12.2006 16:47
jicoff
Да, если бы я знал как?
Может подскажешь полному лузеру.
Автор: oan42
Дата сообщения: 25.12.2006 17:10
KUBKACH
uses ..., graphics;
Автор: ILSOFT
Дата сообщения: 26.12.2006 07:20
oan42

Цитата:
В FastMM cделал для выдачи в файл:
{$define FullDebugMode}
{$define LogErrorsToFile}

В простейшем тестовом приложении ничего не работает.
При запуске выскакивает AV.

FastMM_FullDebugMode.dll положил в папку с "простейшей" прогой?

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071

Предыдущая тема: Вызов файла по относит пути и определение буквы СД-рома


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