Forums Neueste Beiträge
 

LINIE1 - Pfadproblem

22/01/2009 - 20:53 von Hermann Hippen | Report spam
Moin Moin :-),

Hat sich jetzt eigentlich mal einer um die Linie1 gekümmert, bezüglich
des Problems mit relativen Pfaden?

Im Prinzip kann man ja eine àhnliche Lösung wie in L2 verwenden.
Voraussetzung wàre lediglich, das 'PathFinderIni.ds' in die
Ereignisscripte eingebunden wird und natürlich die Verknüpfung den
Stammpfad in 'Ausführen in' enthàlt.

NUR EIN BEISPIEL - NICHT GETESTET - ALSO NICHT VERWENDEN

In OnStartUp:

8<[ OnStartUp.ds ]>8
Program OnStartup;
Uses Forms, Extctrls, TextFile;
{$I Pathfinder_include}
{$I PathFinderIni}
Procedure OnStartup;
Begin
If Not Pathfinder(GetCurrentDir) Then
Begin
Ado('ReloadScripts');
Ado('Scripting');
End;
End;
Begin
End.
8<->8

8<[ PathFinderIni.ds ]>8
Const
DialogRootDir = 'N:\Programme\40tude Dialog\';
//Hier folgen alle weiteren Pfade..
midcountini = DialogRootDir + 'midcount.ini';
settingsini = DialogRootDir + 'settings.ini'

usw.
8<-->8

8<[ Pathfinder_Include.ds ]>8
Function PathFinder(Const CDDir:String):Boolean;
Var I : Integer;
BMINI : TStringList;
Begin
Result := True;
BMINI := TStringList.Create;
BMINI.LoadFromFile(CDDir + '\Scripts\Custom\PathFinderIni.ds');
For i := 0 to BMINI.Count - 1 do
If Pos('DialogRootDir',BMINI[I]) > 0 Then
Begin
If Pos(CDDir,BMINI[i]) = 0 Then
Begin
BMINI[i]:= 'DialogRootDir = ' + #39 + CDDir + '\' + #39 + ';';
BMINI.SaveToFile(CDDir+'\Scripts\Custom\PathFinderIni.ds' );
BM_MessageBox(0, 'Die Pfade wurden angepasst und die geànderten Scripte neu geladen.'+ #13#10
+'Alle verwendeten Ereignisscripte müssen neu compiliert und gestartet werden.'
+ #13#10 + #13#10
+'Wàhle dazu in der Scriptverwaltung die Kategorie Ereignisscripte an, ' +#13#10
+'wàhle die einzelnen Dateien mit der Maus aus und drücke F9.' + #13#10
+'So werden die Script gleichzeitig compiliert und neu gestartet.' + #13#10
+'Danach kann wieder ganz normal weitergearbeitet werden.' +#13#10
+'Der Umzug ist dann abgeschlossen. :)'
,'PATHFINDER MELDUNG:', $00000000 or $00000030);
Result:=False;
Break;
End;
End;
BMINI.Free;
End;
8<->8


DialogRootDir wird so automatisch gesetzt und alle in PathFinderIni.ds
mit DialogRootDir gebildeten Pfadnamen, können in Scripten benutzt
werden.
Nach einem Umzug meldet sich Pathfinder und sagt Bescheid dass der
Stammpfad geàndert wurde, alle Scripte neu geladen wurden und lediglich
die Ereignisscripte neu compiliert werden müssen. Nach Klick auf OK
springt er dann in das Scriptarchiv, damit man die Ereignisscripte neu
compilieren kann.

Die Scripte der L1, die Pfadnamen verwenden, müssten dann natürlich mit
den in der PathfinderIni.ds definierten Pfadnamen ausgestattet werden.

Aber das wàre kein grosser Aufwand, der sich zumal ja IMHO lohnt.


Diese Variante nur mal so als Vorschlag, damit nicht vergessen wird,
dass dieses Problem noch exestiert. ;-)

Cu,
Hermann Hippen.
ž' š°º€ø?žžžžž?ø€º°š 'ž
ø€º° '<http://4ds.siteboard.eu>' °º€ø
'ž '40tude-Dialog Scriptwerkstatt' ž'
ø€º°' ž ž ø€º°ššššššš°º€øšž ž '°º€ø
 

Lesen sie die antworten

#1 Dietmar Vollmeier
22/01/2009 - 21:12 | Warnen spam
Servus Hermann!

*Hermann Hippen* schrieb am 22.01.2009 um 20:53 Uhr...
Hat sich jetzt eigentlich mal einer um die Linie1 gekümmert, bezüglich
des Problems mit relativen Pfaden?



Noch nicht.

Im Prinzip kann man ja eine àhnliche Lösung wie in L2 verwenden.
Voraussetzung wàre lediglich, das 'PathFinderIni.ds' in die
Ereignisscripte eingebunden wird und natürlich die Verknüpfung den
Stammpfad in 'Ausführen in' enthàlt.

NUR EIN BEISPIEL - NICHT GETESTET - ALSO NICHT VERWENDEN



DAS werde ich dann mal testen und auf die L1 anpassen.

Was ich nach einer kurzen Sichtprüfung aber so sehe, ist das aber nicht
mehr allzuviel Arbeit - danke Hermann :-)

Wird wahrscheinlich ein WE-Projekt.

8<->8
[Scripte]
8<->8

Die Scripte der L1, die Pfadnamen verwenden, müssten dann natürlich
mit den in der PathfinderIni.ds definierten Pfadnamen ausgestattet
werden.



Schon klar, diese werden dann latürnich geàndert.

Aber das wàre kein grosser Aufwand, der sich zumal ja IMHO lohnt.



ACK - Falls es hier keine Gegenstimmen der L1-Benutzer gibt.

Diese Variante nur mal so als Vorschlag, damit nicht vergessen wird,
dass dieses Problem noch exestiert. ;-)



Ich wollte mir dies aufheben, falls ich mal etwas mehr Zeit übrig hab -
jetzt genügt eigentlich schon ein wenig Zeit ;-)


und tschüss,
Didi
(M)eine Scriptseite für *40tude Dialog* http://4d.vollmeier.at/

Wo kàmen wir hin, wenn jeder sagte wo kàmen wir hin, und niemand ginge,
um zu sehen, wohin wir kàmen, wenn wir gingen...

Ähnliche fragen