Einzelnen Beitrag anzeigen

Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.186 Beiträge
 
Delphi 11 Alexandria
 
#1

FDConnection.GetCatalognames wirft AV

  Alt 9. Mär 2017, 21:40
Delphi-Version: XE8
Hi zusammen

Ich habe meinem Datenmodul eine eigene Klasse zur 'direkten Kommunikation mit dem Server' spendiert. Im wesentlichen sollen damit Sessionvariablen abgerufen/verändert werden können.
Delphi-Quellcode:
  TMySQLCorrespondent = class(TPersistent)
    private{private Declarations}
      FContentmasterConnection : Boolean;
      FCatalogInformation: TStringlist;
      FMaxAllowedPacket: Integer;
    FCatNames: TStringList;
...
      function DefineContentmasterConnection: Boolean;
      function GetPerformanceSchemaConnection: Boolean;
      function GetSessionVarlist: TStringList;
      function GetCatalogInformation: TStringlist; //<==
    public{public Declarations}
      property ContentmasterConnection2: Boolean read DefineContentmasterConnection;
      property PerformanceSchemaConnection: Boolean read GetPerformanceSchemaConnection;
      property Cataloginformation : TStringlist read GetCatalogInformation;
...

    Constructor Create(AOwner: TObject);
    Destructor Destroy; override;
  end;
So die Deklaration. Einige der Felder und Propertys, die für diesen Thred nicht wichtig sind, habe ich durch Pünktchen ersetzt.
Das Thema ist das Feld FCatNames. Und so wird das verwendet:

Delphi-Quellcode:
constructor TMySQLCorrespondent.Create(AOwner: TObject);
begin
  inherited Create;
  FCatalogInformation := TStringlist.Create;
  FCatNames := TStringList.Create;
end;

destructor TMySQLCorrespondent.Destroy;
begin
  FCatalogInformation.Free;
  FCatNames.Free;
  inherited;
end;

function TMySQLCorrespondent.GetCatalogInformation: TStringlist;
  var i, j: Integer; Catalog: string;
begin
    FDMySQLDml.FDConnectionMySql.GetCatalogNames('', FCatNames); // AV
    Result := FCatNames;
end;
Die AV wird ausgelöst, weil FCatnames unbekannnt ist, also nicht mal nil.
Was könnte da falsch sein?

Im Anhang noch 3 Jpegs meines Strukturfensters. Aktiv sind dabei:
Struktur1: TCM_First (das Hauptfenster)
Struktur2: TServerInfoFrame
Struktur3: FDMySQLDml (Datenmodul

Gruss
Delbor

Gruss
Delbor
Miniaturansicht angehängter Grafiken
struktur1.jpg   struktur2.jpg   struktur3.jpg  
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch
  Mit Zitat antworten Zitat