Виртуальная библиотека Delphi

Здесь есть возможность читать онлайн «Виртуальная библиотека Delphi» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Виртуальная библиотека Delphi: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Виртуальная библиотека Delphi»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Виртуальная библиотека Delphi — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Виртуальная библиотека Delphi», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Причина 2. Вы хотите динамически создавать и уничтожать визуальные компоненты во время выполнения программы.

Это также довольно просто в Delphi. Предположим, что на форме есть кнопка, и, каждый раз когда она нажимается, вы хотите создавать другую кнопку. Следующий пример показывается, как это делать:

procedureTForm1.Button1Click(Sender: TObject);

var

NewButton: TButton;

begin

NewButton := TButton.Create(Self);

NewButton.Parent := Self;

end;

Причина 3. Вам действительно требуется доступ к компонентам по номеру.

Предположим, что вы решили написать игру вроде Реверси в Delphi. Вам нужно разместить 100 объектов TShape на форме, в виде квадрата 10×10. Конечно, размещать каждый элемент вручную на экране — задача трудоемкая и неинтересная, при этом, в декларации формы появляется 100 строк кода, которые, в общем-то, не нужны. Вместо этого можно завести массив вроде

Board: array[1..10, 1..10] ofTShape; Далее в программе нужно создать каждый из этих объекты, вызвав TShape.Create(FormXX) ; указать вручную начальные установки для них. Кроме того, в свойстве Parent каждого объекта из массива нужно указать ту панель ( TPanel ) или форму, на которой они располагаются. Это нужно для правильной перерисовки объектов.

Если же вы не используете такие большие массивы, т.е., например хотите одинаково реагировать на нажатие 3-5 кнопок с незначительным различием для каждой из них, то можно использовать свойство Tag.

2. Как использовать DLL, написанные в Delphi, например в Visual Basic?

Допустим, вы написали на Delphi DLL и в нем объявили функцию

functionDataFileType(lpStr: PChar): Integer; export;

begin

StrPCopy(lpStr, oDataMap.VendorName);

Result := StrLen(lpStr);

end;

в Visual Basic Вы должны подключить ее как:

Declare Function DataFileType Lib "File.dll" (ByVal lpStr As String) As Integer

а в программе на VB использовать следующим образом:

nSize = DataFileType(lpVar)

sVendorName = Mid$(lpVar, 1, nSize)

3. Конвертация TBasicString (VBX) в string.

картинка 111

Я использую VBX и испытываю проблемы с конвертацией TBasicString в string. Как это сделать?

картинка 112

Существует две функции —

• BStrPCopy — принимает Basic string и конвертирует в string

SetBStr — принимает stringи возвращает Basic string Действительно, ссылок на эти функции нет в документации, но имена этих функций можно "обнаружить" в VBXCTRL.DCU.

Базы данных

1. Ошибка инициализации BDE ($2C09).

картинка 113

Когда я пытаюсь запустить приложение из Delphi, то получаю ошибку EDatabaseError и сообщение 'An error occurred while attempting to initialize the Borland Database Engine (Error $2C09)'

картинка 114

Добавьте SHARE.EXE в AUTOEXEC.BAT или добавьте DEVICE=VSHARE.386 в раздел [386Enh] файла SYSTEM.INI и перезагрузитесь.

2. Ошибка при загрузке языкового драйвера.

картинка 115

У меня есть Quattro Pro 6.0 и IDAPI в сети. После установки Delphi и нового IDAPI поверх сетевого IDAPI при запуске Quattro Pro с другой машины я получаю ошибку 'Could not load Language Driver' .

картинка 116

Добавьте раздел [Borland Language Drivers] в WIN.INI файл для указания каталога языкового драйвера. Пример:

[Borland Language Drivers]

LDPATH=C:\IDAPI\LANGDRV

3. Что значит ошибка IDAPI $2C08?

'Cannot load IDAPI01.DLL' . Убедитесь, что в файле WIN.INI правильно прописаны пути:

[IDAPI]

DLLPATH=C:\IDAPI

CONFIGFILE01=C:\IDAPI\IDAPI.CFG

4. Отличается ли локальный InterBase, встроенный в Delphi 1.0, от InterBase для других платформ, в частности, от InterBase для Windows NT?

16-Разрядный Local InterBase не поддерживает:

• функции, определяемые пользователем.

• BLOB фильтры

• сигнализатор событий (event alerters)

• запись через журнал (Write Ahead Log (WAL)

• тип данных массив (Array Datatype)

• 'отключение' и 'включение' базы данных (database shutdown or restart)

• ведение теневой базы данных (database shadowing)

Все остальные функции поддерживаются, но структура хранения базы на диске не совпадает.

картинка 117

Можно ли поставить локальный InterBase на файл-сервере и, таким образом, получить доступ к нему из многих приложений?

картинка 118

Работать не будет. И не пытайтесь. Для этой цели вам нужен нормальный многопользовательский InterBase.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Виртуальная библиотека Delphi»

Представляем Вашему вниманию похожие книги на «Виртуальная библиотека Delphi» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Виртуальная библиотека Delphi»

Обсуждение, отзывы о книге «Виртуальная библиотека Delphi» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x