ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/public/ibx/trunk/design/IBDBReg.pas
(Generate patch)

Comparing ibx/trunk/design/IBDBReg.pas (file contents):
Revision 209 by tony, Wed Mar 14 12:48:51 2018 UTC vs.
Revision 347 by tony, Mon Sep 20 22:08:20 2021 UTC

# Line 63 | Line 63 | type
63    Property editor the DataBase Name property.  Brings up the Open dialog }
64  
65    TIBFileNameProperty = class(TStringProperty)
66 +  protected
67 +    function GetFilter: string; virtual;
68    public
69      procedure Edit; override;
70      function GetAttributes: TPropertyAttributes; override;
71    end;
72  
73 +  { TIBLibraryNameProperty }
74 +
75 +  TIBLibraryNameProperty = class(TIBFileNameProperty)
76 +  protected
77 +    function GetFilter: string; override;
78 +  end;
79 +
80    { TIBNameProperty
81    }
82    TIBNameProperty = class(TStringProperty)
# Line 408 | Line 417 | procedure Register;
417  
418   implementation
419  
420 < uses IB, IBQuery, IBStoredProc, IBCustomDataSet, FBMessages,
421 <     IBSQL, IBSQLMonitor, IBDatabaseInfo, IBEvents, IBTypes,
420 > uses IB, IBQuery, IBStoredProc, IBCustomDataSet, IBMessages,
421 >     IBSQL, IBSQLMonitor, IBDatabaseInfo, IBEvents, IBInternals,
422       IBServices, IBXServices, IBDatabaseEdit, IBTransactionEdit,
423       IBBatchMove, IBExtract,LResources, IBSelectSQLEditor,
424       IBModifySQLEditor,IBDeleteSQLEditor,IBRefreshSQLEditor,
# Line 435 | Line 444 | const
444     SIBDatabaseEditor = 'Da&tabase Editor...';
445     SIBTransactionEditor = '&Transaction Editor...';
446     SIBUpdateLayout = 'Update Layout';
447 +   SFBLibLoadProblem = 'IBX is unable to locate or otherwise load the Firebird Library - have you remembered to install it?';
448  
449   procedure Register;
450   begin
451 <  if not TryIBLoad then
452 <  begin
453 <    MessageDlg('IBX is unable to locate the Firebird Library - have you remembered to install it?',mtError,[mbOK],0);
454 <    Exit;
451 >  AllowUseOfFBLIB := true;
452 >  try
453 >    if not TryIBLoad then
454 >    begin
455 >      MessageDlg(SFBLibLoadProblem,mtError,[mbOK],0);
456 >      Exit;
457 >    end;
458 >  except on E: Exception do
459 >    begin
460 >      MessageDlg(SFBLibLoadProblem + ' - ' + E.Message,mtError,[mbOK],0);
461 >      Exit;
462 >    end;
463    end;
464  
465    RegisterNoIcon([TIBStringField, TIBBCDField, TIBMemoField, TIBArrayField,
466 <    TIBSmallintField, TIBIntegerField, TIBLargeIntField]);
466 >    TIBSmallintField, TIBIntegerField, TIBLargeIntField, TIBDateTimeField,
467 >    TIBTimeField]);
468    {$if lcl_fullversion < 01010000}
469    {see http://bugs.freepascal.org/view.php?id=19035 }
470    RegisterNoIcon([TIntegerField]);
# Line 472 | Line 491 | begin
491    RegisterComponents(IBPalette3,[TIBLookupComboEditBox,TIBDynamicGrid,TIBTreeView,TDBControlGrid, TIBArrayGrid]);
492  
493    RegisterPropertyEditor(TypeInfo(TIBFileName), TIBDatabase, 'DatabaseName', TIBFileNameProperty); {do not localize}
494 +  RegisterPropertyEditor(TypeInfo(TIBFileName), TIBDatabase, 'FirebirdLibraryPathName', TIBLibraryNameProperty); {do not localize}
495 +  RegisterPropertyEditor(TypeInfo(TIBFileName), TIBXServicesConnection, 'FirebirdLibraryPathName', TIBLibraryNameProperty); {do not localize}
496    RegisterPropertyEditor(TypeInfo(string), TIBStoredProc, 'StoredProcName', TIBStoredProcNameProperty); {do not localize}
497    RegisterPropertyEditor(TypeInfo(string), TIBStoredProc, 'PackageName', TIBPackageNameProperty); {do not localize}
498    RegisterPropertyEditor(TypeInfo(TParams), TIBStoredProc, 'Params', TIBStoredProcParamsProperty);
# Line 547 | Line 568 | begin
568    end;
569   end;
570  
571 + { TIBLibraryNameProperty }
572 +
573 + function TIBLibraryNameProperty.GetFilter: string;
574 + begin
575 +  Result := SLibraryNameFilter; {do not localise}
576 + end;
577 +
578   { TIBXServiceEditor }
579  
580   procedure TIBXServiceEditor.ExecuteVerb(Index: Integer);
# Line 763 | Line 791 | begin
791    Result := inherited GetVerbCount + 2;
792   end;
793  
794 + function TIBFileNameProperty.GetFilter: string;
795 + begin
796 +  Result := SDatabaseFilter; {do not localize}
797 + end;
798 +
799   { TIBFileNameProperty }
800   procedure TIBFileNameProperty.Edit;
801   begin
802    with TOpenDialog.Create(Application) do
803      try
804        InitialDir := ExtractFilePath(GetStrValue);
805 <      Filter := SDatabaseFilter; {do not localize}
805 >      Filter := GetFilter;
806        if Execute then
807          SetStrValue(FileName);
808      finally

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines