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.