Hi,
also das is net einfach !*G*G
Ich habe 1 Splashscreen,dieser wird beim start als art info + Ladefortschritt gezeigt dann visible false und wenn man in der Hauptform close macht dann kommt er wieder hoch.
In der Splashform ist ein Timer der folgendes macht.
Delphi-Quellcode:
procedure TForm14.CloseMekm;
begin
try
LEDMeter(15);
LEDMeter(20);
DMStart:= TDataModule8.Create(nil);
DMStart.ADOConnection1.ConnectionString:='Provider=SQLOLEDB.1;Password=xyxyxy;Persist Security Info=true;User ID='+Databasename+';Initial Catalog='+Databasename+';Data Source='+Server;
DMStart.ADOConnection1.connected:=true;
LEDMeter(15);
DMStart.ADOQuery2.Active:=false;
DMStart.ADOQuery2.sql.text:='select * from '+Tool_Name+' where (Novelluser='+QuotedStr(GetUserName)+') and (Computername='+QuotedStr(ComputerName)+')';
DMStart.ADOQuery2.Active:=true;
LEDMeter(20);
except
end;
try
application.ProcessMessages;
DMStart.ADOCommand1.CommandText:='update '+Tool_Name+' set login = '+QuotedStr('0')+' where (ID ='+QuotedStr(DMStart.ADOQuery2.FieldValues['ID'])+')';
DMStart.ADOCommand1.Execute;
LEDMeter(20);
if LoginUser<> ''then
begin
if eingeloggt = false then // Weil der Wert False vor dem Einloggen abgefragt wird, wenn er schu trrue ist is jemand eingeloggt
begin
DMStart.ADOCommand1.CommandText :='update Personaldaten set Eingeloggt='+QuotedStr('0')+' ,Workstation='+QuotedStr('')+' where (Personalnummer ='+QuotedStr(Personalnummer)+')' ;
DMStart.ADOCommand1.Execute;
end;
end;
//Delay(500);
except
end;
try
// ani.Terminate;
LEDMeter(25);
DMStart.ADOConnection1.connected:=false;
DMStart.Free;
Disconnect_Connections;
close;
except
end;
end;
In den Disconnect_Connections prüfe ich ob die datamodule auf sind und dann freeandnil.
Ich habe den gesamten source auch schon ausgeklammert aber es hängt immer noch.
Zudem hab i noch das Thema wenn ich in einer Form ein Datamodule generiere ,das ich dann zb.: wenn ich eine andere Form auf mache nicht auf das Module zugreifen kann,deswegen muss i es erst nochmal erzeugen.
Danke.