╩αΩ ∩≡εΓσ≡ ≥ⁿ Ωε≡≡σΩ≥φε±≥ⁿ Σε±≥≤∩α Ω ßατσ Σαφφ√⌡?
╤δσΣ≤■∙α ⌠≤φΩ÷Φ ∩≡εΓσ≡ σ≥ Σε±≥≤∩ Ω ßατσ Σαφφ√⌡ Φ Γ√Σασ≥ Γετ∞εµφ√σ ∩≡Φ≈Φφ√, σ±δΦ Σε±≥≤∩ φσ ≤Σασ≥± ε±≤∙σ±≥ΓΦ≥ⁿ.
╘≤φΩ÷Φ ΓετΓ≡α∙ασ≥ τφα≈σφΦσ True Γ ±δ≤≈ασ ≤±∩σ°φεΘ ε∩σ≡α÷ΦΦ Φ False Γ ∩≡ε≥ΦΓφε∞ ±δ≤≈ασ.
function TBDEDirect.CheckDatabase: Boolean;
var
DS: TDataSource;
begin
Result := False;
DS := GetDataSource;
if DS = nil then
begin
MessageDlg('═σ ≤±≥αφεΓδσφα ±Γ τⁿ ± ²δσ∞σφ≥ε∞-Φ±≥ε≈φΦΩε∞ Σαφφ√⌡.'+
'╧≡εΓσ≡ⁿ≥σ ≤±≥αφεΓΩ≤ ±ΓεΘ±≥Γα DataSource.',
mtError, [mbOK], 0);
Exit;
end;
if DS.DataSet = nil then
begin
MessageDlg('─ε±≥≤∩ Ω ßατσ Σαφφ√⌡ φσΓετ∞εµσφ.', mtError,
[mbOK], 0);
Exit;
end;
if TDBDataSet(DS.DataSet).Database = nil then
begin
MessageDlg('─ε±≥≤∩ Ω ßατσ Σαφφ√⌡ φσΓετ∞εµσφ.', mtError,
[mbOK], 0);
Exit;
end;
if TDBDataSet(DS.DataSet).Database.Handle = nil then
begin
MessageDlg('─σ±Ω≡Φ∩≥ε≡ (Handle) ┴─ φσΣε±≥≤∩σφ.', mtError,
[mbOK], 0);
Exit;
end;
if DS.DataSet.Handle = nil then
begin
MessageDlg('─σ±Ω≡Φ∩≥ε≡ Ω≤≡±ε≡α (Cursor-Handle) φσΣε±≥≤∩σφ.', mtError,
[mbOK], 0);
Exit;
end;
Result := True;
end;
╤εΓσ≥√ φα≈Φφα■∙Φ∞