Добрый день, Шурик! Используй в программе для открытия базы данных компонент TDatabase.
Ответ отправлен: 16.09.2002, 08:10 Отправитель: Vladimir
Вопрос № 184
Здрасте! У меня такая ситуация: Я создаю проект-DLL и добавляю в него форму, на которую ставлю картинку(TImage) и гружу в нее рисунок. Программа, котороя исрользует DLL вызывает функцию, которая возвращает ссылку на картинку: function GetDLLImage : TImage;external 'XXX.dll'; В проге тоже есть форма с картинкой. Когда я делаю: ProgImage.Picture.Graphic.Assign(GetDLLImage.Picture.Graphic) - выводится ошибка: "Can't assign TGraphic to TGraphic" Причем GetDLLImage<>nil А как мне передать рисунок или вообще какой-то объект от TPersistent, я тогда не знаю. Посоветуйту хотя бы что-нибудь
Добрый день, Corsar! Ты пробовал такую процедуру вызывать из основной программы при условии что и форма и картинка находятся не в DLL, а в той же программе?! В Дельфах и Бидлере вообще, когда ты создаешь свои компоненты, лучше пользоваться не DLL, а BPL библиотеками. Она и подключается к твоему проекту легче и работает надежнее, ты форму которцю ты сделаешь в BPL, можешь поместить на главную форму и использовать как обычный компонент. Ответ отправлен: 16.09.2002, 14:08 Отправитель: Pablo
Вопрос № 185
Здраствуйте эксперты ,у меня такой вопрос:в стантартных компонетах есть такая фишка Servers там есть такие компонеты как AccessForm для чего это и как это работает я пишу программу поиска в БДAccess я думаю может это может как нибудь помочь и как сделатьдоступкAccess бд
Доброе время суток, sergwolf! Это сделано для того, чтобы программеры, типа тебя и меня, не дрючились с OLE Automation. Раньше, если тебе это известно, для доступа к таблицам Excel и прочей офисно дури, нужно было написать кучу кода, который еще не всегда работал. Теперь для этого есть компоненты. А к БД лучше все-таки либо через ODBC, либо через BDE, или есть еще компоненты для прямого доступа к Access'овской базе (что-то на основе Ole DB). Ответ отправлен: 16.09.2002, 13:34 Отправитель: Jadd Отвечает Pablo
Здравствуй, sergwolf! Для доступа к базе данных MS Access используй TADOConnection компонент. В типе провайдера поставь Microsoft Jet OLEDB 4.0. Ответ отправлен: 16.09.2002, 14:08 Отправитель: Pablo
Вопрос № 186
Привет всем у меня вопрс поADODataSet я через этот компонент открывает Accessтаблицу но теперь всталапроблема поиска я заню что применяютсяFindFirst,FindNext но у меня почему тоглючитвот мой код: Чего я там мог пропуститьподскажите?
Доброе время суток, sergwolf! Во-первых, так нельзя работать с исключениями. Код действительно как-булто топором рублен - не поймешь, где голова, где хвост. :) Во вторых, если тебя интересует только первое попавшееся значение, то надо начинать поиск с самого начала датасета. Т.е. ADODataSet1.First; ADODataSet1.SetKey; и далее по твоему тексту. Но я бы делал иначе. Есть распрекрасный метод Locate все в этом же классе. При тщательном рассмотрении ты увидишь, что этот метод позволяет находить записи, несмотря на регистр (опция loCaseInsensitive) и производить поиск даже по частично введеному слову (опция loPartialKey). Т.е. твой код можно сделать лучше. Например, так: procedure Form1.Edit1Change(Sender: TObject); begin ADODataset1.Locate("SOMEFIELD", Edit1.Text, [loCaseInsensitive, loPartialKey]); end; и все. Можно, конечно, и не в EditChange-методе
сделать, но это уже твои дела.
Ответ отправлен: 18.09.2002, 12:55 Отправитель: Jadd Отвечает Pablo
п”пѕп±яЂя‹п№ пґпµпЅяЊ, sergwolf! пўя‹ пїпѕпїяЂпѕп±яѓп№ п·п°пјпµяЃя‚пѕ FindFirst пё FindNext я„яѓпЅпєя†пёпё Locale пё Seek. Ответ отправлен: 18.09.2002, 19:59 Отправитель: Pablo
Форма отправки вопроса
Внимание!
Форма может работать некорректно в почтовых программах "Microsoft Outlook"
и "Microsoft Outlook Express". В программе The Bat!
подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте,
что в некоторых браузерах могут стоять запреты на открытие других
окон, а также "чрезмерное" кэширование данных,
при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet
Explorer 5.0+ или отправлять вопросы с сайта по адресу:
http://rusfaq.ru/cgi-bin/Message.cgi.