AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Tutorials Neuer Artikel bei mir: %HOMEDIR% - das unbekannte Verzeichni
Tutorial durchsuchen
Ansicht
Themen-Optionen

Neuer Artikel bei mir: %HOMEDIR% - das unbekannte Verzeichni

Ein Tutorial von Luckie · begonnen am 22. Sep 2005 · letzter Beitrag vom 1. Jan 2007
Antwort Antwort
Seite 3 von 9     123 45     Letzte »    
Benutzerbild von Luckie
Luckie
Registriert seit: 29. Mai 2002
Es gibt auf meiner Homepage wieder einen neuen Artikel: %HOMEDIR% - das unbekannte Verzeichnis. Da er ein programmierspezifisches Thema behandelt, stelle ich ihn mal hier vor. In dem Artikel geht es um die Unsitte, dass Programmierer leider immer noch ihre Konfiguratiosndaten im Programmverzeichnis abelegen. In der letzten Zeit ist mir das immer wieder bei Programmen aufgefallen, die hier oder in anderen Foren vorgstellt werden. Da ich es leid war immer wieder das gleiche zu schreiben, hab eich mir erlaubt einen Artikel zuschreiben und es dort noch etwas weiter auszuführen.

Link zum Artikel: http://www.michael-puff.de/Developer.../HOMEDIR.shtml

Über Kritik und Anregungen würde ich mich freuen.
Ein Teil meines Codes würde euch verunsichern.
 
Daniel

 
Delphi 10.4 Sydney
 
#21
  Alt 22. Sep 2005, 15:34
Was das für Programme sind? Völlig unterschiedliche. Sei es mein bevorzugtes Tool zur Dateiverwaltung (TotalCommander), ein Online-Rollenspiel (Dark Age of Camelot) oder ein PHP-Editor. All diese Programme kann ich alleine durch Filecopy 'installieren' und habe nicht ein einziges Problem damit.

Ohne Zweifel gibt es Programme und Konstellationen, bei denen man ohne Home-Dir in massive Probleme läuft. Aber das ist nur ein Beleg dafür, dass weder die eine noch die andere Position absolutistisch vertreten werden sollte. So oder so ist aber das Wissen über dieses Verzeichnis und dessen korrekte Benutzung durchaus wichtig.
Daniel R. Wolf
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#22
  Alt 22. Sep 2005, 15:35
Erstellen denn diese Programme auch Dateien in ihrem Ordner?
Michael
  Mit Zitat antworten Zitat
Daniel

 
Delphi 10.4 Sydney
 
#23
  Alt 22. Sep 2005, 15:39
Ja. Jedes dieser Programme erstellt und ändert Dateien, wenn ich mich entschließe, entsprechende Aktionen durchzuführen. Und gerade bei dem Spiel bin ich heilfroh, dss ich die 4 CDs nicht stets neu installieren muss, wen ich einen der "Daddel-PCs" mal wieder plätte.
Daniel R. Wolf
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus
 
#24
  Alt 22. Sep 2005, 15:42
Das Thema ist wohl genauso wie die Diskussion um globale Variablen nicht so einfach abzuhaken, es gibt keine Loesung, die in jedem Fall gut ist.

Natuerlich ist es fuer den Programmierer (und oft auch fuer den Anwender) geschickt, wenn die Programme ihre Konfiguration in ihrem Ordner ablegen - ich weiss immer genau wo alles ist und muss mir die Config-Daten nicht immer muehsam zusammensuchen. Dagegen ist auch nichts zu sagen - solange sich der Programmierer sicher sein kann, dass ein Programm in seinem Ordner auch wirklich Schreibrechte hat. Dies ist aber v.a. auf Firmenrechnern nicht der Fall. Weiters gibt es auch das Problem, wenn mehrere User mit dem Programm arbeiten und es sich auf sich abstimmen, dann knallt es zwangslaeufig. Ich hatte mal das Vergnuegen, auf einem Novell-System zu arbeiten, auf welches mit WinFrame zugegriffen wurde. Die Anwendungen lagen dabei auf Servern (8 an der Zahl), die Anwender arbeiteten immer Remote. In so einem Fall muss das Programm fuer jeden User eigene Daten verwalten, da es sonst bei den 600 Usern die auf den Servern arbeiteten einfach nur knallen wuerde. Allerdings hatte das System auch noch die Moeglichkeit, alle Datei-Operationen auf den User-Ordner zu verlegen - ob das Programm will oder nicht. Dass dieses System aber auch fehleranfaellig ist, duerfte klar sein.

Nur um mal eine zusaetzliche Idee einzuwerfen: man deklariere sich eine Variable BasePath und initialisiere sie auf den Ordner, in dem das Programm liegt. Nun ueberpruefe ich die Schreibrechte in dem Ordner. Habe ich sie, lege ich die Config-Dateien in dem Ordner ab, wenn nicht dann landen sie eben im entsprechenden Ordner des Userprofils. Dies gibt aber wieder Probleme: was ist wenn ich Schreibrechte habe, diese aber im Laufe der Zeit entzogen werden? Was geschieht dann?

Wie gesagt, das Thema ist alles andere als trivial, aber generell sollte man seine Daten wirklich im User-Ordner ablegen. In dem Fall sollte man aber auch dafuer sorgen, dass die Dateien wieder entfernt werden koennen (auf Wunsch natuerlich), da im User-Ordner sonst das Chaos herrscht, ich merke es selbst, der Ordner muss regelmaessig gesaeubert werden.

Greetz
alcaeus
Andreas B.
  Mit Zitat antworten Zitat
Benutzerbild von mika
mika

 
Delphi 6 Professional
 
#25
  Alt 22. Sep 2005, 15:55
Off-Topic:

Total Commander.... Ebenso mein lieblingsprogramm zur Dateiverwaltung nachdem ich von Dos-navigator genug hatte....

On-Topic:

Der HxD Hexeditor zum Beispiel ein klasse Programm das noch besser ist weil es seine Daten im Programmverzeichnis ablegt... weitere Programme dieser Art:
- Total Commander
- RegWorkshop
- Dos Navigator
- CPU Killer
und so weiter und so fort

Allerdings bin ich bei Mail-Clients zum Beispiel generell der Meinung das diese Ihre Daten ins App-Verzeichnis oder Homedir legen sollten (aber mit ner guten Backup Funktion)


Wie gesag, je nach Anwendungsfall anders, aber ich mag halt die Programme am liebsten die wie damals unter DOS sich durch kopieren installieren liessen und jetzt wo Internet auch fast Standard ist am besten ne Online-Update-Funktion haben.



Trotzdem wissenswert wie sich die Verzeichnisse ermitteln lassen



mfg, Mika
  Mit Zitat antworten Zitat
Benutzerbild von leddl
leddl

 
Delphi 2006 Professional
 
#26
  Alt 22. Sep 2005, 16:08
Zitat von mika:
Wie gesag, je nach Anwendungsfall anders, aber ich mag halt die Programme am liebsten die wie damals unter DOS sich durch kopieren installieren liessen und jetzt wo Internet auch fast Standard ist am besten ne Online-Update-Funktion haben.
So einen Einwand versteh ich immer noch nicht (und Lucky sicherlich auch nicht). Es geht doch nicht darum, daß ein Programm installiert werden muß, sondern darum, daß sie Ihre Daten eben nicht im Programmverzeichnis ablegen, da dort nicht jeder Schreibrechte besitzt. So ein Programm kannst du dennoch einfach per Copy&Paste irgendwo hinstecken. Du mußt sogar nichtmal an die Daten denken, da die ja sowieso immer am selben Fleck sind. Ist natürlich bei Programmen auf USB-Stick oder Diskette etwas anderes, zugegeben.
Und wenn man es ganz lieb mit dem User meint, baut man eben noch eine Exportfunktion ein, die einem die gewünschten Dateien im gewünschten Ordner für den späteren Gebrauch zwischenspeichert.
Oder, bei Programmstart und/oder in den Optionen läßt sich einstellen, wo gespeichert wird.
Oder (wie alcaeus ja auch schon vorgeschlagen hat) das Programm checkt, ob Schreibrechte im Programmordner bestehen. Sollten die zwischenzeitlich entfernt worden sein, machts ja auch nichts, gelesen werden können die Daten ja noch, und gespeichert wird dann eben an anderer Stelle.

Ich finde Luckies Artikel durchaus interessant und sinnvoll
Axel Sefranek
  Mit Zitat antworten Zitat
Benutzerbild von mika
mika

 
Delphi 6 Professional
 
#27
  Alt 22. Sep 2005, 16:11
Zitat von leddl:
So einen Einwand versteh ich immer noch nicht (und Lucky sicherlich auch nicht). Es geht doch nicht darum, daß ein Programm installiert werden muß, sondern darum, daß sie Ihre Daten eben nicht im Programmverzeichnis ablegen, da dort nicht jeder Schreibrechte besitzt. So ein Programm kannst du dennoch einfach per Copy&Paste irgendwo hinstecken. Du mußt sogar nichtmal an die Daten denken, da die ja sowieso immer am selben Fleck sind. Ist natürlich bei Programmen auf USB-Stick oder Diskette etwas anderes, zugegeben.
Da ich aber im Büro, zuhause und bei Freunden oft am PC sitze und mit meinen Programmen arbeiten muss liegen die halt so gut wie alle auf meinem USB-Stick oder der USB-Platte und da ich ja auch für mich sprach und nicht für alle bin ich der Meinung das ich mir schon Schreibrechte geben kann und auch keine Lust habe diese Programme überall und jedem zu installieren!

Zitat von leddl:
Ich finde Luckies Artikel durchaus interessant und sinnvoll
Wie ich zweimal betont habe ich ebenfalls.
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

 
Delphi 12 Athens
 
#28
  Alt 22. Sep 2005, 16:22
Moin, moin,

also ich sehe schon dass sich Michael da viel Mühe mit seinem Artikel gegeben hat und das hat auch meine Anerkennung. Habe das jetzt andiskutiert da ich wirklich froh bin wenn man einfach mal was verschieben kann und nicht schon wieder Ärger mit der Registry hat wenn mal zwei verschiedene Varianten von einem Programm auf dem Rechner sind. Ja und wie man sieht, geht das anderen DP´lern auch schon mal so (danke der Rückendeckung!).

Würde das mal so strukturieren (Alcaeus hat schon gezeigt, dass es nicht so trivial ist). Wenn Programm sich ins System einklinken muß, als Explerererweiterung, als Officetool, oder als Systemutility, dann halte ich die Einbindung für Sinnvoll. Auch wenn Programm miteinander integriert werden müssen, aber auch einzeln verkauft werden, dannn kommt man um Luckies zusammengestellte Richtlinen wohl nicht ganz umhin. Wenn es aber um weitgehend eigenständige Programme oder Programmsysteme geht, dann bin ich über diese Systemintegration nicht unbedingt glücklich.


Viele Grüße in die Runde // Martin



PS: Aha noch ein Commander-Fan... Das freut !
Martin Schaefer
  Mit Zitat antworten Zitat
Benutzerbild von leddl
leddl

 
Delphi 2006 Professional
 
#29
  Alt 22. Sep 2005, 16:27
Zitat von mschaefer:
Wenn es aber um weitgehend eigenständige Programme oder Programmsysteme geht, dann bin ich über diese Systemintegration nicht unbedingt glücklich.
Nur manchmal kann ja selbst ein Tool, das man eigentlich nur für sich selbst programmiert hat, plötzlich Verwendung in ner Mehrplatzumgebung in einer Firma finden. Und dann hätte man eben wieder genau dieses Problem
Axel Sefranek
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

 
Delphi 12 Athens
 
#30
  Alt 22. Sep 2005, 16:46
Moin, Grübelmoin,

Ja, das ist natürlich ein unbestreitbarer Aufstieg für so ein Tool. Tja praktisch bräuchte man dann eine Tinfile-Komponente, die zunächst versucht ihre Daten ins Programmverzeichnis zu schreiben/dort zu lesen und wenn das nicht funktioniert, dann aus dem Homeverzeichnis. Also sowas ist mir bisher noch nicht untergekommen..

Grüße //Martin
Martin Schaefer
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 9     123 45     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz