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

Тут можно читать онлайн Виртуальная библиотека Delphi - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Виртуальная библиотека Delphi
  • Автор:
  • Жанр:
  • Издательство:
    неизвестно
  • Год:
    неизвестен
  • ISBN:
    нет данных
  • Рейтинг:
    3/5. Голосов: 11
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 60
    • 1
    • 2
    • 3
    • 4
    • 5

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

Виртуальная библиотека Delphi - описание и краткое содержание, автор Неизвестный Автор, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

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

Виртуальная библиотека Delphi - читать книгу онлайн бесплатно, автор Неизвестный Автор
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

4. Какую модель данных использует Delphi?

Delphi использует смешанную (mixed) модель памяти, но она очень похожа на модель largeв C.С++:

• Методы дальние ( far)

• Процедуры, описанные в интерфейсной части, дальние

• Процедуры, используемые только в implementationпо умолчанию ближние

• Данные в Heap и все указатели вообще (включая экземпляры объектов) дальние

• Глобальные переменные ближние (в сегменте DS)

• Параметры процедур и локальные переменные ближние (в стеке)

• Процедуры, объявленные farили exportдальние

• VMT дальние для новой модели классов и ближние для старой

Эта схема используется в Borland Pascal долгое время.

5. Можно ли использовать в приложении ресурсы, созданные в BPW 7.0?

Все ресурсы, созданные в других приложениях, можно подключить и использовать в Delphi с помощью директивы компилятора {$R ...}и процедур Windows API. Кроме того, меню из файла ресурсов и графические файлы *.BMP, *.ICO и *.WMF можно импортировать в приложение Delphi на этапе разработки. В настоящее время компанией Borland поставляется программный продукт RAD Pack for Delphi, где в состав поставки входит эксперт, позволяющий преобразовывать ресурсы из BP7.0 в формы Delphi.

6. Возможно ли написать Screen Saver для Windows в Delphi?

Для создания программы, работающей как Screen Saver:

1. В проектном файле (*.dpr) напишите {$D SCRNSAVE }после uses; данная директива вставляет указанный текст (SCRNSAVE ) в раздел описания модуля — в данном случае программы. Это главное, что необходимо для того, чтобы Windows распознал программу как Screen Saver.

2. Hа главной форме выключите Border ( BorderStyle=bsNone ) и иконки. Установите свойства Left и Top =0 , WindowState=wsMaximize .

3. В обработчике события OnCreate , установите Application.OnMessage на процедуру деактивации Screen Saver. Установите Application.OnIdle на любую процедуру для рисования на экране.

4. В обработчике OnCreate должна проверяться командная строка на наличие ключей /c и /s. Эти параметры определяют, нужно ли запускать сам Screen Saver или его конфигурацию (/c - конфигурация).

5. Скомпилируйте программу и переименуйте из .exe в .scr ; поместите файл в каталог Windows — Screen Saver должен появиться на панели управления (Control Panel).

7. Как Delphi обрабатывает функции обратного вызова Windows (сallback)?

Точно так же как C: вы можете получить указатель ( far pointer ) на вашу callback процедуру (не забыть при этом обьявить ее с директивой компилятора {$F+}, либо спецификатором far) и передать этот указатель в Windows. Это все.

Delphi и Visual Basic

1. Есть ли в Delphi эквивалент массива элементов управления из Visual Basic?

Hет. Компоненты Delphi не имеют свойства Index, подобное VB. Однако, имеются три основные причины, почему вы хотите использовать их в VB, и для каждой из них есть решение в Delphi.

Причина 1. Вы хотите использовать один обработчик события для разных компонент на форме.

Это просто. Все, что вы должны сделать — это выбрать тот же самый обработчик для каждой визуальной компоненты. Это лучше, чем в случае с массивом компонент, потому что вы можете одну и ту же процедуру-обработчик события присвоить различным типам компонент; например, кнопка на форме и пункт меню могут вызывать ту же самую функцию для обработки события OnClick .

Причина 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 файл для указания каталога языкового драйвера. Пример:

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

Интервал:

Закладка:

Сделать


Неизвестный Автор читать все книги автора по порядку

Неизвестный Автор - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




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


Отзывы читателей о книге Виртуальная библиотека Delphi, автор: Неизвестный Автор. Читайте комментарии и мнения людей о произведении.


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

Напишите свой комментарий
x