![]() |
EditConnectionString: Wie ModalResult abfragen?
Hallo,
ich nutze für das Generieren eines Ado Connectionstrings die Funktion EditConnectionString. Allerdings habe ich das Problem, das man anscheinend nicht herausbekommen kann, ob der Dialog über OK oder Abbrechen verlassen wurde. :wiejetzt: Hat jemand eine Idee, wie dies zu bewerkstelligen ist? |
Re: EditConnectionString: Wie ModalResult abfragen?
Hallo Heiko,
ist es nicht so, dass die Funktion True zurückliefert, wenn sie nicht abgebrochen wurde? Grüße vom marabu |
Re: EditConnectionString: Wie ModalResult abfragen?
Nein, wenn abgebrochen wird, wird der original Connectionstring unverändert zurückgegeben. Das nützt mir aber nichts, weil es ja auch sein kann, das der User einen bestehenden Connectionstring unverändert übernimmt.
Delphi-Quellcode:
function EditConnectionString(Component: TComponent): Boolean;
var PropInfo: PPropInfo; NewConnStr, InitialConnStr: WideString; begin Result := False; with TConnEditForm.Create(Application) do try Caption := Format(SEditConnectionStringTitle, [Component.Owner.Name, DotSep, Component.Name, SConnectionString]); PropInfo := GetPropInfo(Component.ClassInfo, SConnectionString); InitialConnStr := GetStrProp(Component, PropInfo); NewConnStr := Edit(InitialConnStr); if NewConnStr <> InitialConnStr then begin SetStrProp(Component, PropInfo, NewConnStr); Result := True; end; finally Free; end; end; function TConnEditForm.Edit(ConnStr: WideString): WideString; var FileName: string; begin Result := ConnStr; UseDataLinkFile.Checked := True; if Pos(CT_FILENAME, ConnStr) = 1 then begin FileName := Copy(ConnStr, Length(CT_FILENAME)+1, MAX_PATH); if ExtractFilePath(FileName) = (DataLinkDir + '\') then DataLinkFile.Text := ExtractFileName(FileName) else DataLinkFile.Text := FileName; end else begin ConnectionString.Text := ConnStr; UseConnectionString.Checked := True; end; SourceButtonClick(nil); if ShowModal = mrOk then if UseConnectionString.Checked then Result := ConnectionString.Text else if DataLinkFile.Text <> '' then begin if ExtractFilePath(DataLinkFile.Text) = '' then Result := CT_FILENAME + DataLinkDir + '\' +DataLinkFile.Text else Result := CT_FILENAME + DataLinkFile.Text end else Result := ''; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:11 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz