Чтение онлайн

на главную

Жанры

Советы по Delphi. Версия 1.4.3 от 1.1.2001

Озеров Валентин

Шрифт:

Миграция 

Delphi 2 

Совместимость D1/D2

Какая может быть причина того, что программа, работающая в среде W31, не работает в W95 ?

Похоже на то, что данные, сохраненные в двоичном файле, читаются неправильно.

Имеется масса отличий в фундаментальных типах между Delphi 1.0 и Delphi 2.0, которые могут повлиять на двоичный файл. Вот некоторые из них:

1. строки в Delphi 1.0 не эквивалентны строкам по умолчанию (длинным) в

версии 2.0

2. «integer» 16-битный в Delphi 1.0 и 32-битный в 2.0

3. записи автоматически упаковываются в Delphi 1.0, но не в Delphi 2.0

 – Rick Rogers 

Delphi 3 

Куда из Delphi 3 делся модуль для работы с ReportSmith? А мои любимые модули работы с OLE: ole2, oleauto и olectl?

Одной строкой 

Nomadic отвечает:

Они лежат в X:\DELPHI3\LIB\DELPHI2.

Ошибки 

Delphi 1 

Ошибка маски редактирования на быстрых пентиумах

Delphi 1 

Данное поведение уже упоминалось ранее. Это, похоже, происходит только на быстрых машинах. Если у вас имеется исходный код RTL, вы можете сделать следующие изменения:

В MASK.PAS, замените

for I := Low(NewKeyState) to High(NewKeyState) do NewKeyState[I] := 0;

На

NewKeyState := KeyState;

– Steve Schafer 

PASDBK16.DLL вызывает GPF

Delphi 1 

Кто-нибудь может мне сказать, почему я получаю эту ошибку, да еще с рекомендацией завершить работу Delphi? При попытке запустить мое приложение в среде ID, я получаю сообщение «PASDBK16.DLL caused a GPF at 0002:21e6 Shutdown of delphi is recommended» (PASDBK16.DLL вызвало GPF по адресу 0002:21e6. Рекомендуется завершить работу Delphi). Если я завершаю работу Delphi, снова его запускаю и пытаюсь после этого выполнить приложение, то получаю ошибку «Application is already running terminate before compiling» (Работа приложения уже прервана перед компиляцией).

У меня возникла сегодня такая же проблема, и мой коллега нашел ее решение. Если каталог разработки вы делаете каталогом общего доступа, то при наличии разных проектов может случиться так, что настройки компилятора одного из проектов будут использованы при сборке другого, использующего тот же путь. Проблема в модулях общего доступа, которые компилируются по разным путям. Решение заключается в определении выходного (output) каталога для вашего приложения и полной пересборки проекта (не забудьте при этом создать соответствующий каталог). После этого проблема должна исчезнуть.

– Sjef van der Velde 

Ошибка переполнения диска

Delphi 1 

Попробуйте удалить из вашего проекта все, кроме dpr, pas и dfm-файлов, и перекомпилить его. Похоже, один из файлов вашего проекта был испорчен. У меня была

аналогичная проблема, и я смог ее решить только таким способом. 

Delphi 2 

Ошибка чтения потока

Каждый раз при запуске Delphi 2.01 я получаю ошибку «Stream Read Error» (ошибка чтения потока). Как мне отделаться от этого?

Удалите DSK– и DSM– файлы из вашего проектного каталога.

– Ralph Friedman 

Delphi 5 

Ошибка в ProgressBar

В ProgressBar представлено свойство BorderWidth. На мой взгляд, ребята из Inprise допустили очередную ошибку. В этом свойстве отсутствует «защита от дурака». Если BorderWidth < Int(Heigth*0.3) – все нормально, вы управляете высотой "бегущего" индикатора. Если (BorderWidth > Int(Heigth*0.3)) and (BorderWidth < Int(Heigth*0.5)) – индикатор исчезает. Тогда зачем он нужен? При BorderWidth = Int(Heigth*0.5) – получите сообщение – "Error. Division by zero". При больших значениях BorderWidth – вместо индикатора "дыра".

К сожалению, исправить эту ошибку можно только в исходнике.

C уважением, VS.

DLL 

Разное 

Синхронизация DLL с открытым набором данных

Delphi 2 

Тема: Синхронизация DLL с открытым набором данных

В данном совете показано как с помощью Object Pascal динамически, на лету, связать DLL с активной базой данных, таким образом дающей программисту возможность воспользоваться Modularize-характеристикой. (Независимо от текущего режима, будь то разработка приложения, или его выполнение)

Технология динамической линковки DLL к EXE полезна во многих случаях. Например, работа с пакетами для создания 'plug-in' модулей (A/R, A/P, General Ledger и др.) или Point of Sale package с Current Stock, FIFO/LIFO Ordering, Vendor Tracking, и пр. модули.

Данная статья дает работающий пример того, как это сделать с единственной dll, 'Editdll.dll', и предоставит разработчику материал, расказывающий о том, как организовать в вашем приложении подключаемые модули.

Предварительные условия:

Хорошее знание работы компонента TTable, умение использовать DLL, BDE API и знание BDE hCursor. *WIN API для динамической загрузки любых DLL.

Пример приложения

Приведенная ниже форма, EditForm, работает с таблицей COUNTRY, расположенной в каталоге DBDEMO. При нажатии пользователем кнопки 'Edit' или при двойном щелчке на записи (строке), возникает диалоговое окно, расположенное в 'EditDll.dll' и демонстрирующее специфическую информацию, относящуюся к данной записи. В этой "точке" DLL синхронизирует себя не только с набором данных (и сессией), но и с текущей записью. Это означает, что полозователь изменяет те же самые данные, что он видит в EditForm! Ну а теперь углубимся в код демонстрационного приложения. (Для удобства просто скопируйте отсюда эти файлы и вставьте в ваше приложение)

Поделиться:
Популярные книги

Алекс и Алекс

Афанасьев Семен
1. Алекс и Алекс
Фантастика:
боевая фантастика
6.83
рейтинг книги
Алекс и Алекс

Отверженный III: Вызов

Опсокополос Алексис
3. Отверженный
Фантастика:
фэнтези
альтернативная история
7.73
рейтинг книги
Отверженный III: Вызов

Сумеречный стрелок 6

Карелин Сергей Витальевич
6. Сумеречный стрелок
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Сумеречный стрелок 6

Имя нам Легион. Том 7

Дорничев Дмитрий
7. Меж двух миров
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Имя нам Легион. Том 7

Газлайтер. Том 4

Володин Григорий
4. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Газлайтер. Том 4

Попала, или Кто кого

Юнина Наталья
Любовные романы:
современные любовные романы
5.88
рейтинг книги
Попала, или Кто кого

Средневековая история. Тетралогия

Гончарова Галина Дмитриевна
Средневековая история
Фантастика:
фэнтези
попаданцы
9.16
рейтинг книги
Средневековая история. Тетралогия

Бастард Императора. Том 2

Орлов Андрей Юрьевич
2. Бастард Императора
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Бастард Императора. Том 2

Сила рода. Том 1 и Том 2

Вяч Павел
1. Претендент
Фантастика:
фэнтези
рпг
попаданцы
5.85
рейтинг книги
Сила рода. Том 1 и Том 2

Все не случайно

Юнина Наталья
Любовные романы:
современные любовные романы
7.10
рейтинг книги
Все не случайно

На границе империй. Том 10. Часть 4

INDIGO
Вселенная EVE Online
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 10. Часть 4

An ordinary sex life

Астердис
Любовные романы:
современные любовные романы
love action
5.00
рейтинг книги
An ordinary sex life

На границе империй. Том 9. Часть 4

INDIGO
17. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 9. Часть 4

Мужчина не моей мечты

Ардова Алиса
1. Мужчина не моей мечты
Любовные романы:
любовно-фантастические романы
8.30
рейтинг книги
Мужчина не моей мечты