Einzelnen Beitrag anzeigen

renekr

Registriert seit: 27. Feb 2005
Ort: Karlsbad
534 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: Datamodule richtig Frei geben

  Alt 14. Aug 2007, 12:04
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.
  Mit Zitat antworten Zitat