Einzelnen Beitrag anzeigen

renekr

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

Re: Datamodule richtig Frei geben

  Alt 14. Aug 2007, 11:46
Hi,
also hier der Code:

Delphi-Quellcode:

procedure Disconnect_Connections;
begin

case Active_Connn of
0:begin //Lager KA
  if DMLagerKA <> Nil then
  begin
  DMLagerKA.ADOConnection1.Connected:=false;
  FreeAndNil (DMLagerKA);
  end;
end;

1:begin //Lager SC
 if DMLagerSC <> Nil then
  begin
  DMLagerSC.ADOConnection1.Connected:=false;
  FreeAndNil (DMLagerSC);
  end;
end;

2:begin //Lager
  if DMLager <> Nil then
  begin
  DMLager.ADOConnection1.Connected:=false;
  FreeAndNil (DMLager);
  end;
end;

3:begin //Spiesse
  if DMSpiesse <> Nil then
  begin
  DMSpiesse.ADOConnection1.Connected:=false;
  FreeAndNil (DMSpiesse);
  end;
end;

4:begin //Logbuch
  if DMlogbuch <> Nil then
  begin
  DMlogbuch.ADOConnection1.Connected:=false;
  FreeAndNil (DMlogbuch);
  end;
end;

8:begin //System
if DMSystem <> Nil then
begin
DMSystem.ADOConnection1.Connected:=false;
DMSystem.ADOConnection_System_DB.Connected:=false;
FreeAndNil (DMSystem);
end;
end;

13:begin //feeder
if DMFeeder <> Nil then
begin
DMFeeder.ADOConnection1.Connected:=false;
FreeAndNil (DMFeeder);
end;
end;

121:begin //Lager Lager Spiesse
  if DMSpiesse <> Nil then
  begin
  DMSpiesse.ADOConnection1.Connected:=false;
  FreeAndNil (DMSpiesse);
  end;
    if DMLager <> Nil then
  begin
  DMLager.ADOConnection1.Connected:=false;
  FreeAndNil (DMLager);
  end;
end;

122:begin //Lager Lager SC Spiesse
  if DMSpiesse <> Nil then
  begin
  DMSpiesse.ADOConnection1.Connected:=false;
  FreeAndNil (DMSpiesse);
  end;
    if DMLager <> Nil then
  begin
  DMLager.ADOConnection1.Connected:=false;
  FreeAndNil (DMLager);
  end;
   if DMLagerKA <> Nil then
  begin
  DMLagerKA.ADOConnection1.Connected:=false;
  FreeAndNil (DMLagerKA);
  end;
end;

123:begin //Lager Lager SC Spiesse
  if DMSpiesse <> Nil then
  begin
  DMSpiesse.ADOConnection1.Connected:=false;
 FreeAndNil (DMSpiesse);
  end;
    if DMLager <> Nil then
  begin
  DMLager.ADOConnection1.Connected:=false;
  FreeAndNil (DMLager);
  end;
   if DMLagerSC <> Nil then
  begin
  DMLagerSC.ADOConnection1.Connected:=false;
  FreeAndNil (DMLagerSC);
  end;
end;

end;


end;
Die Active_Connn setze ich im Tool um nur die aktuellen Module freizugeben.

Krachen tuts am schluß net mehr da durch.
Das Tool hängt nur bei 100% und macht nix mehr.
manchmal a 1 minute selbst in der IDE.

@Hansa: Das hab i mal so gemacht damit ich nicht alle Datamodule am start erzeuge.
Weil das Programm in vielen richtugnen genutzt wird und so nicht immer alle auf sein müssen.
danke
  Mit Zitat antworten Zitat