Часто задаваемые общие вопросы по Borland Delphi Часть 1 Введение Вопросы общего характера
1. Какова цель этого FAQ? Этот FAQ предназначен для ответов на некоторые вопросы относительно
новой cреды разработки Borland International, называемой Delphi. Этот документ,
в действительности, не FAQ в полном смысле этого термина , потому что некоторые
из вопросов, на которые здесь есть ответы, не очень часто задают на самом
деле.
Проще всего зайти на наш WWW-сервер (www.demo.ru) и загрузить
оттуда свежие версии всех имеющихся материалов, которые, кстати, помимо
Delphi, охватывают весь спектр продуктов, выпускаемых фирмой Borland International.
Также вы можете получить текстовую версию данных материалов, загрузив файл
delfaqs.zip.
1. Что такое Delphi? Delphi - это достаточно новый продукт Borland International для быстрого
создания приложений (RAD). Высокопроизводительный инструмент визуального
построения приложений, работающих с базами данных в архитектуре клиент-сервер,
Internet/Intranet, а также для локальных машин и файл-серверной архитектуры.
Этот инструментарий включает в себя настоящий компилятор кода и предоставляет
средства визуального программирования, несколько похожие на те, что можно
обнаружить в Microsoft Visual Basic или в других инструментах визуального
проектирования. Лежащий в основе Delphi язык - Object Pascal, который является
расширением объектно-ориентированного языка Pascal (Turbo/Borland Pascal,
начиная с версии 5.5). В Delphi также входят локальный SQL-сервер InterBase
4.0, генераторы отчетов, библиотеки визуальных компонентов, и прочее хозяйство,
необходимое для того, чтобы чувствовать себя совершенно уверенным при профессиональной
разработке информационных систем или просто программ для Windows-среды.
Поскольку в архитектуре клиент-сервер де-факто сложилось такое положение,
что клиентские станции работают, как правило, в Windows-среде, а SQL-сервер
- в операционной системе UNIX, Delphi Client-Server может служить удобным
инструментом для скоростной разработки приложений.
Прежде всего профессиональным разработчикам, желающим очень быстро разрабатывать
приложения в архитектуре клиент-сервер. Delphi производит небольшие по
размерам (до 15-30 Кбайт в Delphi 3.x !) высокоэффективные исполняемые
модули (.exe и .dll), поэтому в Delphi должны быть прежде всего заинтересованы
те, кто разрабатывает продукты на продажу. С другой стороны небольшие по
размерам и быстро исполняемые модули означают, что требования к клиентским
рабочим местам существенно снижаются - это имеет немаловажное значение
и для конечных пользователей. Помимо стандартных клиентских приложений
(Delphi 1.0 и 2.0), Delphi 3.x также имеет средства для созданий приложений
в многозвенной архитектуре.
4. Какие есть версии Delphi? В феврале 1995 года была выпущена первая версия Delphi, которая генерировала код, исполняемый под операционной системой Windows 3.1x. В начале февраля 1996 года объявлено о выходе второй версии продукта, которая генерирует уже 32-разрядный код для Windows 95 и Windows NT и использует все преимущества 32-разрядных приложений - более высокая скорость обработки данных, большее количество возможностей для приложения и др. Вторая версия Delphi предлагается уже в трех вариантах: Delphi Desktop, Delphi Developer и Delphi Client/Server Suite. Версии Desktop и Developer включают в себя Delphi Desktop 1.0, а Client/Server Suite - Delphi Client/Server 1.0. В ближайшем будущем ожидается версия Delphi 3.0, которая также будет
создавать 32-разрядные приложения со встроенной поддержкой стандартов COM/DCOM,
ActiveX, улучшенными средствами работы с базами данных и т.д. Варианты
поставки, судя по всему, будут аналогичны второй версии.
Минимальная установка Delphi 1.0 требует приблизительно 30 Мбайт на диске, и полная установки - 80 Мбайт. Чтобы Delphi работал хорошо, нужен 486 процессор с 8 Мбайт ОЗУ, хотя мы рекомендовали бы 16 Мбайт. Практика показывает, что скорость CPU не является критическим параметром. Для 32-разрядных
версий Delphi требования увеличиваются. Полная установка занимает чуть
более 100 Мбайт, оперативной памяти желательно иметь не менее 16 Мбайт.
32 Мбайт ОЗУ достаточно, чтобы комфортно работать и отлаживать программы
в Delphi, используя при этом загруженный на этой же машине Local Interbase.
Меньше 170Кб, если имеется в виду программа, "собранная" обычным для Delphi способом. При этом сразу же подключается стандартная поддержка форм и пр. Тем не менее при помощи Паскаля, поддержимаемого Delphi, можно написать программу, которая ничем по своим качествам не будет отличаться от программы, написанной в BP7.0. (То есть размер такой программы может быть около 15Кб) Рекорд - 3.5 Кб!! Но и это еще не
все. Концепция пэкиджей (paсkages), введенная в Delphi 3.0, позволяет создавать
программы, код которых будет составлять всего несколько килобайт + разделяемые
между всеми приложениями библиотеки времени выполнения, оформленные в виде
DLL.
Если вам повезло, то вы уже имеете большой опыт работы и с Borland Pascal With Objects, и с Visual Basic. Если вам подходит данное описание, тогда Delphi будет для вас сразу понятен. А теперь для остальных: Чтобы полностью использовать возможности среды Delphi, вы должны знать Pascal , вы должны иметь некоторые знания об объектно-ориентированном программировании и вы должны знать о программировании событий. Если вы преодолели эти три препятствия, то вы имеете все необходимые знания. С другой стороны , большинству людей не нужно полностью использовать все возможности среды. Если вы хотите создать приложение, которое не делает ничего особенно причудливого, то даже без особого программирования вы в течение 5-10 минут сможете собрать из визуальных компонент Delphi что-нибудь достаточно мощное и на удивление работоспособное. Приложения, созданные в среде Delphi, отличаютя повышенной надежностью.
Встроенные механизмы RTTI и обработки исключений вместе со строго типизированным
языком Object Pascal изначально закладывают в программы устойчивость к
всевозможным сбоям, которые могут произойти в операционной системе, на
SQL-сервере или непосредственно в вашей программе. Даже ничего не делая
самому, всегда можно как минимум узнать, что произошла ошибка и где, а
зачастую и получить исчерпывающую дополнительную информацию. Во многом
это заслуга и компилятора Borland с языка Pascal, история которого насчитывает
более 13 лет.
Используя Delphi Desktop 1.0 или Delphi Developer 2.0, можно разработать
приложение, которое общается с каким-нибудь SQL сервером, используя ODBC
драйвер. Hе было особых проблем, чтобы заставить работать ODBC, и скорость
доступа к данным была вполне приемлема. Тем не менее те, кто уже успел
опробовать оба варианта, в один голос утверждают, что через IDAPI работать
быстрее. В Delphi Desktop 2.0 работа через ODBC не поддерживается.
Delphi - потомок Турбо-Паскаля , который впервые появился в 1983г для операционной системы CP/M . Турбо-Паскаль был перенесен в MS-DOS в начале 1984г. Hа протяжении всего начала истории IBM PC, Турбо-Паскаль был действительно наиболее популярным языком для серьезных разработок - главным образом потому, что это был настоящий компилятор, включающий редактор текстов программ и все необходимое, что стоило $19.95 и выполнялось на компьютере со 128 Кбайт. Borland представил Турбо-Паскаль для Windows в 1990г. Последней версией Borland Pascal (как это стало называться), не считая Delphi, был версии 7.0 в конце 1992г. Delphi 1.0 разрабатывался что-то около 18 месяцев или двух лет. Выпускались различные beta-версии и пререлизы, включая несколько сотен копий, которые отдали во время выставки Software Development '95. Delphi официально анонсирован в США 14 февраля 1995г, и первые копии были разосланы 28 февраля. В России Delphi появился в первых числах апреля, хотя ранее действовала программа раннего ознакомления (EEP) в рамках которой те, кто спешил начать осваивать новый продукт, получали бета-версию Delphi и пререлиз документации. После выпуска первой версии продукта компания Borland направила свои усилия на перенос Delphi в 32-разрядные операционные системы - Windows 95 и Windows NT. Этот процесс успешно завершился и 10 февраля 1996г. Borland Intrenational объявил о выходе второй версии продукта, которая генерирует уже 32-разрядный код для Windows 95 и Windows NT и использует все преимущества 32-разрядных приложений - более высокая скорость обработки данных, большее количество возможностей для приложения и др. На данный момент
ожидается выход третьей версии Delphi, окончательный которой предположительно
появится в конце весны-начале лета 1997г. На основании предварительных
версий можно сказать, что Delphi 3.0 - это еще более мощный продукт, чем
Delphi 2.0, который позволяет использовать в своих разработках все основные
стандарты, имеющиеся на платформе Win32/Intel - ActiveX, COM/DCOM, ISAPI/NSAPI
и т.д.
У любого дилера Borland, а сейчас Delphi Desktop продаются, кажется,
даже в книжных магазинах. Тем не менее перед приобретением Delphi поинтересуйтесь,
какую поддержку обеспечивает дилер. Delphi - это довольно большой продукт,
и его поддержка всегда будет нелишней.
Демо-центр такими исследованиями не занимался, в них не было ни интереса ни необходимости. Однако кто-то такие тесты проводил, например по данным Jin Mai (mwj@pipeline.com) на одной таблице с 60 тыс. записей производительность операции SELECT следующая(*):
Hесмотря на весьма странные данные во второй строке (VB/Access),
автор тестов их подтверждает.
Если вы имеете соответствующие возможности , вы можете получать информацию прямо из Borland:
13. Какую техническую поддержку может получить покупатель Delphi? Можете звонить напрямую в Borland International, все необходимые адреса есть в сопроводительных документах в коробке с Delphi. Можете направить письмо по электронной почте в Borland International по адресу techinfo@borland.com, однако следует отметить, что качество поддержки в большой степени зависит от дилера. Hачала свою деятельность Ассоциация пользователей Delphi. В Борланд АО организованы семинары (пока бесплатные). Раз в две недели по средам с 14:00 до 16:00 проходит тематический семинар о Delphi и других продуктах Borland. Его проводят практические специалисты по Delphi из различных организаций, в том числе и из демо-центра. Даже если вы издалека, имеет смысл посетить семинар - наверняка вы услышите что-либо интересное для себя. Тематика семинаров - самая разнообразная: Для того, чтобы попасть на семинар, надо позвонить в Демо-центр по телефону: 913-5608, и записаться на семинар. Методические материалы для проведения таких семинаров сохраняются, так
что тем, кто желает у себя в регионе организовать нечто подобное, звоните
в Демо-центр Александру Сергееву.
Вопрос устарел. Такой продукт (Borland C++Builder) вышел 4 февраля 1997г.
По своим возможностям он практически равноценен Dehlpi 2.0. Получить более
подробную информацию о данном продукте вы можете получить на страничках
нашего сервера, посвященных C++Builder.
Полная стоимость текущих версий продукта составляет:
Цены на Delphi 3.0 не объявлены (продукта пока нет), но предполагается,
что они будут на уровне Delphi 2.0. Полный список цен на продукты, а также
всевозможных вариантов Upgrade приведен в нашем прайс-листе.
Понятно, что для такого открытого инструмента, как Delphi, границы "дозволенного" весьма условны. В частности, хороший пример - появление в более поздних версиях визуального компонента для работы с хранимыми процедурами. То есть это было нельзя для FieldTest 4 и стало возможным для пререлиза. Второй пример, который появился только с версии 1.15 Delphi FAQ. В стандартной поставке Delphi не существует визуального компонента, поддерживающего обработку event alerts (событий) в InterBase. Тем не менее оказалось, что изготовить такой компонент не так уж и трудно. В Delphi 2.0 есть пример аналогичного компонента, который на самом деле оказался весьма кривым и потребовал существенной доработки для возможности нормального использования. Вышли компоненты, позволяющие проводить процедуру инсталляции разработанного вами приложения, проводить сетевой обмен, обмениваться данными через cc:mail или Lotus Notes. Появились компоненты, реализующие прямые линки к BTrieve, AS/400, мэйнфреймам,
Informix.
Для Delphi 1.0 можно, например, попробовать:
18. Должен ли я знать все относительно Windows API, чтобы использовать Delphi? Может возникнуть чувство, что вы должны знать относительно Windows API
в Delphi больше, нежели в Visual Basic. Это не так; вы можете работать
в обеих средах с минимальным пониманием внутренней организации Windows.
Однако, в обоих случаях, вы должны знать, по крайней мере, кое-что относительно
Windows API, чтобы "выжать" максимум из того, что у вас есть. Различие
в том, что Delphi предоставляет вам гораздо больше возможностей, чтобы
делать все эти интересные вещи.
Хорошо бы. Инструментальные средства проектирования интерфейса пользователя
Delphi производят объектно - ориентированный код. Однако, если вы знакомы
с Visual Basic или Powerbuilder, вы, вероятно, имеете достаточное понимание
OOP (Object Oriented Programming). Вы можете сделать многое в Delphi без
необходимости создавать ваши собственные объекты; но при создании новых
объектов действительно важно знать тонкости OOP.
1. Какие операционные системы Delphi поддерживает? Версия Delphi 1.0 предназначается для Windows 3.1x. Hет причин, по которым Delphi 1.0 не работал бы в системах, которые обеспечивают эмуляцию Windows 3.1, подобно OS/2 Warp, Windows NT, UnixWare 2.0 и т.д. Delphi 2.0 предназначена для работы под Win32/Intel - на данный момент это Windows 95 (в т.ч. OSR2), Windows NT (3.5 и 4.0). Delphi 3.0 также
работает под Win32, но на данный момент некоторые возможности, предоставляемые
продуктом можно использовать только в ОС Windows NT 4.0. Возможно, очередная
версия Windows 95 (Windows 97), будет обладать этими функциями.
Delphi 1.0 Client/Server поддерживает совместимость с PVCS компании InterSolv. Delphi 2.0 Client/Server Suite включает в себя комплект PVCS, интегрированный в IDE. Кроме того, должна быть возможность совмещения с большинством систем контроля исходных текстов. Однако, формы в Delphi сохраняются в двоичном формате, так что пакет управления исходными текстами должен поддерживать двоичные данные для того, чтобы это работало с Delphi . Если у вас есть администратор исходных текстов, который просто не может иметь дело с двоичными файлами, то согласно документам, вы может сохранять формы в виде ASCII текста для редактирования или в целях контроля за версиями. Файлы ASCII могут также загружаться и снова сохраняться в двоичном *.DFM формате. MKS Source Integrity (MKS SI - 2-ой на рынке администраторов исходного
текста для PC/PCLAN с более чем 35,000 разработчиками, использующими SI)
также предлагает средства интеграции в Delphi. Эти средства в настоящее
время поставляются наряду с MKS SI.
Delphi способен вызывать и получать обратные вызовы (callback) из любого
стандартного модуля DLL для Windows.
Delphi может генерировать DLL, которые можно вызывать из C, C++, Visual
Basic, PowerBuilder, или чего-нибудь еще, что понимает стандартные Windows
DLL. Имеется пример DLL в каталоге DEMOS\DB\DLL из комплекта Delphi.
Да, Delphi позволяет с разной степенью комфорта использовать все технологические
стандарты, имеющиеся в Windows.
Можно. Ведь по сути дела VBX - это .dll, написанная по определенным правилам. Однако скорее всего вам потребуется дополнительно соответствующий SDK от компании Microsoft. Существует даже статья, где обсуждаются все аспекты такой работы. Относительно OCX все то же самое, что и относительно VBX. Delphi 3.0 позволяет
визуально создавать элементы ActiveX.
В порядке предпочтения:
Базы данных - Interbase и локальные данные 1. Каково определение IDAPI? Что такое SQL Links? IDAPI это Integrated Database Application Program Interface. BDE (Borland Database Engine) - средство доступа ко множеству источников данных через один API. IDAPI - это просто API для BDE. IDAPI включает все функции, необходимые для доступа к данным , манипулирования ими и т.д. Delphi, Borland C++, C++Builder, Intrabulder, dBASE for Windows, и Paradox for Windows используют эти функции. Вы можете использовать их в своих программах. Вы получите документацию, если купите BDE. Там перечислены все доступные функции и что они делают. Если посмотреть на исходники VCL в Delphi, то можно увидеть, как они используются. Они начинаются с "Dbi" (e.g. DbiCreateTable). SQL Links - набор родных драйверов (native drivers), которые
нужны для работы с удаленными серверами баз данных.
IDAPI необходим для доступа к данным в Delphi. Сам IDAPI во внутрь исполняемого файла ни коим образом не встраивается (да это было бы и не целесообразно). Вместе с Delphi поставляется редистрибутивный вариант BDE, которая устанавливает на "чистую" машину лишь только BDE. InstallShield Express for Delphi может создавать инсталляторы, которые устанавливают на машину как ваше приложение, так и BDE. Delphi 3.0 включает
средства для создания "тонких" клиентов, работающих на машине, на которой
не установлен BDE. Подробности смотрите в FAQ по Delphi 3.0.
DBIPROCS.INT в директории DELPHI\DOC\ содержит список функций BDE, передаваемые параметры, возвращаемое значение и краткое описание каждой. DBITYPES.INT - список типов, используемых функциями BDE. Для вызова любой функции BDE добавьте следующие модули в раздел uses: DBITYPES, DBIPROCS и DBIERRS. Delphi 2.0 включает
в себе описание функций BDE в формате WinHelp. Также все три модуля из
Delphi 1.0 (DBITYPES.DCU, DBIPROCS.DCU и DBIERRS.DCU) теперь объединены
в единый BDE.DCU.
В BDE есть для этого функция DbiAddAlias. В Delphi 2.0 данная
функциональность находится внутри компонента TSession (методы AddAlias,
AddStandardAlias).
Вам может потребоваться создать уникальный индекс в таблице для того,
чтобы каждую строку в таблице можно было однозначно идентифицировать. Например,
попытайтесь изменить структуру таблицы и добавить поле для заполнения его
уникальными значениями.
Информация об ошибке BDE может быть получена для использования в приложении
из объекта EDBEngineError. Исключительная ситуация EDBEngineError
обрабатывается в программе с помощью конструкции try ... except.
Когда возникает исключительная ситуация BDE, то может быть создан объект
EDBEngineError и различные поля этого объекта могут быть использованы
для программного определения, что не в порядке и что требуется для исправления
ситуации. Далее, для данной исключительной ситуации может быть сгенерировано
несколько сообщений об ошибках. Это требует организации перебора сообщений
об ошибках для получения нужной информации.
SQL в Local & Remote InterBase соответствует SQL-92 с элементам
SQL III (более поздними расширениями).
Никак. К сожалению, в существующих версиях InterBase это невозможно.
В Server Manager (ibmgr.exe), Windows interactive SQL (wisql.exe) и Communication Diagnostic Tool (comdiag.exe) Вы отдельно задаете имя сервера, протокол и 'путь на базу' (локальный путь на сервере, а не путь до базы с Вашей машины) А в BDE Configuration Utility все немного не так - на странице Drivers у драйвера Interbase есть параметр SERVER NAME, заполненный как IB_SERVER:/PATH/DATABASE.GDB, а у любого InterBase Alias есть параметры SERVER NAME и PATH, но ни у драйвера ни у алиаса нет протокола. Для Interbase протокол указывается стилем написания пути к базе:
10. Можно ли использовать какие-нибудь ODBC драйверы, которые получены с другими СУБД? В общем, да. Мы не столкнулись с какими-то ODBC драйверами, которые
не работают с Delphi, но, с другой стороны, мы не пробовали действительно
экзотические драйверы. Основные трудности вызвали специфические ODBC-драйверы
от Microsoft. Похоже, что ODBC и ODBC от Microsoft - это разные вещи.
При использовании ODBC-драйверов, если у вас появляются ошибки при открытии
таблицы - установите порядок сортировки (SORT ORDER) хотя-бы Paradox ASCIIi.
Это, например, помогает при доступе к базам данных Lotus Notes (ODBC-драйвер
фирмы Casahl).
Если вам действительно все равно, то вот несколько пунктов 'за' формат Paradox:
Нет способа сделать это в пределах Delphi VCL. Кажется, это довольно
серьезное упущение. Однако, есть возможность сделать это напрямую через
Borland Database Engine через интерфейс предоставляемый модулями DBIPROCS.DCU
и DBITYPES.DCU ()
или BDE.DCU ().
Нужно использовать функцию DbiDoRestructure.
BDE включает функцию для этого - DbiRegenIndexes.
В BDE есть функция DbiPackTable.
Нужно использовать процедуру AddIndex с параметром ixExpression, например:
17. Как создать в Paradox вторичный индекс с упорядочиванием по убыванию? Используйте флаг ixDescending:
18. Хочу узнать номер текущей записи, как это сделать? В общем случае - никак. В случае таблицы Paradox - есть в BDE функция
DbiGetSeqNo, которая возвращает логический номер записи. Но при
использовании на форме TDBGrid она может давать не всегда правильные
значения.
Для того, чтобы удаленные записи были доступны, нужно установить соответствующее свойство для курсора с помощью функции BDE DbiSetProp:
20. Упаковка таблицы. Упаковать таблицу DBF можно открыв ее компонентом TTable и вызвав функцию BDE DbiPackTable:
21. Почему я получаю ошибку 'Index out of range' когда использую TTable.FindNearest и TTable.FindKey для таблицы dBase с индексом по выражению? Методы TTable.FindKey и TTable.FindNearest не могут работать
с таким видом индексов. Вместо этих методов используйте TTable.GotoKey
и TTable.GotoNearest, которые прекрасно работают с ними.
Вам следует использовать компонент TQuery и SQL-предложение типа:
23. Почему я не могу использовать опцию ixUnique при создании индекса в таблице Paradox с помощью метода AddIndex компонента TTable? Опции, используемые в методе AddIndex компонента TTable зависят от типа таблиц. Например, опция ixUnique работает с таблицей dBase, но не с Paradox. Следующая таблица показывает, как эти опции используются для таблиц dBase и Paradox.
Для более полного ознакомления с этим вопросом рекомендуется обратится к статье Максима Михеенкова в 1-ом номере российского журнала СУБД за 1995 год. А коротко можно сказать следующее. Для таблиц Paradox вы можете пользоваться специальными типами полей, гарантирующими уникальность значения поля в записи - типы AutoIncrement и TimeStamp (с использованием функций DateXXX - модуль SysUtils). Для Interbase вы можете использовать генераторы, которые возвращают уникальное значение. Если же такое решение вам не подходит, то можно перед помещением записи
в таблицу отыскивать максимальное уже имеющееся в таблице значение этого
поля и заполнять поле в записи значением, на единицу больше. Для разграничения
пользователей при одновременном доступе можно хранить это значение в отдельной
таблице и открывать ее эксклюзивном режиме.
Да, можно, только если вам удастся получить ODBC-драйвер для таблиц
Paradox. Во всяком случае на Crystal BBS находится файл bde.zip,
который и содержит этот драйвер.
Как я могу использовать таблицу dBase без необходимого для нее MDX файла? При создании таблицы dBASE
с индексным файлом MDX в заголовке DBF файла устанавливается байт со смещением
28 (десятичное) от начала файла. При открытии таблицы, у которой данный
байт установлен, также происходит попытка открыть MDX файл; если это не
удается, то возникает исключение (exception). Для решения проблемы достаточно
прописать в DBF файл 0 по указанному смещению.
Если набор данных основан на таблицах Paradox или dBASE, то номер записи
можно определить с помощью вызовов BDE. BDE не поддерживает номер записи
для наборов данных на SQL сервере; если ваш сервер поддерживает нумерацию
записей, вам нужно обратиться к его документации.
Базы данных - прочие SQL сервера 1. Как осуществляется доступ к базе данных из Delphi? Сначала вы должны в утилите BDE Configuration Utility (bdecfg или bdecfg32) определить псевдоним для базы данных, с которой вы хотите работать. Это позволит вам избежать написания сложного пути к базе данных в вашем приложении; вы теперь только ссылаетесь на псевдоним. Затем вы создаете минимум три объекта на форме: TTable или TQuery, который фактически общается с базой данных через псевдоним и получает данные; объект TDataSource, который связывает данные и визуальные компоненты; по крайней мере один компонент, отображающий данные. Если вы потратили несколько часов, чтобы заставить все это работать,
но ничего не получилось, попробуйте установить свойство Active у
TTable или TQuery в True. Это откроет таблицу в базе
данных.
Delphi (в старших вариантах поставки) напрямую работает с Oracle, Informix, InterBase, DB/2, Sybase, MS SQL Server. Вы можете использовать ODBC драйверы третьих фирм, чтобы работать с любым сервером. Наиболее известные производители качественных ODBC драйверов:
3. Cуществует ли способ работать из Delphi с AS/400, исключая ODBC? В состав Delphi 1.0 не входит, но доступен отдельно визуальный 16-разрядный компонент компании Gerald Limited. Есть специализированный
вариант Delphi 2.0 - Delphi/400, который ориентирован исключительно на
работу с AS/400.
Существует только
16-разрядный линк для Notes. В состав Delphi он не входит (разработан компанией
Brainstorm) и поставляется отдельно по каналам Borland. Спрашивайте дилеров
Borland.
Компонент TTable имеет свойство Exclusive; если Exclusive=False,
то одну и ту же таблицу могут просматривать и редактировать несколько пользователей.
При редактировании таблицы текущая запись автоматически блокируется. Если
есть необходимость заблокировать несколько записей или всю таблицу, то
для этого придется использовать функции BDE - модуль DBIPROCS ()
или BDE (). Кстати,
существенно, что это можно делать и на Delphi Desktop - отсюда вывод: сетевые
приложения (в файл-серверной архитектуре) можно делать и на Delphi Desktop.
Да, можно. Это еще один пример открытости Delphi. В одном из проектов
Демо-центра появилась необходимость прямого обращения к API SQL-сервера.
Был написан соответствующий интерфейс поверх Borland InterBase API - и
все заработало. Аналогично: существуют написанные компоненты для работы
с AS/400 и для мэйнфреймов.
BDE версии до 2.51 поддерживает работу с клиентской частью Informix ESQL/C I*NET 4.x. BDE версии 2.51-2.52 поддерживается ESQL/C I*NET 5.x. 32 SQL Link версии 3.5 и выше поддерживает ESQL/C I*NET 7.x.
Информацию об этом вы можете найти в каталоге DELPHI\DOC. Файл называется
ASCIIDRV.TXT.
Пишите имя по правилам Oracle - перед именем не забудьте поставить @.
SQL database серверы обрабатывают запросы в 'логических единицах работы'
которые и называются транзакциями. То есть транзакция - это группа связанных
операций (SQL запросов) которые все должны быть выполнены успешно перед
тем, как сервер закончит (commit) изменение базы данных. Либо вся
это группа будет выполнена, либо нет. Транзакции обеспечивают целостность
базы данных ...
В Delphi может управлять транзакции так:
Для явных (2.1) транзакций требуется TDatabase. Для явных (2.2) транзакций требуется TQuery. Важно:
Возможные варианты:
Еще важнее:
Подробное описание подключения:
13. Можно ли при помощи Delphi реализовывать проекты, не имеющие отношения к базам данных? Если да, то имеет ли это смысл? В таком случае стоит воспользоваться вариантом Delphi Desktop или Developer. Выигрыш по скорости разработки очевидно будет значительным; в частности, разработка интерфейса программы под Windows производится действительно скоростными методами. Хороший пример - Screen Saver для Windows. [Содержание][Вперед] |
Delphi32 | Delphi32 - Всё о Дельфи. WWW.delphi32.narod.ru |