Валентин Озеров - Советы по Delphi. Версия 1.4.3 от 1.1.2001

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

Валентин Озеров - Советы по Delphi. Версия 1.4.3 от 1.1.2001 краткое содержание

Советы по Delphi. Версия 1.4.3 от 1.1.2001 - описание и краткое содержание, автор Валентин Озеров, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

…начиная с 1001. Смотрите другие файлы…

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

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

Интервал:

Закладка:

Сделать

Если в вышеприведенном примере пользователи используют один и тот же путь, но с различными буквами диска, BDE позволяет работать обоим пользователям, подразумевая, что они используют один и тот же NCD. Так, если пользователь A подключен к G:\DATA\BDENET, а пользователь B к H:\DATA\BDENET, BDE даст работать обоим.

Это полезно в peer-to-peer сети, где сервер также является и рабочей станцией. В этом случае некоторые (какие?) peer-to-peer OS не позволят серверу подключить сетевой диск к самому себе (я не уверен что у них невозможен эквивалент SUBST, но, по крайней мере, у тех OS, которые я знаю, это отсутствует) так что сервер может использовать только диск C: (или D:, или какой-то другой локальный диск), а рабочая станция нет, поскольку сама имеет собственный локальный диск C:.

Richard Davis

Дополнение от Mark Ostroff (Borland):

В дополнение к ИЗУМИТЕЛЬНОМУ ответу Richard'а, пожалуйста помните об одной ОЧЕНЬ важной вещи… НИКОГДА не допускайте ситуации (в ЛЮБОЙ сети), при которой вы имеете нескольких пользователей, имеющих доступ к одним и тем же таблицам, но использующих разные физические NET-файлы. Это создает ОГРОМНЫЕ проблемы, особенно в в корпоративных и peer-to-peer сетях.

Pdox DOS версии 4.0 использует ту же BDE-схему работы с сетью, что и таблицы Paradox. Необходимо учесть несколько важных моментов:

1. Убедитесь в том, что у вас включена опция BDE Local Share, если вы создаете таблицы с общим доступом для приложений Pdox DOS и BDE.

2. Из-за странного поведения при работе с сетевыми каталогами, пути в файле контроля сети Pdox DOS у ваших пользователей должны быть ИДЕНТИЧНЫ BDE путям (например, тот же каталог И та же буква диска). Это должно быть сделано в случае, если и Pdox DOS, и BDE делают общими одни и те же таблицы и запущены ОБА приложения. Это может создать некоторые проблемы с установкой peer-to-peer сетей.

3. Убедитесь в том, у вас выключена опция BDE Strict Integrity, если вы создаете таблицы с общим доступом для приложений Pdox DOS и BDE. В противном случае BDE заблокирует пользователей Pdox DOS для редактирования данных в таблицах Paradox (в любом каталоге), у которых установлена опция целостности данных (Referential Integrity).

4. Убедитесь в том, что номер версии Paradox, имеющийся в настройках BDE, совместим с OLDEST версией Pdox DOS для использования в вашей сети. Установить ее можно, выбрав соответствующий драйвер Paradox в BDE Config Utility и проверив значение в поле LEVEL. Установите номер версии Pdox DOS, округлив его до ближайшего МЕНЬШЕГО целого числа.

Пример DBIDoRestructure

Единственный способ изменить размер поля или его тип — использовать DBIDoRestructure. Вот простой пример, который может вам помочь в этом:

functionBDEStringFieldResize(ATable: TTable; AFieldName: string; ANewSize: integer): boolean;

type TRestructStatus = (rsFieldNotFound, rsNothingToDo, rsDoIt);

var

hDB: hDBIdb;

pTableDesc: pCRTblDesc;

pFldOp: pCROpType; {фактически это массив array of pCROpType}

pFieldDesc: pFldDesc; {фактически это массив array of pFldDesc}

CurPrp: CurProps;

CSubType: integer;

CCbrOption: CBRType;

eRestrStatus: TRestructStatus;

pErrMess: DBIMsg;

i: integer;

begin

Result := False;

eRestrStatus := rsFieldNotFound;

AFieldName := UpperCase(AFieldName);

pTableDesc := nil;

pFieldDesc := nil;

pFldOp := nil;

withATable do try

{убедимся что имеем исключительный доступ и сохраним dbhandle:}

ifActive and( notExclusive) thenClose;

if( notExclusive) thenExclusive := True;

if( notActive) thenOpen;hDB := DBHandle;

{готовим данные для DBIDoRestructure:}

BDECheck(DBIGetCursorProps(Handle,CurPrp));

GetMem(pFieldDesc,CurPrp.iFields*sizeOf(FldDesc));

BDECheck(DBIGetFieldDescs(Handle,pFieldDesc));

GetMem(pFldOp,CurPrp.iFields*sizeOf(CROpType));

FillChar(pFldOp^,CurPrp.iFields*sizeOf(CROpType),0);

{ищем в цикле (через fielddesc) наше поле:}

fori:=1 toCurPrp.iFields do begin

{для ввода мы имеем серийные номера вместоPdox ID, возвращаемых DbiGetFieldDescs:}

pFieldDesc^.iFldNum := i;

if(Uppercase(StrPas(pFieldDesc^.szName)) = AFieldName) and(pFieldDesc^.iFldType = fldZSTRING) then begin

eRestrStatus := rsNothingToDo;

if(pFieldDesc^.iUnits1 <> ANewSize) then begin

pFieldDesc^.iUnits1 := ANewSize;

pFldOp^ := crModify;

eRestrStatus := rsDoIt;

end;

end;

inc(pFieldDesc);

inc(pFldOp);

end; {for}

{"регулируем" массив указателей:}

dec(pFieldDesc,CurPrp.iFields);

dec(pFldOp,CurPrp.iFields);

{в случае отсутствия операций возбуждаем исключение:}

caseeRestrStatus of

rsNothingToDo:

raiseException.Create('Ничего не сделано');

rsFieldNotFound:

raiseException.Create('Поле не найдено');

end;

GetMem(pTableDesc,sizeOf(CRTblDesc));

FillChar(pTableDesc^,SizeOf(CRTblDesc),0);

StrPCopy(pTableDesc^.szTblName,TableName);

{StrPCopy(pTableDesc^.szTblType,szPARADOX); {}

pTableDesc^.szTblType := CurPrp.szTableType;

pTableDesc^.iFldCount := CurPrp.iFields;

pTableDesc^.pecrFldOp := pFldOp;

pTableDesc^.pfldDesc := pFieldDesc;

Close;

BDECheck(DbiDoRestructure(hDB, 1, pTableDesc, nil, nil, nil, False));

finally

ifpTableDesc <> nil thenFreeMem(pTableDesc,sizeOf(CRTblDesc));

ifpFldOp <> nil thenFreeMem(pFldOp, CurPrp.iFields*sizeOf(CROpType));

ifpFieldDesc <> nil thenFreeMem(pFieldDesc, CurPrp.iFields*sizeOf(FldDesc));

Open;

end; {пробуем с table1}

Result := True;

end;

Reinhard Kalinke

Изменение конфигурации IDAPI

Delphi 1

Возможно ли установить параметр MAXFILEHANDLES в IDAPI.CFG посредством Delphi?

Да. Следующий компонент показывает как это можно сделать (а также изменить другие параметры):

unitCFGTOOL;

interface

usesSysUtils, Classes, DB, DbiProcs, DbiTypes, DbiErrs;

typeTBDEConfig = class(TComponent)

private

FLocalShare : Boolean;

FMinBufSize : Integer;

FMaxBufSize : Integer;

FSystemLangDriver : String;

FParadoxLangDriver : String;

FMaxFileHandles : Integer;

FNetFileDir : String;

FTableLevel : String;

FBlockSize : Integer;

FDefaultDriver : String;

FStrictIntegrity : Boolean;

FAutoODBC : Boolean;

procedureInit;

procedureSetLocalShare(Value : Boolean);

procedureSetMinBufSize(Value : Integer);

procedureSetMaxBufSize(Value : Integer);

procedureSetSystemLangDriver(Value : String);

procedureSetParadoxLangDriver(Value : String);

procedureSetMaxFileHandles(Value : Integer);

procedureSetNetFileDir(Value : String);

procedureSetTableLevel(Value : String);

procedureSetBlockSize(Value : Integer);

procedureSetDefaultDriver(Value : String);

procedureSetAutoODBC(Value : Boolean);

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

Интервал:

Закладка:

Сделать


Валентин Озеров читать все книги автора по порядку

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




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


Отзывы читателей о книге Советы по Delphi. Версия 1.4.3 от 1.1.2001, автор: Валентин Озеров. Читайте комментарии и мнения людей о произведении.


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

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