Hallo,
ich versuche gerade mein Programm auf mehrere Dateien auszulagern(der übersichtlichkeit halber).
Nun habe ich aber das Problem, dass ich in einer Datei meinen
SQL Zugang erstelle und in einer anderen auch auf die Komponenten zugreifen muss.
Wenn ich jetzt in beiden Dateien .Create ausführe verbindet das Programm sich zweimal zu dem
MySQL Server.
Also in etwa so:
Haupt.pas
Delphi-Quellcode:
uses
SQL;
...
var
SQL: TSQL;
...
SQL:= TSQL.create;
zweite.pas
Delphi-Quellcode:
uses
SQL;
...
var
SQL: TSQL;
...
SQL:= TSQL.create;
...
SQL.FMysql.Free;
SQL.FResult.free;
SQL.pas
Delphi-Quellcode:
type
TSQL =
class(TThread)
FMysql: TMysqlClient;
FResult: TMysqlResult;
constructor create;
private
public
end;
...
constructor TSQL.Create;
begin
inherited Create;
FMysql := TMysqlClient.create;
with FMysql
do
begin
// Eigenschaften setzen
Host := '
example.de';
port := 3306;
user :='
root';
password := '
pw';
Db := Functions.readconfig('
db');
if Connect
then
begin
Functions.WriteLog('
MySQL Verbindung aufgebaut');
end
else
begin
Functions.WriteLog('
Fehler, MySQL Server nicht verbunden');
end;
end;
end;
Wie kann ich nun in beiden Dateien
SQL benutzen ohne, dass es zweimal erstellt wird?
Und ja ich habe mich schon mit Threads beschäftigt, aber hier hänge ich jetzt leider fest