Einzelnen Beitrag anzeigen

Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#18

Re: Unerklärliche Autoterminierung

  Alt 30. Apr 2007, 20:35
Hi,

nach langer Wartezeit, möchte ich zur meiner Lösung kommen (der Releasepunkt hat sich bereits um über 1,5 Jahre verschoben und verschiebt sich gerade schon wieder bei der letzten Sache). OldGrumpy ist zur Zeit verhindert und macht deshalb verständlicher Weise nichts. Ich habe für die Lösung zwei Sachen zu bieten:
1.:
OldGrumpy äußerte, dass es an dem Try..Except liegen müsste, deshalb hier der Code von dem "Try..Except":
Delphi-Quellcode:
var s : String;
begin
  Application.Initialize;
  Application.Title := 'Dark Player II';
  s := ExtractFilePath(Application.ExeName) + 'skins\';
  if DirectoryExists(s) then
  begin
    with TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'settings.ini') do
    begin
      if DirectoryExists(ExtractFilePath(Application.ExeName) + 'skins\') then
      begin
        s := s + ReadString('Settings', 'Skin', 'blue.dpsf');
      end;
      Free;
    end;
    if FileExists(s) then
    begin
      Application.CreateForm(TfrmMain, frmMain);
      Application.CreateForm(TfrmSkinSector, frmSkinSector);
      Application.CreateForm(TfrmMsgBox, frmMsgBox);
      Application.CreateForm(TfrmVideo, frmVideo);
      Application.CreateForm(TfrmODd, frmODd);
      Application.CreateForm(TfrmOp, frmOp);
      Application.CreateForm(TfrmFavs, frmFavs);
      Application.CreateForm(TfrmTags, frmTags);
      Application.CreateForm(TfrmSetting, frmSetting);
      Application.CreateForm(TfrmLicense, frmLicense);
    end else
    begin
      Application.CreateForm(TfrmMsgBox, frmMsgBox);
      MsgBox('Skinfile not found!');
    end;
  end else
  begin
    Application.CreateForm(TfrmMsgBox, frmMsgBox);
    MsgBox('Skindirectory not found!');
    Exit;
  end;
  Application.Run;
end.
2.:
Ich kann, falls dies nicht genügen sollte, einen Nachbau anfertigen, der eine - abgesehen von den Formen - gleiche Programmdatei (dpr) hat und auch im allgemeinen ein Nachbau ist, abgesehen davon, dass natürlich ein Großteil, aus folgenden Gründen, fehlen würde:
1. Ich habe sehr viel Zeit in dieses Projekt gesetzt und ich möchte es einfach nicht online stellen, da ich nicht will, dass jeder Zugriff auf meine Arbeit hat. Bei ein/zwei/drei Personen ist das ok, aber eine Community ist zu viel.
2. Es ist immer an die eingebundenen Komponenten zu denken. Es hält sich im Vergleich zur Projektgröße zwar relativ in Grenzen, allerdings habe ich teilweise kleine Modifizierungen eingebaut, damit es besser funktioniert. Dies führte übrigens schon bei einem anderen zu Problemen, als er die modifizierten Komponenten installieren wollte (lag scheinbar an den neuen Versionen, kA warum. Das ist auch nicht das Thema).

PS: Wenn jemand auf Anhieb weiß, dass ihm der Code oben nicht reicht, dann bitte sofort antworten und ich erstelle und stelle schnellstmöglichst die kleine Projektversion rein.
  Mit Zitat antworten Zitat