Einzelnen Beitrag anzeigen

OsCor

Registriert seit: 1. Jan 2009
Ort: Kenzingen, Südbaden
99 Beiträge
 
Delphi 10.4 Sydney
 
#22

AW: MS Access-Verbindung funktioniert nur in der IDE

  Alt 16. Dez 2022, 12:22
Vermutlich ist da ein ganz banaler Fehler, den ich nicht erkennen kann.
Der komplette Code sieht so aus:
Code:
unit HFCon;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, Data.Win.ADODB;

type
  TForm1 = class(TForm)
    ADOTable1: TADOTable;
    ADOConnection1: TADOConnection;
    procedure FormCreate(Sender: TObject);

  private
    function GetConnectionString(handle : THandle; ADOConnection1 : TADOConnection;*sConnection : String = '') : Boolean;
  public
  end;

var
  Form1: TForm1;
  implementation

{$R *.dfm}
function GetConnectionString(handle : THandle; ADOConnection1 : TADOConnection;*sConnection : String = '') : Boolean;
begin
**ADOConnection1.Connected := False;
**// Hier wird der Dialog zum Aufbau des ConnectionString aufgerufen,
**// analog zu dem Aufbau per ObjektInspektor in der IDE.
**ADOConnection1.ConnectionString := PromptDataSource(handle, sConnection);
**ADOConnection1.Connected := True;
**Result := ADOConnection1.Connected;
end;
procedure TForm1.FormCreate(Sender: TObject);

begin
  if GetConnectionString(handle,ADOConnection1) then begin
****// Hier sollte die Datenbankverbindung bestehen.
****// Den ConnctionString kannst Du Dir, bei Bedarf per STRG+C aus dem Dialog
****// kopieren und dann an sinnvoller Stelle speichern bzw. der ADOConnection zuweisen.
****ShowMessage(ADOConnection1.ConnectionString);
**end
  else
   begin
****MessageDLG('Es konnte keine Datenbankverbindung hergestellt werden.',mtError,[mbOk],0);
**end;
end;

  end;


end.
In der IDE wird schon in der Deklaration der Funktion der Name GetConnectionString mit einer Wellenlinie unterlegt und als Fehler markiert.

Gruß
Oswald
  Mit Zitat antworten Zitat