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

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

Автор: Figaro2000
Дата сообщения: 18.08.2006 08:36
doroshka
среди VCL-компонент такого не знаю, но была серия хороших ActiveX'ов для работы со звуком -
NTCAudioStudio
NTCAudioConvert ActiveX
NTCAudioEditor ActiveX
NTCDialogicVoice ActiveX
Автор: goshavt
Дата сообщения: 18.08.2006 11:09
Всем привет!
У меня проблемка:

В какой-то момент начал переодически вылетать Exception с сообщением "Component named _1 already exists."
Покопав не много, нашел место, откуда он вылетает - из VCL библиотеки в методе AddItem ListView. А сейчас вообще не понятно откуда он берется, ListView заполненен, изменяются только иконки для итемов, а сообщение всеравно вылетает и после этого ListView остается пустой. Такое впечатление, что он сам себя перезапоняет в какой-то момент ( я стаким сталкивался с TreeView - когда форму на которой он находится пристыковываешь на другую форму, указатели на TTreeItem изменяются, будто их заново создали).

И ещё мне кажется, что это как-то связано с DevExpress QuantumGrid - ошибка появилась, когда начал использовать этот компонент, причем достаточно, чтобы форма с ним просто была скомпилирована, если удалить эту форму из проекта вроде все начинает работать нормально.

Может кто-то подсказать, что это за бяка и как с ней бороться?


Добавлено:
svs123456789

Ты все правильно задумал:
1. храниш файлы в базе данных в bin-blob полях
2. при надобности их оттуда достаёш, сохраняеш во временную папку и загружаешь их в WebBrowser (CppWebBrowser1->Navigate(WideString(FullFileName).c_bstr()); - пример для Builder), а он уже сам загрузит нужное приложение, если оно конечно установлено.
3. при закрытии этого документа сохраняешь обратно в базу и удаляешь временый файл.

Я думаю должно сработать, у меня так просмотр xml-ответов сделан.
Автор: Vladimir_Pashutin
Дата сообщения: 18.08.2006 11:32
По поводу хранения всякой всячины в полях базы данных. Делал я такие штуки лет пять назад, всё очень здорово до того момента как на компьютере появиться какая-нибудь гадость (вирусок противненький). Выковырять его потом из полей базы данных такое весёлое занятие, что я с радостью теперь его предлагаю всем друзьям, знакомым и соседям. Ни пуха ни пера.
Автор: jicoff
Дата сообщения: 18.08.2006 11:40
goshavt

Вообще это похоже на попытку добавить к Owner компонента с существующим именем. Как правило это происходит когда создаются однотипные компоненты с одним Owner, поэтому в таких случаях рекомендуется сразу переименовывать добавленный компонент, например, С_1, С_2 и т.д., что собственно и делает Борланд когда на форму добавляешь очередной компонент.



Цитата:
сталкивался с TreeView - когда форму на которой он находится пристыковываешь на другую форму, указатели на TTreeItem изменяются, будто их заново создали


Это вполне можен быть, т.к. при этом заново пересоздается Handle формы, которая накладывается на другую. Поэтому предварительно сохраняются Item'ы в поток, если не ошибаюсь, а потом восстанавливаются. Вот и происходит изменение указателей.
Автор: junik
Дата сообщения: 18.08.2006 12:21
Добрый день !

Народ, посоветуйте неплохой и шустрый парсер мат.выражений.

И еще, можете по построителям графиков функций чего-нить посоветовать? Окромя ТиЧарта
Автор: vshersh
Дата сообщения: 18.08.2006 12:28
junik

[more=TbcParser]
Код: TbcParser is a mathematical expression parser VCL
component that can be used with Borland Delphi
4,5,6,7 and Borland C++ Builder 3,4,5,6. Source
code works with Kylix to compile and run in Linux
as well.

TbcParser Component features include:
- Easy to use component API.
- Comes with predefined functions.
- Users can create custom functions/variables.
- Optimization: Constant expression elimination for
repeated tasks.
- Analytic Operators: +, -, /, *, ^
- Logical Operators: <, >, =, &, |, !, <>, <=, >=
- Paranthesis: (, {, [
- Functions in the form of: f(x,y,z,...)
- List of predefined functions is available in the
documentation.
Автор: Vladimir_Pashutin
Дата сообщения: 18.08.2006 12:34
junik
TRegExpr http://anso.virtualave.net
Автор: goshavt
Дата сообщения: 18.08.2006 12:35
jicoff

Цитата:
Вообще это похоже на попытку добавить к Owner компонента с существующим именем. Как правило это происходит когда создаются однотипные компоненты с одним Owner, поэтому в таких случаях рекомендуется сразу переименовывать добавленный компонент, например, С_1, С_2 и т.д., что собственно и делает Борланд когда на форму добавляешь очередной компонент.


Я бы так и сделал, но Итем создаю не я, а метод ListView, а точнее метод Add колекции TListItems, а там создается Итем и из конструктора Итема выскакивает Exception...

Мне кажется, что это связано с перездом по памяти, но найти его не могу, CodeGuard, ничего по этому поводу не говорит...
Автор: Vladimir_Pashutin
Дата сообщения: 18.08.2006 12:38
goshavt
Скорее всего твой Item содержит поле с VCL объектом, который создается при запуске метода Add. Попробуй создать свой собственный constructor

Добавлено:
vshersh
Что-то к тебе в ПМ письма не уходят. А поделииться TbcParser-ом можешь?
Автор: vshersh
Дата сообщения: 18.08.2006 12:49
Для всех желающих есть в варезнике
Автор: junik
Дата сообщения: 18.08.2006 13:34
vshersh

А какой из них побыстрей будет, может знаешь?
Надо графики функций строить по произвольным формулам просто ...
Автор: vshersh
Дата сообщения: 18.08.2006 13:38
junik
Мне больше всего понравился Pegtop Delphi Math
Там достаточно крутая демка и, если не ошибаюсь, как раз в этой демке тоже строятся всякие "безумные" графики...
Намеренных тестов по скорости не проводил...
Автор: junik
Дата сообщения: 18.08.2006 14:43
vshersh

Ок, спасибо за помощь.
Автор: Hazard
Дата сообщения: 19.08.2006 20:12
Подскажите, пожалуйста компонент для работы с http запросами (POST, GET, Авторизация, настройка http заголовка и т.д.) и, желательно, обработкой ответов сервера (ч.б. руками заголовок от содержимого не отделять при получении файлов или кода). Самое главное, ч.б. он держал нестандартные порты. Т.е. типа Clever InternetSuite (он вроде всем хорош, но с нестандартными портами работать не хочет, хотя возможность в мен такая есть )
Автор: Hazard
Дата сообщения: 20.08.2006 20:12
И еще вопрос: Есть ли компонента для распаковки zip архива из MemoryStream а не с диска?
Автор: Vixoid
Дата сообщения: 21.08.2006 06:28
Hazard
ZipForge
_http://www.componentace.com/zip_component_zip_delphi_zipforge.htm
Автор: ilyt
Дата сообщения: 21.08.2006 08:47
Подскажите пожалуйста как в компонентах MyDac /www.crlab.com/ обновлять данные в таблицах.

Мне помогает только disconnect/connect, но хотелось чтобы обновлялись не все наборы данных а хотя бы только нужная таблица, а в идеале хотелось обновлять данные только за период времени с последнего подключения.

Заранее спасибо.
Автор: xokc
Дата сообщения: 21.08.2006 20:16
doroshka
MMTools
Автор: TomasVercetti
Дата сообщения: 21.08.2006 21:25
А подскажите скин-компоненты, с которыми можно создать окно частично непрозрачным, а частично полупрозрачным? Что-то типа возможности использовать альфу или карту прозрачности. Но только не ActiveX компоненты... Спасибо...
Автор: Hazard
Дата сообщения: 21.08.2006 21:59
Vixoid
Спасибо, но что то я там не нашел ч.б. из Stream ... в Stream да, а из - не вижу. Везде const FileName:sting в качестве источника (напр ExtractToStream(const FileName:sting, Stream :TStream);)
Автор: SERGE_BLIZNUK
Дата сообщения: 22.08.2006 01:33
ilyt

Цитата:
как в компонентах MyDac /www.crlab.com/ обновлять данные в таблицах

никогда не пользовался этими компонентами, но, судя по описанию, это обычные датасеты(query, table) - пробуйте либо:
MyTable (MyQuery).Refresh
или
MyTable.close;
MyTable.Open;
или
MyTable.Active := false;
MyTable.Active := true;

Hazard

Цитата:
компонента для распаковки zip архива из MemoryStream

1) TurboPower Abbrevia смотрели?
2) в ZipTV точно внутри работа с архивами идёт через stream...
но сможете ли Вы разобраться и вытащить обработку наружу - не знаю ;-))
К слову, может вам проще сохранить файл во временный и распаковать уже его?

Добавлено:
в ZipTv:
TReadType =
(FromFile, FromMemoryStream, FromFileStream, FromPointer);
Автор: ilyt
Дата сообщения: 22.08.2006 10:12

Цитата:
MyTable (MyQuery).Refresh
или
MyTable.close;
MyTable.Open;
или
MyTable.Active := false;
MyTable.Active := true;

эти методы не помагают, помагает только connect/disconnect
Автор: Arvur
Дата сообщения: 22.08.2006 10:22
Hazard
Vixoid, наверное, спутал - поддержка потоков у них заявлена в Easy Compression Library. Сейчас это, кажется, самые популярные библиотеки.
Но если вдруг не устроит :
С потоками обычно работают всяческие zlib-клоны - библиотека изначально заточена под работу в памяти. Тут или бери VCLZip или что-нибудь более простое и opensource. Встречал переписку на чистый паскаль без dll, называлось DelphiZlib по-моему.
Еще можно Abbrevia посмотреть, там тоже есть методы для потоков. Но мне пакет не понравился когда-то - громоздкий и глюкавый.
Автор: jonikDk
Дата сообщения: 22.08.2006 14:36
Привет всем
В скором времени необходимо будет использование в своих проектах скриптов.
На данный момент слышал о следующих скриптах
FastScript
PaxScripter
RebObjects - PascalScript (бесплатный)
TMS ScriptStudio (не уверен но кажется такой есть)

кто может что сказать про скриптовый движки ?
Интересует скорость и поддержка работы с классами. (работа со своими классами и тому подобное)
Автор: Vladimir_Pashutin
Дата сообщения: 22.08.2006 15:04
jonikDk
Реально работал только с TMS Script Studio, в принципе вещь достаточно удобная, мне понравилось, скорость работы не отличается от родного кода, если не считать время на первую компиляцию скрипта. Компиляция кстати тоже вполне приемлемая, по крайней мере в моем приложении нареканий на скорость работы не было. Можно заставить работать с любыми внутренними объектами программы. Внутри скриптов поддерживается стандартный синтаксис языков С++, Pascal и Basic. Я использовал Basic - так требовалось пользователям. Не поддерживается описание собственных структур данных внутри скриптов.
Немного знаю про PasScript, но сам реально не пользовал - в дополнение к возможностям TMS там внутри скрипта возможно описание собственных классов, я не сталкивался ещё с задачами где бы требовался такой функционал, но мало-ли.
Автор: Arvur
Дата сообщения: 22.08.2006 15:14
Hazard

Цитата:
Подскажите, пожалуйста компонент для работы с http запросами (POST, GET, Авторизация, настройка http заголовка и т.д.) и, желательно, обработкой ответов сервера (ч.б. руками заголовок от содержимого не отделять при получении файлов или кода). Самое главное, ч.б. он держал нестандартные порты. Т.е. типа Clever InternetSuite (он вроде всем хорош, но с нестандартными портами работать не хочет, хотя возможность в мен такая есть )

ICS - www.overbyte.be
Вроде бы все умеет, да и одна из лучших в этом классе
Автор: Vixoid
Дата сообщения: 23.08.2006 06:20
jonikDk
PaxScripter - мощьная щтука, лучший, я считаю!!!
Четыре синтаксиса: Pascal, C++, Basic, Java.
Поддержка Delphi форм, классов, есть утилита которая по исходным модулям Delphi генерит библиотеку с классами для подключения к движку и т.д.
Работал с FastScript долго и упорно - слабоват. С TMS Script Studio давно работал чёта непонравилось, непомню.
Здесь уже было опсуждение по поводу скриптовых движков, полистай назад!
Автор: jonikDk
Дата сообщения: 23.08.2006 08:39

Цитата:

PaxScripter - мощьная щтука, лучший, я считаю!!!
Четыре синтаксиса: Pascal, C++, Basic, Java.
Поддержка Delphi форм, классов, есть утилита которая по исходным модулям Delphi генерит библиотеку с классами для подключения к движку и т.д.
Работал с FastScript долго и упорно - слабоват. С TMS Script Studio давно работал чёта непонравилось, непомню.
Здесь уже было опсуждение по поводу скриптовых движков, полистай назад!


Спасибо за помощь, буду пробовать.
Автор: jicoff
Дата сообщения: 23.08.2006 17:10
Кто-нибудь знает, что за сообщение приходит форме с FormStyle = fsMDIForm, при переключении между MDIChild формами? С помощью Spy++ обнаружил сообщение WM_USER+32146 с указателем на форму в параметре LParam, которая активируется или деактивируется, но не удалось в исходниках найти какой-нибудь зацепки. Толи это Borland посылает, толи сам Виндовс, только не известно является ли это значение константой и будет ли работать на других компьютерах.
Автор: KRS545
Дата сообщения: 23.08.2006 17:16
OnActivate должно быть

Добавлено:
и OnPaint тоже должно быть

Добавлено:
OnActivate должно быть

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071

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


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