Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Hilfe! Mein PC wird ausgebremst!

18 views
Skip to first unread message

Andreas Schwarze

unread,
Feb 26, 2002, 8:39:20 AM2/26/02
to
Hallo,

ich habe ein peer-to-peer-Netzwerk bestehend aus 4 PC's (3x WIN 98, 1x WIN
ME) und einem Router für den Internetzugang.

Gestern hab ich auf einem der WIN 98-PC's das e-mail-server-programm
"Hamster" installiert. Da es aber nicht den gewünschten Erfolg brachte,
löschte ich es wieder. (Deinstallation war nicht möglich, da es kein
Deinstallationsprogramm hatte und auch nicht unter 'Software
installieren/deinstallieren' verzeichnet war.

Seitdem ist aber die Verbindungsgeschwindigkeit des PC, wo es installiert
war, auf ca. 233 Bytes/sec
begrenzt. Egal ob ich auf einem anderen PC innerhalb des Netzwerkes zugreife
oder im Internet surfe bzw. etwas aus dem Internet downloade.

Wenn ich aber von einem anderen PC auf diesen zugreife ist alles beim alten.
Also muß das 'Hamster'-Programm irgendwo eine Bremse eingebaut haben. Aber
wo ??? Irgendwo muß man doch die Verbindungsgeschwindigkeit einstellen
können, oder ??

Wer kann mir helfen ????


Vielen Dank schonmal im Voraus.


MfG
Andreas Schwarze


Karl Pflästerer

unread,
Feb 26, 2002, 10:47:49 AM2/26/02
to
On Tue, 26 Feb 2002, Andreas Schwarze <- in...@htg-koennern.de wrote:
> brachte, löschte ich es wieder. (Deinstallation war nicht möglich, da
> es kein Deinstallationsprogramm hatte und auch nicht unter 'Software
> installieren/deinstallieren' verzeichnet war.

-v bitte
Als was bezeichnest du den das Löschen des Hamsterverzeichnisses, wenn
nichts als deinstallieren? Nur weil kein Programm notwendig ist, um dies
zu erreichen (Hamster verewigt sich zum Glück nicht an 1000 Stellen in
der registry), ist das Löschen trotzdem ein deinstallieren. Oder war das
entpacken der Zip-Datei in ein Verzeichnis nicht etwa ein Installieren?

> Wenn ich aber von einem anderen PC auf diesen zugreife ist alles beim
> alten. Also muß das 'Hamster'-Programm irgendwo eine Bremse eingebaut
> haben. Aber wo ??? Irgendwo muß man doch die
> Verbindungsgeschwindigkeit einstellen können, oder ??

Hamster ändet nichts an deiner Konfiguration, was solche Auswirkungen
haben könnte. Du mußt noch etwas anderes geatn haben.

bye
KP

--
Der wahre Weltuntergang ist die Vernichtung des Geistes, der andere hängt von
dem gleichgiltigen Versuch ab, ob nach der Vernichtung des Geistes noch eine
Welt bestehen kann.
Karl Kraus 'Untergang der Welt durch schwarze Magie'

Volker Gringmuth

unread,
Feb 26, 2002, 11:32:30 AM2/26/02
to
Andreas Schwarze (in...@htg-koennern.de) wrote:

> Gestern hab ich auf einem der WIN 98-PC's das
> e-mail-server-programm "Hamster" installiert. Da es aber nicht den
> gewünschten Erfolg brachte, löschte ich es wieder. (Deinstallation
> war nicht möglich, da es kein Deinstallationsprogramm hatte und
> auch nicht unter 'Software installieren/deinstallieren'
> verzeichnet war.

War völlig richtig so. Hamster ändert /nichts/ am System und benutzt
keine Registry-Einträge, daher brauchst du es nur zu löschen und bingo.
Ein Deinstaller ist überflüssig.

> Seitdem ist aber die Verbindungsgeschwindigkeit des PC, wo es
> installiert war, auf ca. 233 Bytes/sec begrenzt. Egal ob ich auf
> einem anderen PC innerhalb des Netzwerkes zugreife oder im
> Internet surfe bzw. etwas aus dem Internet downloade.

Das ist nicht normal[tm]. Wenn's dich tröstet...

Hast du irnkwas im Hintergrund laufen, was vielleicht auf Hamster
allergisch reagiert hat - eine dieser ominösen "Personal Firewalls"
oder einen Higruvirenscanner?

Hamster ändert, wie schon erwähnt, nichts am System. Wenn er läuft,
bietet er seine Dienste an, das ist alles. Deinen Internetzugriff
braucht das nicht zu kratzen.

> Wenn ich aber von einem anderen PC auf diesen zugreife ist alles
> beim alten. Also muß das 'Hamster'-Programm irgendwo eine Bremse
> eingebaut haben.

Nö. Das muss irgendwo in den Tiefen deines OS liegen.

Vielleicht fragst du auch noch mal in news:de.comp.os.ms-windows.misc
oder wie die NG heißt. Aber lass den Thread trotzdem hier laufen, weil
sich hier auch einige Leute mit Unverträglichkeiten zwischen Hamster &
Restsystem ein bißchen auskennen.


vG

--
Volker Gringmuth http://www.volker-gringmuth.de

Die Zeit vergeht um so schneller, je glücklicher man dabei ist.
(Plinius)

Joern Weber

unread,
Feb 26, 2002, 12:44:41 PM2/26/02
to
HI

"Andreas Schwarze" <in...@htg-koennern.de> schrieb/wrote:

> Gestern hab ich auf einem der WIN 98-PC's das e-mail-server-programm
> "Hamster" installiert. Da es aber nicht den gewünschten Erfolg brachte,
> löschte ich es wieder. (Deinstallation war nicht möglich, da es kein
> Deinstallationsprogramm hatte und auch nicht unter 'Software
> installieren/deinstallieren' verzeichnet war.

Das löschen des Hamster-Verzeichnis ist die Deinstallation. Der Hamster
benötigt kein Deinstallationsprogramm.

> Seitdem ist aber die Verbindungsgeschwindigkeit des PC, wo es installiert
> war, auf ca. 233 Bytes/sec begrenzt. Egal ob ich auf einem anderen PC innerhalb
> des Netzwerkes zugreife oder im Internet surfe bzw. etwas aus dem Internet downloade.

Unfug wenn Du den Hamster von der Platte gelöscht hast, kann er nichts
mehr ausbremsen. Nochmal zum mitmeiseln: Der Hamster schreibt sich weder
in die Registry ein noch verändert er die Rechner-Konfiguration. Es werden
auch keine DLL-Dateien in das Windows und Systemverzeichnis kopiert.

> Wenn ich aber von einem anderen PC auf diesen zugreife ist alles beim alten.

Eine "Personal Firewall" hast Du nicht zufällig installiert?


Gruss Joern Weber
--
em...@joernweber.de

Mathias Behrle

unread,
Feb 26, 2002, 3:49:13 PM2/26/02
to
Joern Weber am Di 26 Feb 2002 18:44:41:

> Nochmal zum mitmeiseln: Der Hamster schreibt sich weder
> in die Registry ein

Dem muß ich nun doch widersprechen (wenn es auch keinen gravierenden
Unterschied macht):

(ohne Archivhamster, Dienst o.ä.):

[HKEY_CLASSES_ROOT\AppID\{C84CDBA2-F4AF-11D2-A2B3-444553540001}]
@="Hamster App-Object"

[HKEY_CLASSES_ROOT\AppID\Hamster.exe]
"AppId"="{C84CDBA2-F4AF-11D2-A2B3-444553540001}"

[HKEY_CLASSES_ROOT\CLSID\{C84CDBA2-F4AF-11D2-A2B3-444553540001}]
@="Hamster App-Object"
"AppID"="{C84CDBA2-F4AF-11D2-A2B3-444553540001}"

[HKEY_CLASSES_ROOT\CLSID\{C84CDBA2-F4AF-11D2-A2B3-
444553540001}\LocalServer32]
@="H:\\Programme\\Hamster\\Hamster.exe"

[HKEY_CLASSES_ROOT\CLSID\{C84CDBA2-F4AF-11D2-A2B3-444553540001}\ProgID]
@="Hamster.App"

[HKEY_CLASSES_ROOT\CLSID\{C84CDBA2-F4AF-11D2-A2B3-
444553540001}\TypeLib]
@="{C84CDBA0-F4AF-11D2-A2B3-444553540001}"

[HKEY_CLASSES_ROOT\CLSID\{C84CDBA2-F4AF-11D2-A2B3-
444553540001}\Version]
@="1.0"

[HKEY_CLASSES_ROOT\Hamster.App]
@="Hamster App-Object"

[HKEY_CLASSES_ROOT\Hamster.App\Clsid]
@="{C84CDBA2-F4AF-11D2-A2B3-444553540001}"

[HKEY_CLASSES_ROOT\TypeLib\{C84CDBA0-F4AF-11D2-A2B3-444553540001}]

[HKEY_CLASSES_ROOT\TypeLib\{C84CDBA0-F4AF-11D2-A2B3-444553540001}\1.0]
@="Hamster (Bibliothek)"

[HKEY_CLASSES_ROOT\TypeLib\{C84CDBA0-F4AF-11D2-A2B3-
444553540001}\1.0\0]

[HKEY_CLASSES_ROOT\TypeLib\{C84CDBA0-F4AF-11D2-A2B3-
444553540001}\1.0\0\win32]
@="H:\\Programme\\Hamster\\Hamster.exe"

[HKEY_CLASSES_ROOT\TypeLib\{C84CDBA0-F4AF-11D2-A2B3-
444553540001}\1.0\FLAGS]
@="0"

[HKEY_CLASSES_ROOT\TypeLib\{C84CDBA0-F4AF-11D2-A2B3-
444553540001}\1.0\HELPDIR]
@="H:\\Programme\\Hamster\\"


Mathias
--
Filter auf Realnamen, Spamspoiler und HTML-Mails

Wolfgang Jaeth

unread,
Feb 27, 2002, 1:41:18 AM2/27/02
to

Mathias Behrle schrieb in Nachricht ...

>Joern Weber am Di 26 Feb 2002 18:44:41:
>
>> Nochmal zum mitmeiseln: Der Hamster schreibt sich weder
>> in die Registry ein
>
>Dem muß ich nun doch widersprechen (wenn es auch keinen gravierenden
>Unterschied macht):

/Ganz/ ganz streng genommen hast Du recht. Diese Daten sind aber absolut
passiv, sie werden vom OLE-Mangement zum Auffinden der einzelnen Server
benötigt (Hamster bietet ja bekanntermaßen eine OLE-Schnittstelle an).

Andererseits hat auch Jörn irgendwie recht, denn wie gesagt, diese Daten
gehören /eigentlich/ gar nicht zum Hamster, sondern zu OLE.

Wolfgang
--

Joern Weber

unread,
Feb 27, 2002, 12:57:27 PM2/27/02
to
Hi

Mathias Behrle <exp3...@gmx.de> schrieb/wrote:

Hi


Joern Weber am Di 26 Feb 2002 18:44:41:

> Nochmal zum mitmeiseln: Der Hamster schreibt sich weder
> in die Registry ein

Dem muß ich nun doch widersprechen (wenn es auch keinen gravierenden
Unterschied macht):

(ohne Archivhamster, Dienst o.ä.):

[HKEY_CLASSES_ROOT\AppID\{C84CDBA2-F4AF-11D2-A2B3-444553540001}]
@="Hamster App-Object"

[...]

Nein, diese Einträge werden nicht vom Hamster erzeugt, sondern vom
OLE-Dispatcher des Betriebssystems. Dieser merkt sich hier wo er die
OLE-Class und die Type-Lib wiederfindet. Wem das nicht passt darf sich bei
Microsoft beschweren.

btw. in der aktuellen Beta lässt sich die OLE Schnittstelle deaktivieren.

btw. "Andreas Schwarze" hat sich für mich erledigt. Plonk wegen Multipost
und OT-Post in dcir.

Mathias Behrle

unread,
Feb 28, 2002, 3:37:19 AM2/28/02
to
Joern Weber on Mi 27 Feb 2002 18:57:27:

> Nein, diese Einträge werden nicht vom Hamster erzeugt, sondern vom
> OLE-Dispatcher des Betriebssystems. Dieser merkt sich hier wo er
> die OLE-Class und die Type-Lib wiederfindet.

Die Einträge werden zwar nicht vom Hamster selbst erzeugt, aber
mittelbar schon durch ihn.

> Wem das nicht passt darf sich bei Microsoft beschweren.

Gott behüte.

> btw. in der aktuellen Beta lässt sich die OLE Schnittstelle
> deaktivieren.

Aber erst nach dem ersten Start, oder? Hab grad kein Nichtbeta-zip
greifbar, um nachzuschauen, ob da die ini schon drin ist oder beim
ersten Start durch den Hamster erzeugt wird.

Wenn man ein wirklich Reg-neutrales Programm wollte, müsste man die
OLE-Schnittstelle per default deaktivieren und durch den User
aktivieren lassen. Nicht, daß ich das ich das für notwendig halte...

Mathias

Joern Weber

unread,
Feb 28, 2002, 10:03:51 AM2/28/02
to
Hi

Mathias Behrle <exp3...@gmx.de> schrieb/wrote:


> Joern Weber on Mi 27 Feb 2002 18:57:27:

>> btw. in der aktuellen Beta lässt sich die OLE Schnittstelle


>> deaktivieren.
>
> Aber erst nach dem ersten Start, oder?

Nein. Die hamster.ini kann auch vor dem ersten Start angepasst werden.


> Wenn man ein wirklich Reg-neutrales Programm wollte, müsste man die
> OLE-Schnittstelle per default deaktivieren und durch den User
> aktivieren lassen. Nicht, daß ich das ich das für notwendig halte...

Ich auch nicht.

Heiko Studt

unread,
Mar 5, 2002, 1:16:32 PM3/5/02
to
'Cause Klaus Ketelaer's words, I thought of...

> > Wenn man ein wirklich Reg-neutrales Programm wollte, müsste man die
> > OLE-Schnittstelle per default deaktivieren und durch den User
> > aktivieren lassen. Nicht, daß ich das ich das für notwendig halte...
> Ich finde die Reg-Einträge äusserst praktisch, weil Tools
> darüber das Hamsterverzeichnis recht sicher ermitteln
> können.

...was du über OLE aber mit Sicherheit sicherer machen kannst.

Als kleiner Pseudo-Code:

Handle = Start(Hamster.App)
s = (Handle).MainPath
if (IsWinPath(s)) then
[...]
end if

MFG

--
Heiko Studt

Mathias Behrle

unread,
Mar 6, 2002, 3:39:48 AM3/6/02
to
Klaus Ketelaer on Di 05 Mrz 2002 21:43:22:

> Es wiederspricht dem Konzept meiner Anwendung (Offline-
> Reader), einen laufenden Hamster vorauszusetzen. Noch nicht
> einmal ein installierter Hamster wird zwingend vorausgesetzt...

Wenn du deinen Offline-Reader so universell gestalten willst, daß er
evtl. auch auf CD archivierte Gruppen lesen können soll, ist das mit
dem automatischen Path aus der Registry ein Problem. Es macht IMHO auch
wenig Sinn, den Path einer evtl. veralteten Installation auszulesen.
Entweder du läßt den User manuell festlegen, von welchem
Gruppenverzeichnis er lesen will oder du solltest eher, wie von Heiko
beschrieben, auf einen verläßlichen, weil aktuellen Pfad zurückgreifen.

Mathias

Joern Weber

unread,
Mar 6, 2002, 10:28:04 AM3/6/02
to
Hi

Klaus Ketelaer <klaus.k...@t-online.de> schrieb/wrote:

> [Meine private Meinung]
> Ich hasse OLE wie die Pest und weigere mich daher diese Technik
> aus den 80er Jahren überhaupt einzusetzen. Wozu gibt es COM,
> DCOM, COM+, CORBA, etc...?

Der Hamster lässt sich mit COM und DCOM bedienen. CORBA ist ein sowieso
kaum unterstützter Standard.

Mathias Behrle

unread,
Mar 6, 2002, 12:23:34 PM3/6/02
to
Klaus Ketelaer am Mi 06 Mrz 2002 13:40:21:

>> Entweder du läßt den User manuell festlegen, von welchem
>> Gruppenverzeichnis er lesen will oder du solltest eher,

> Ich lasse den User manuell einen Pfad festlegen, wenn mein
> Weg kein gültiges Hamsterverzeichnis finden konnte.

Und wenn er nicht dieses, sondern partout ein anderes lesen will?

> Das sehe ich nun aber _ganz_ anders. Um auf Dein Argument mit dem
> veralteten Registy-Eintrag zurückzukommen:
> Der Eintrag ist gültig, wenn der Hamster installiert ist. Er ist
> gültig, wenn der Hamster verschoben und mindestens einmal
> gestartet wurde.
> Er ist ungültig, wenn der Hamster unsachgemäss entfernt wurde.

Wie kann man den Hamster unsachgemäß entfernen? Deinstallation heißt
per definitionem löschen.

> Wenn der Hamster jedoch entfernt wurde, wie soll ich dann Heikos
> Methode anwenden?

Die geht dann natürlich auch nicht. Aber deine wird eben auch nicht
funktionieren, wenn der Hamster einfach verschoben und nicht gestartet
wurde.

> Zudem halte ich Heikos Weg für mehr als unsicher:
> Um so zu verfahren müsste ich den Hamster starten, wenn er noch
> nicht läuft. (Woher weiss ich denn wo ich den finde?) Wer
> garantiert mir, dass der Hamster nicht sofort irgendwelche Scripte
> abarbeitet und eine DFÜ-Verbindung aufmacht? Soll ich das etwa
> alles überwachen, nur um den Pfad der Anwendung zu ermitteln?

Wenn du den Hamster über OLE zu starten versuchst, hast du im
Erfolgsfall eine funktionierende Installation und das dürfte dir die
Arbeit erleichtern.
Andernfalls musst du erst auf
[Directories]
Main=
in der hamster.ini im (in der Reg) gefundenen Pfad prüfen, um dann in
der hamster.ini im dort verzeichneten Pfad
[Directories]
Groups=
auszulesen.

Wenn an der Installation etwas nicht stimmt, läufst du in Fehler.

Heiko Studt

unread,
Mar 6, 2002, 5:44:35 PM3/6/02
to
'Cause Klaus Ketelaer's words, I thought of...
> Was ich da gebastelt habe, halte ich für ausreichend sicher,
> solange OLE nicht abgeschafft wird ;-)

... und M$ nicht an den Registry-Pathes etwas ändert!

[...]

Das habe ich jetzt nichtmal überflogen, sorry...

> Ich sehe dass so, dass ich dann mit meiner Funktion den
> Hamsterpfad ermittle, um dann den Hamster zu starten und
> mir dann per OLE die Daten zu holen, die eh schon habe, um
> dann den Hamster wieder zu beenden, sofern er nicht schon
> lief?

NAK!
Du startest nur eine Verbindung zum *OLE-Server* Hamster.App.
Wo und was und wie und ob EXE/DLL und eventueller Start/Beenden, das regelt
Windows.
Dann fragst du den Path der Groups ab und speicherst diesen.
Jetzt beendest du die Verbindung zum OLE-Server, und wieder schaut Windows
nach, was zu tun ist...

> Es wiederspricht dem Konzept meiner Anwendung (Offline-
> Reader), einen laufenden Hamster vorauszusetzen. Noch nicht
> einmal ein installierter Hamster wird zwingend vorausgesetzt...

Bei meinem Verfahren kannst du anhand der Exception, die "GetOleServer"
aufruft ermitteln, ob Hamster.App installiert ist. Wenn nicht passiert das
gleiche wie bei dir: Frage nach dem Path. (Natürlich im Programm)

> [Meine private Meinung]
> Ich hasse OLE wie die Pest und weigere mich daher diese Technik

Und ich hasse Registry-Pfuscherei und die Registry allgemein...
Was vermeidbar und nur unnötig in der Registry stehen würde sollte vermieden
werden.

> aus den 80er Jahren überhaupt einzusetzen. Wozu gibt es COM,
> DCOM, COM+, CORBA, etc...?

Ich sehe nicht den Unterschied zwischen COM und OLE...
Wenn ich das jetzt richtig verstehe benutzt Hamster sogar COM...

> OK, der Hamster ist alt und die Schnittstelle ist halt drin. Verstehe

Hamster ist mit Sicherheit nicht *so* alt.

> ich. Aber nutzen muss ich sie deshalb nicht.

*Müssen* sicherlich nicht. Aber meine Zustimmung hat dein Verfahren
sicherlich nicht (IMO mittlerweile begründet) -- Das sollte dir aber wohl
egal sein... <gg>

> [/Meine private Meinung]

ACK. Das sowieso. Ich poste hier nicht von oder für eine Firma... <g>

> Hast Du eigentlich Deine Registry zwischenzeitlich repariert?

Noch keine Zeit gehabt. Und "reparieren" wird nichts bringen. Das einzig
wahre wird eine Neuinstallation sein. Bis ich aber soweit bin wird noch viel
Wasser alle Bächer hinunter fließen...

> Nach den Erkenntnisses aus meiner damaligen Studie habe ich
> nochmal von vorne angefangen und so langsam geht es voran.

Schön.

> Erste Suchfunktionen sind auch schon drin. Und voll das OjE-
> Feeling ;-)

Bugs ohne Ende? Das kenne ich... <eg>

> Etwas[tm] schneller als HamNews ist das Ding auch ;-)

<ignore>
GoldFind heißt das biest und OLE-Hamnews ist mit sicherheit (für seinen
Zweck) gleich schnell. Oder willst du allen Ernstes behaupten, daß das ohne-
Threading-Lesen von Beiträgen schneller geht als OLE/COM? <gg> ;-)


MFG

--
Heiko Studt

Heiko Studt

unread,
Mar 6, 2002, 5:24:54 PM3/6/02
to
'Cause Mathias Behrle's words, I thought of...

> Wenn du den Hamster über OLE zu starten versuchst, hast du im
> Erfolgsfall eine funktionierende Installation und das dürfte dir die
> Arbeit erleichtern.

ACK.

> Andernfalls musst du erst auf
> [Directories]
> Main=
> in der hamster.ini im (in der Reg) gefundenen Pfad prüfen, um dann in
> der hamster.ini im dort verzeichneten Pfad
> [Directories]
> Groups=
> auszulesen.

ACK.

Insbesondere ersteres ist tückisch.

> Wenn an der Installation etwas nicht stimmt, läufst du in Fehler.

...die in diesem oder einer späteren Version des Hamsters jeweils andere
Fehlerbehandlungsroutinen ergeben können.


MFG

--
Nur definierte Schnittstellen sind gute Schnittstellen.

Heiko Studt

Heiko Studt

unread,
Mar 6, 2002, 5:22:34 PM3/6/02
to
'Cause Klaus Ketelaer's words, I thought of...

> > Und wenn er nicht dieses, sondern partout ein anderes lesen will?

> Ja, was macht der saubere Weg über denn Hamster dann?

Du kannst ermitteln, *welchen* Hamster du gerade an der Strippe hast.
Mittlerweile gibt es einen Hash oder sowas (nicht mehr *so* genau im
Gedächnis <gg>). AFAIk liefert er darin dann den Mutex-String zurück, welcher
im Normalfall (aka non-XP) eindeutig sein *muß*.

> Bei mir wird dies z.Zt. noch per INI-Datei umgestellt, später
> jedoch als Standard-Dialog.

IMO gar nicht aus der Registry lesen sondern generell per Dialog abfragen.
(Oder auch nur beim ersten Mal oder so)

> latürnich keinen Index im Gruppenverzeichnis anlegen...

Das sollte man sowieso *grundsätzlich* vermeiden. Bei "Installierten"
Programmen würde sonst einen eventuelle deinstallation nichts mehr bringen;
außerdem hat ein Programm seine Verzeichnise selber zu verwalten. Wenn dort
ein anderes Programm hineinfuscht, können die merkwürdigsten Dinge
passieren...

> >> Er ist ungültig, wenn der Hamster unsachgemäss entfernt wurde.
> > Wie kann man den Hamster unsachgemäß entfernen? Deinstallation
> > heißt per definitionem löschen.

> Ich bin davon ausgegangen, dass man den Hamster auch sauber
> deinstallieren kann, also incl. Registry-Einträge... Bleibt etwa alles

Natürlich:
Händisches löschen der Einträge...
Da man mittlerweile aber den Start des COM-Servers verhindern kann, und diese
"Reste" nun wirklich von jedem Programm hinterlassen werden (auch mit
Deinstallation!), sollte sich gar kein allzugroßes Problem ergeben.

> im System verewigt, incl. der Server, COM-Klasse(n), etc? Das wäre
> aber ein hoher Preis für eine eigesparte Installation....

Ääähm...
Die *Installation* ist vollkommen egal. Außerdem ist eine Installation (falls
unnötig) IMO *vollkommener* Schwachfug. Rein meine Meinung.
BTW: Sachlicher Grund dazu: Wenn du *nur* die Hamster.exe haben willst, mußt
du bei einer Installation erst das gesammte Zeugs kopieren lassen und *dann*
den Rest wegwischen. Insbesondere mit Path-Einträgen und häufigem Up/Down-
Grade kann das zu nerventreibenden Debakeln führen...

> OK, das stimmt. Dafür funzt meine Lösung, wenn die Hamster.exe
> einfach gelöscht wurde ;-)

Ich sage nicht, daß meine Lösung die göttlich beste sei. Es ist IMO aber
immer besser als eine "proprietäre" Registry-Pfuscherei.
Du kannst mir nicht garantieren, daß der COM-Server in Win 2005 noch immer an
dieser Stelle seine Sachen ablegt. Und vor allem ob du Leserechte haben
wirst...
Den COm-Server wirst du aber immer starten dürfen, falls du überhaupt Rechte
hast...<g>

> Im Grunde kann jeder Weg in die Hose gehen, wenn man nur
> genug konstruiert. Wieviele Programme kennst Du, die man

ACK.

> ungestraft verschieben kann? Wie viele Programme kennst Du,

Viele. Alle ohne Installation und sogar einzelnen mit.

> die einen Server starten um dessen Verzeichnis zu ermitteln?

Wie viele Programme kennst du, die in den Daten des Servers herumpfuschen?

> Was passiert, wenn der Hamster verschoben (und nicht gestartet)
> wurde mit der COM-Schnittstelle? Probier das mal aus ;-)

Dann ist dein Weg genauso flasch, da Hamster *genau beim registrieren* die
Registry-Einträge setzt.
Eine Anmerkung noch: Mittlerweile (bzW bald bzW irgentwann) kann man den OLE-
Server des Hamsters auch auf etwas anderes als "Hamster.App" setzen... Viel
Spaß damit...

> Der einzig saubere Weg wäre, wenn sich der Hamster sauber
> in die Registry einträgt, denn dafür wurde die Registry erschaffen.

NAK.
*Hamster* trägt sich gar nicht ein, sondern der COM-xzy von Windows.
Dieser verwaltet diese Einträge auch.
Hamster selber *darf* sich gar nicht weiter in die Registry eintragen, da man
sonst nicht mehr mehrere Hamster gleichzeitig betreiben kann. Außerdem
basiert Hamster, wie viele andere Server auch, auf INIs. Diese Methode ist
deiner Meinung vielleicht nach veraltet, aber sie ist in manchen Fällen, (und
insbesondere hier) besonders wirkungsvoll.


MFG

--
Heiko Studt

Heiko Studt

unread,
Mar 6, 2002, 5:32:25 PM3/6/02
to
'Cause Klaus Ketelaer's words, I thought of...
> Nein, das sehe ich nicht so. Ich ermittle den Pfad und prüfe
> ihn auf Gültigkeit. Danach handle ich entsprechend...

Wie ermittelst du den Path *nachdem* du die Registry ausgelesen hast?
Woher willst du wissen, daß Hamster nicht irgentwann andere Faktoren ergänzt,
die das groups-Verzeichnis bedingen?

> Für mich macht es ebenso wenig Sinn, eine evtl. nicht vorhande
> Anwendung zu starten um einen evtl. vorhandenen Pfad zu ermitteln.

Eine "nicht vrohandene Anwendung" kann nicht starten.
Und wenn sie existiert, dann nur für Bruchteile einer Sekunde, bis du den
OLE-Server freigegeben hast...

> > Entweder du läßt den User manuell festlegen, von welchem
> > Gruppenverzeichnis er lesen will oder du solltest eher,

> Ich lasse den User manuell einen Pfad festlegen, wenn mein
> Weg kein gültiges Hamsterverzeichnis finden konnte.

*Bitte* mache ihn allgemein festlegbar.
(Einfache, eindringliche Bitte)

> (Zudem wird der Hamster parallel noch über FindWindow und
> GetModuleFilename ermittelt, sofern er läuft.)

Und? Path der Hamster.Exe =! Path der Groups

> Der Eintrag ist gültig, wenn der Hamster installiert ist. Er ist
> gültig, wenn der Hamster verschoben und mindestens einmal gestartet
> wurde.

Das gilt genauso für mich, wie für dich.

> Er ist ungültig, wenn der Hamster unsachgemäss entfernt wurde.

> Wenn der Hamster jedoch entfernt wurde, wie soll ich dann Heikos
> Methode anwenden?

Und wie deine?
Deine basiert auf *dieselben* Registry Einträgen.

> Zudem halte ich Heikos Weg für mehr als unsicher:
> Um so zu verfahren müsste ich den Hamster starten, wenn er noch
> nicht läuft. (Woher weiss ich denn wo ich den finde?) Wer garantiert

Steht in der Registry und wird *automatisch* von Windows erledigt.
AFAIR seit Win3.x

> mir, dass der Hamster nicht sofort irgendwelche Scripte abarbeitet
> und eine DFÜ-Verbindung aufmacht? Soll ich das etwa alles überwachen,

AFAIK gibt es jetzt solche Events. Ob die aber auch so aufgerufen werden kann
ich nicht beantworten...

> nur um den Pfad der Anwendung zu ermitteln?

NAK. Natürlich nicht.

> Sollte ich mich bei meinen Ausführungen geirrt haben, erkläre mir
> bitte warum.

Du siehst IMO nicht ein, daß du dieselben Registry-Einträge verwendest wie
ich, nur daß du danach den "technischen" "proprietären" Weg gehst, wärend ich
den definierten Schnittstellen-Weg gehe...


MFG

--
Heiko Studt

Mathias Behrle

unread,
Mar 7, 2002, 3:39:37 AM3/7/02
to
Klaus Ketelaer am Do 07 Mrz 2002 07:20:35:

> Du weisst, was Du da schreibst? COM-Klassen händisch löschen?

Warum nicht, wenn man sie eindeutig zuordnen kann?

>> Da man mittlerweile aber den Start des COM-Servers verhindern
>> kann, und diese "Reste" nun wirklich von jedem Programm
>> hinterlassen werden (auch mit Deinstallation!), sollte sich gar
>> kein allzugroßes Problem ergeben.

> Das stimmt nicht.

Das ist dann ein Windows-internes Problem.

>>> im System verewigt, incl. der Server, COM-Klasse(n), etc? Das
>>> wäre aber ein hoher Preis für eine eigesparte Installation....

Das ist der übliche Preis eines jeden Programms, das sich als Server in
der Reg registriert.

> Bei einem 'vernünftigen' Setup gibt es genau dafür die kleinen
> Checkboxen...


>> Insbesondere mit Path-Einträgen und häufigem Up/Down-
>> Grade kann das zu nerventreibenden Debakeln führen...

> Bei einem 'vernünftigen' Setup werden solche Einträge erkannt...
> Eigentlich hast Du gerade zwei wichtige Punkte aufgezählt, die für
> eine Installation sprechen.

Eine Installationsroutine könnte derzeit bei einer Erstinstallation
abfragen, ob der COM/DCOM-Server gestartet werden soll. Bißchen viel
Aufwand für den Effekt, daß ihn ja doch jeder einschaltet...;)

>> Ich sage nicht, daß meine Lösung die göttlich beste sei. Es ist
>> IMO aber immer besser als eine "proprietäre" Registry-Pfuscherei.

> Wer bitteschön pfuscht hier? Pfusch kann nur auftreten, wenn der
> Hamster pfuscht und ungültige Einträge in der registry lässt.

Du willst, daß der Hamster bei jedem Beenden seine Einträge aus der Reg
wieder löscht? Damit wäre er als COM-Server überhaupt nicht
ansprechbar. Und daß er die Einträge nur beim Starten aktualisieren
kann, versteht sich von selbst. Mach mal Vorschläge, wie du das
handhaben willst.

> Hamster und Goldfind kann man nicht ungestraft verschieben...
> (habe mal Hamster in _Hamster umbenannt)
> COM schmiert komplett ab und zieht andere Anwendungen mit sich.
> "ERROR: das System kann den angegebenen Pfad nicht finden",
> meldet Goldfind... Es steht im Hamsterverzeichnis und meldet
> so einen Fehler... ROFL...
> Dann habe ich Groups in _Groups umbenannt und Goldfind
> gestartet: Oh, der Hamster startet und erstellt die History
> neu... Danke Heiko... Jetzt habe ich alle Gruppen doppelt
> und eine neue History...
> Und da redest _DU_ von Pfusch?

Also wenn diese Eingriffe nicht gepfuscht sind, weiß ich nicht, was
Pfusch ist. Kannst ja mal \system32 nach \_system32 umbenennen und neu
booten.
Daß der Hamster beim Starten für eine funktionsfähige Umgebung sorgt
(die ihm von dir durch die Einstellungsdateien vorgeschrieben wurde),
halte ich in der Tat für ein Feature.

>> Wie viele Programme kennst du, die in den Daten des Servers
>> herumpfuschen?

> Ich pfusche nicht.

Nein, du pfuschst nicht und manipulierst (hoffentlich) auch nicht in
den Daten des Servers. Aber dein Gruppenindex hat im Hamsterverzeichnis
nichts verloren, sondern sollte ins Programmverzeichnis deiner
Anwendung.

>>> Der einzig saubere Weg wäre, wenn sich der Hamster sauber
>>> in die Registry einträgt, denn dafür wurde die Registry
>>> erschaffen.

Könnten wir uns auf "geschaffen" einigen, so göttlich ist Windows nun
wirklich nicht...
Der Com-Server wird eingetragen, du kannst den Pfad per Server-Aufruf
ermitteln oder aus der Reg auslesen, so wie du es machst. Was willst du
mehr?

>> Außerdem
>> basiert Hamster, wie viele andere Server auch, auf INIs.

> Ja, wie viele andere ALTE Server...
> Die Registry ist seit vielen Jahren der Nachfolger der INIs

Von M$ so designiert, aber von vielen ungeliebt. Weil sich da eben u.U.
so viel Müll ansammelt, der immer im Speicher gehalten werden muß. Und
besonders übersichtlich ist das Teil bzw. das GUI dazu auch nicht.

Mathias Behrle

unread,
Mar 7, 2002, 7:02:24 AM3/7/02
to
Klaus Ketelaer am Do 07 Mrz 2002 12:06:29:

>>> Du weisst, was Du da schreibst? COM-Klassen händisch löschen?
>> Warum nicht, wenn man sie eindeutig zuordnen kann?

> Weiss Du immer was eindeutig ist?

Das lässt sich in diesem Fall eindeutig ermitteln, ja. Wäre ja auch
noch schöner, wenn die COM-Klassen mehrdeutig wären.

> Willst Du das etwa einem normalen Hamster-Anwender zumuten?

Ein normaler Hamsteranwender deinstalliert seinen Hamster _niemals_.

> Wenn ja, verdienst Du dein Geld zufällig im Support? ;-))

Wieviel darf ich dir berechnen? ;)

> Wenn ich den Hamster einfach lösche und dann die immer noch
> vorgandene COM-Schnittstelle nutze, habe ich 6 Richtige! Das ist
> nur ein Beispiel.


>> Das ist dann ein Windows-internes Problem.

> Nein, das sehe ich ganz, ganz anders.

Ein Betrübssystem, das abstürzt, wenn ein COM-Server nicht mehr
gefunden wird?

>> Eine Installationsroutine könnte derzeit bei einer
>> Erstinstallation abfragen, ob der COM/DCOM-Server gestartet
>> werden soll. Bißchen viel Aufwand für den Effekt, daß ihn ja doch
>> jeder einschaltet...;)

> Heiko hat das Beispiel gebracht... Aber eine
> Deinstallationsroutine halte ich auf jeden Fall für sinnvoll.

Wäre wohl wirklich nicht schlecht, kannst dich ja mal dran machen.

> Nein, IMO muss jede Anwendung installiert und deinstalliert
> werden, damit kein Müll zurückbleibt. Aber das wäre ja zusätzliche
> Arbeit ;-) Gegen einen mutwilligen Löschvorgang muss man sich
> nicht schützen.

So wie bei der 'versehentlichen' Löschung der history.dats <eeeg>.

> Wenn mir gegenüber jemand argumentiert, dass meine Lösung
> unsicher/Pfusch ist, dann muss er sich gefallen lassen, dass
> ich seine Argumente an seinen eigenen Anwendungen teste.
> (So mit Glashaus meine ich...)

Er bezog sich IIRC auf die Veränderung von Hamster_daten_.

>> Daß der Hamster beim Starten für eine funktionsfähige Umgebung
>> sorgt (die ihm von dir durch die Einstellungsdateien
>> vorgeschrieben wurde), halte ich in der Tat für ein Feature.

> Wenn ein Server, der 150 Gruppen in seinem Bestand hat, nicht
> merkt dass ihm jemand die Verzeichnisse geklaut hat, dann ist er
> [...] . Wenn er ohne irgendeinen Warnhinweis einfach alles neu
> anlegt und weitermacht als sei nix gewesen, dann ist er [...]

Er hat es doch gemerkt und sofort für eine arbeitsumfähige Umgebung
gesorgt. Was soll er deiner Meinung nach tun?
"Hamster konnte Verzeichnis 'soundso' nicht finden. Bitte installieren
sie das Programm neu."

Wenn ein DAU solch ein Verzeichnis einfach verschiebt, hat er einigen
Nachholbedarf in Bezug auf Installationskenntnisse und sollte sich
schon gar nicht an das Aufsetzen eines Hamsters wagen, IMHO. Es wird
normalerweise auch gar nicht dazu kommen, weil er schon größte Probleme
damit haben dürfte, sein Windows überhaupt lauffähig zu bekommen.

> Hmmm, mir wird gesagt, das ich alles prüfen muss, damit das alles
> schön sicher ist. Warum gilt das nur für mich?

Wo überprüft der Hamster denn nicht?

>> Aber dein Gruppenindex hat im Hamsterverzeichnis
>> nichts verloren, sondern sollte ins Programmverzeichnis deiner
>> Anwendung.

> Warum? Ich finde die gehören gerade dort hin.
> Meine Anwendung steht in der Regel dort, wo sie hingehört, unter
> C:\Programme. An Daten können leicht viele Gigabytes entstehen.
> Die werde ich wohl kaum nach C:\ schreiben. Zudem müssen diese
> Daten dann u.U. von zig Benutzern redundant gehalten werden.
> Die Erstellung der Datenbanken ist wegen der Berechnung der
> Threads etwas zeitaufwändig.
> Zudem sind die Daten direkt abhängig von den Daten, die auch in
> den Gruppenverzeichnissen stehen und müssen auch mit denen
> gesichert werden. Zudem soll es möglich sein, die Daten über
> mehrere Medien zu mischen. Z.B. Hamster + ArchivHamster...

Du gibst doch gerade selbst das Argument, warum du deine Indexdateien
an anderer zentraler Stelle erstellen sollst.

> Lediglich die Daten von Read-Only-Medien werde ich in lokalen
> Verzeichnissen speichern. Es sei denn, du nennst mir einen
> nachvollziehbaren Grund, warum ich es anders machen sollte.

s.o.: mehrere Quellverzeichnisse

>> Von M$ so designiert, aber von vielen ungeliebt. Weil sich da
>> eben u.U. so viel Müll ansammelt, der immer im Speicher gehalten
>> werden muß. Und besonders übersichtlich ist das Teil bzw. das GUI
>> dazu auch nicht.

> Ganz im Ernst: Ich mag sie ja auch nicht. Sie ist einfach mit
> einem höheren Aufwand verbunden und bringt weniger produktiven
> Nutzen. (Für Multiuser-Belange ist sie aber echt toll...)

Warum?

> Müll sammelt sich meist nur an, weil viele Entwickler rumschlampen
> und viele Anwender denken, dass man Programme per Delete
> deinstalliert.
> Stell Dir mal vor, kein Programm entfernt seinen Müll aus der Reg.

Das stell ich nur allzu häufig fest.

> Wie oft soll Windows neu installiert werden?

Auf einem Produktionssystem darf man aus diesem Grund keinesfalls
'ruminstallieren'. Ich arbeite immer noch auf meiner ersten NT-
Installation, die so um die 5-6 Jahre alt sein dürfte.

Markus Kohlmeyer

unread,
Mar 7, 2002, 10:08:16 AM3/7/02
to
Moin Klaus,

* "Klaus Ketelaer" <klaus.k...@t-online.de> wrote:

>>> Nein, das sehe ich nicht so. Ich ermittle den Pfad und prüfe
>>> ihn auf Gültigkeit. Danach handle ich entsprechend...
>>
>> Wie ermittelst du den Path *nachdem* du die Registry ausgelesen
>> hast?
>

> Ich prüfe, ob das in der Registry eingetragene Verzeichnes gültig
> ist und setze dann Registry\Groups voraus.

weshalb? Hast Du mal einen Blick in die OH/den Source geworfen?
Hint: Hamster.ini -> Directories -> Main/Groups/Server/...

>>> (Zudem wird der Hamster parallel noch über FindWindow und
>>> GetModuleFilename ermittelt, sofern er läuft.)
>>
>> Und? Path der Hamster.Exe =! Path der Groups
>

> Dann muss der Anwender mir verraten, welchen Pfad er nutzen
> möchte.

Hamster.ini?

Gruss,
Mar'non-programmer'kus

--
Antworten bitte nur in die Newsgroup

Mathias Behrle

unread,
Mar 7, 2002, 11:23:38 AM3/7/02
to
Klaus Ketelaer am Do 07 Mrz 2002 14:59:23:

> Er kann ja an seinen noch vorhandenen Daten erkennen, dass Gruppen
> existieren müssen. Wenn die auf einmal weg sind, muss natürlich
> ein unübersehbarer Hinweis kommen. IMO sollte auch die
> Verarbeitung abgebrochen/angehalten werden.

Vielleicht greift einer der Programmierer den Hinweis auf.

> Stell Dir vor, ich habe den Hamster auf C:\ installiert und die
> Gruppen auf E:\. Dann erstelle/lösche ich eine Partition und das
> Laufwerk wird verschoben. In meinem Fall läuft der Hamster in der
> Regel unbeaufsichtigt, weil er nur für Archivzwecke verwendet
> wird. Als Downloader quasi.

Wenn du dermaßen eingreifende Änderungen in deinem System vornimmst,
musst du als Verursacher ("Admin") eben auch die Folgen
berücksichtigen. Und da wird ein Hamster noch eins der
kleineren Probleme darstellen.

> Es muss in diesem Fall eine Aufforderung kommen, den Pfad zu
> den Gruppen anzugeben, oder die Aufforderung die Eröffnung neuer
> Gruppen zu bestätigen. das darf der Server niemals selber
> entscheiden.

Wäre sinnvoll, ja.

> Zudem hätte er bei meinen Einstellungen alle Gruppen vollständig
> vom Server heruntergeladen.

Pull limit (empty group) auf "No limit"? Ist natürlich ein Risiko und
würde ich sowieso per default nie einstellen.

>>>> Aber dein Gruppenindex hat im Hamsterverzeichnis
>>>> nichts verloren, sondern sollte ins Programmverzeichnis deiner
>>>> Anwendung.
>>> Warum? Ich finde die gehören gerade dort hin.

> [...]


>> Du gibst doch gerade selbst das Argument, warum du deine
>> Indexdateien an anderer zentraler Stelle erstellen sollst.

> Das habe ich getzt nicht kapiert.

|> Zudem soll es möglich sein, die Daten über
|> mehrere Medien zu mischen. Z.B. Hamster + ArchivHamster

Wenn du die Daten mehrerer Medien oder Installationen (Hamster +
Archivhamster + CD-Hamster) mischen willst, brauchst du auf jeden Fall
einen zentralen Ort für den Gesamtindex.

>>> Lediglich die Daten von Read-Only-Medien werde ich in lokalen
>>> Verzeichnissen speichern. Es sei denn, du nennst mir einen
>>> nachvollziehbaren Grund, warum ich es anders machen sollte.
>> s.o.: mehrere Quellverzeichnisse

> Erkläre es mir nochmal wie einem VB-Coder ;-)

Jetzt klar?

>>> Ganz im Ernst: Ich mag sie ja auch nicht. Sie ist einfach mit
>>> einem höheren Aufwand verbunden und bringt weniger produktiven
>>> Nutzen. (Für Multiuser-Belange ist sie aber echt toll...)
>> Warum?

> Du speicherst Benutzereinstellungen in der Registry und brauchst
> Dich um nix zu kümmern. Jeder Benutzer hat seine eigenen
> Einstellungen.

Du speicherst eine .ini zentral und eine im Userverzeichnis. Uraltes
System und macht genau das Gleiche.

>>> Stell Dir mal vor, kein Programm entfernt seinen Müll aus der
>>> Reg.
>> Das stell ich nur allzu häufig fest.

> Schwarze Schaafe wird es immer geben...

*Die* Herde ist aber mehr schwarz als weiß.

> Das war doch früher das Gleiche mit der Rumgeschmiererei in der
> Win.Ini / System.Ini... Deswegen gab es ja die Reg...

Ähmm, wie bitte? Es hat sich nichts geändert und deswegen gab es ja die
Reg?

>> Ich arbeite immer noch auf meiner ersten NT-
>> Installation, die so um die 5-6 Jahre alt sein dürfte.

> Oje,

Nein, mit dem sicher nicht;))

> 3.51?

Nö, NT4SP6a

> Ich mache das laufend. Gute Anwendungen lassen sich schon oft
> rückstandslos entfernen.

Dein Wort in Gottes Ohr.
Wie überprüfst du das? Scanst du dein ganzes System incl. Reg?
Das ist ein ungeheurer Aufwand und ich habe das mal für *vereinzelte*
Programme gemacht. Und da blieb sehr oft was zurück.
Denke allein an gemeinsam genutzte dlls, die das System von sich aus
nicht als zu einer Installation gehörig erkennen kann.

> Zudem ziehe ich regelmässig Images.

Jepp.

Joern Weber

unread,
Mar 7, 2002, 12:36:41 PM3/7/02
to
Hi

Klaus Ketelaer <klaus.k...@t-online.de> schrieb/wrote:


> Ich prüfe, ob das in der Registry eingetragene Verzeichnes gültig
> ist und setze dann Registry\Groups voraus.

Das ist sinnfrei.

[Directories]

Groups=<Pfadangabe für Newsgruppenverz., Default: "groups">

Besser ist es diesen Path aber per COM-Schnittstelle zu erfragen.

>> Woher willst du wissen, daß Hamster nicht irgentwann andere Faktoren
>> ergänzt, die das groups-Verzeichnis bedingen?
>

> Mir ist egal, was der Hamster braucht. Ich bin mir ziemlich sicher,
> dass Ihr euch nicht erlauben könnt, das Format der *.DAT und *.IDX
> Files zu ändern.

Wie kommst Du auf dieses schmale Brett? Das Format der Datenbankdateien
ist nicht in der Hilfe-Dokumentiert. Es gab schon ernsthafte Überlegungen
das MBOX Format zu ändern. Denn für bestimmte einsatzfälle wäre hier ein
anderes Datenbank-Design sinnvoll. Wir nehmen nur Rücksicht auf die
dokumentieren Schnittstellen aber keinesfalls auf interne Datenformate.


> Nein Heiko, Du siehst nicht ein, dass ich den Hamster nicht verwende.
> Meine Anwendung hat mit dem Hamster eigentlich nix zu tun. Meine
> Anwendung liest DAT- und IDX Dateien, die zufällig vom Hamster erstellt
> wurden. Mehr nicht.
>
> Nachdem ich heute geprüft habe, was im Fehlerfall passiert, wenn ich
> die Hamster-Schnittstellen verwende, habe ich sie ganz schnell wieder
> entfernt.

Wenn Deine Applikation abstürzt weil der OLE/COM/DCOM-Server fehlt, hast
Du etwas falsch gemacht.

Joern Weber

unread,
Mar 7, 2002, 12:28:04 PM3/7/02
to
Hi Klaus

Klaus:

> "Mathias Behrle" <exp3...@gmx.de> schrieb:

>>> Du weisst, was Du da schreibst? COM-Klassen händisch löschen?
>>
>> Warum nicht, wenn man sie eindeutig zuordnen kann?

> Weiss Du immer was eindeutig ist? Willst Du das etwa einem
> normalen Hamster-Anwender zumuten? Wenn ja, verdienst Du

> dein Geld zufällig im Support? ;-))

Noch einmal zur Klarstellung. Der Hamster selber registriert seinen
OLE/COM/DCOM Server nicht in der Registry. Dieses geschieht wie im
Windows-Design vorgesehen indirekt per Systemaufruf des OLE-Manager
automatisch. Und ein Programm hat die Registry-Einträge des OLE-Manager
nicht an zu fassen. Auch das Auslesen ist kritisch ab WinXP muss man sich
dann mit den ACL's auseinandersetzen und benötigt System-Privilegien.

> Nein, IMO muss jede Anwendung installiert und deinstalliert werden,
> damit kein Müll zurückbleibt.


Bei OLE/COM/DCOM gab es bis WinXP bisher keine offizielle Methode eine
einmal registrierte Klasse wieder zu entfernen. Es war nicht einmal
zulässig eine einmal registrierte Klasse überhaupt noch zu verändern, man
konnte die Klasse höchstens erweitern. Beim Hamster bin ich selber schon
mal mit einem geänderten Klasse auf die Nase gefallen. Windows XP bringt
jetzt per Managementkonsole ein Tool mit, mit welchen man registrierte
Klassen und verweiste Einträge entfernen kann. Die Fussangeln sind aber
geblieben. Die Fähigkeit des OLE-Dispatcher ein Programm automatisch
starten zu können, falls dessen OLE/COM/DCOM-Server benötigt wird ist der
Grund warum nach Programmende die Einträge in der Registry verbleiben
müssen. Der Hamster darf aus diesen Gründen beim Beenden keinesfalls die
Registry-Einträge des OLE-Manager entfernen, da andernfalls der
OLE-Dispatcher den Hamster, falls sein COM/DCOM Server benötigt wird und
der Hamster nicht gestartet ist, nicht finden kann. Ausserdem würde man
sich dabei eine erstklassige Inkompatibilität zu Windows XP einhandeln.

Die Methode den Hamster-Path aus dem Registry-Eintrag des OLE-Dispatcher
zu lesen ist Pfusch. Das wird unter Windows XP nicht mehr funktionieren,
da der Benutzer dort nicht mehr auf Registry-Einträge der OLE-Server
zugreifen kann. Dafür wäre Admin-Rechte erforderlich. Und diese will man
für eine Applikation aus Sicherheitsgründen nicht haben.

Wenn Du das ordentlich machen willst gibt es nur eine Möglichkeit:

1. Du fragst per Aufruf der COM-Schnittstelle nach, ob im System ein
Hamster als OLE/DCOM/COM-Server existiert und baust zu ihm als Client eine
Verbindung auf.

2. Dann fragst du über die entsprechende OLE/COM/DCOM
Schnittstellenfunktion vom Hamster selber seine Path's ab.

3. Du lagerst keine eigenen Dateien in den Verzeichnissen des Hamsters ab
und verwendest in den INI-Dateien des Hamster keine
eigenen Schlüssel. Wir werden bei der Weiterentwicklung des
Hamsters keine Rücksicht auf Dateien oder Schlüssel dritter
nehmen.

btw. Was Du bei Deinen Projekt für Methoden verwendest ist deine
Angelegenheit. Die Funktionen des OLE/COM/DCOM-Servers sind in der
Online-Hilfe des Hamsters eindeutig dokumentiert. Es ist, von ActiveX/.NET
[1] abgesehen, die einzige Möglichkeit in Windows eine
Interprogramm-Kommunikation kompatibel zu gewährleisten. Wenn du dich
nicht daran hälst muss du ggf. damit Leben, das dein Programm abhängig von
der verwendeten Version des Hamsters ist. Denn auf Programmen von dritten,
wird ausser der dokumentierten Feature, keine Rücksicht bei der
Entwicklung genommen.


[1] ActiveX will man aber aus Sicherheitsgründen nicht auf einem Server
haben.

Heiko Studt

unread,
Mar 7, 2002, 11:09:50 AM3/7/02
to
'Cause Klaus Ketelaer's words, I thought of...
> Ich prüfe, ob das in der Registry eingetragene Verzeichnes gültig
> ist und setze dann Registry\Groups voraus. Sollte dies nicht stimmen,
> dann wird der Anwender ein paar mal klicken müssen.

Dann ist deine Weise mit Sicherhiet bei 1/10 der Nutzer "flasch". (Ohne
Fehlerbehandlung). Zumindestens kenne ich einige, die sich groups geändert
haben. Bei meiner Methode wird dir der "richtige" Path sofort geliefert.

> Mir ist egal, was der Hamster braucht. Ich bin mir ziemlich sicher,
> dass Ihr euch nicht erlauben könnt, das Format der *.DAT und *.IDX

> Files zu ändern. Der Rest ist mir schlichtweg egal.

Meinst du? Das glaubst auch nur du...
Einen Konverter von einem Format in das andere zu schreiben dürfte für einen
kleinen Hamster-Programmierer eine Leichtigkeit sein.

> > Und wenn sie existiert, dann nur für Bruchteile einer Sekunde, bis du den
> > OLE-Server freigegeben hast...

> Oder auch nicht und meine Anwendung abgekackt ist...

Das registriert (AFAIK) Windows und beendet Hamster trotzdem.
Ich kann mich hier aber auch irren.

> Was heisst allgemein festlegbar? Bei mir kannst Du einen Pfad
> je Server vergeben, also individuell und änderbar. Reicht das nicht?

Genau darauf wollte ich hinaus und bedanke mich. :-)

> > Und? Path der Hamster.Exe =! Path der Groups

> Dann muss der Anwender mir verraten, welchen Pfad er nutzen
> möchte.

Warum nicht Hamster selber sagen lassen was er will...

> > Deine basiert auf *dieselben* Registry Einträgen.

> Mit dem kleine Unterschied, dass ich bei meiner Methode den
> Anwender noch fragen KANN, bei deiner nicht.

Wenn du grundsätzlich mit VB keine Fehlerbehandlungsroutine in diesem Fall
aufbauen kannst, dann sage es bitte. Mit Delphi zumindestens habe ich
("beweisbar"), zumindestens nach einem Timeout, die Möglichkeit eine
Fehlerbehandlung zu bauen.
Ob nun wirklich bei einfach verschobener EXE ein Timeout greift, kann ich
aber nicht sagen...

> > Steht in der Registry und wird *automatisch* von Windows erledigt.
> > AFAIR seit Win3.x

> Gehen wir nicht gerade davon aus, dass ich dort NICHT lesen soll,
> weil GENAU DAS flasch sein kann?

Weil in Win 20xx eben dieser Registry-Eintrag besondere Rechte haben oder
aber komplett verschoben sein *kann*.

> > Du siehst IMO nicht ein, daß du dieselben Registry-Einträge verwendest wie
> > ich, nur daß du danach den "technischen" "proprietären" Weg gehst, wärend ich
> > den definierten Schnittstellen-Weg gehe...

> Nein Heiko, Du siehst nicht ein, dass ich den Hamster nicht verwende.

Doch, sicherlich.
Nur versuchst du einen Path mit Hilfe der Registry zu erhalten, der 1. nicht
umbedingt abwärtskompatibel sein muß und 2. nicht weiter ausgewertet wird.
(Hamster.Ini)

> Meine Anwendung hat mit dem Hamster eigentlich nix zu tun. Meine
> Anwendung liest DAT- und IDX Dateien, die zufällig vom Hamster erstellt
> wurden. Mehr nicht.

Jain. Nur ist das Format nur von Hamster verwendet... <gg>

> Nachdem ich heute geprüft habe, was im Fehlerfall passiert, wenn ich
> die Hamster-Schnittstellen verwende, habe ich sie ganz schnell wieder
> entfernt.

Das VB keine Fehlerbehandlung des OLE erlaubt und selber dabei abkackt tut
mir echt Leid. Somit haben wir ein weiteres Argument für Delphi... <duck> ;-)


MFG

--
Heiko Studt

Heiko Studt

unread,
Mar 7, 2002, 10:55:30 AM3/7/02
to
'Cause Klaus Ketelaer's words, I thought of...

[Ole]
> Ich habe jetzt nur die Schnittstelle in meine Anwendung implementiert.
> Nun schmiert meine Anwendung direkt ab, wenn der Hamster verschoben
> wurde. Noch nicht einmal die Entwicklungsumgebung funzt noch. (Was
> ja auch logisch ist)

Es ist *NICHT* logisch.
Eine höhere Win-Programmiersprache, die diesen Namen verdient hat schmiert
eben nicht ab, wenn eine API-Funktion einen Fehler zurückmeldet.
Und das sie das tut, kannst du gerne Nachschauen.
Schau dir einmal Delphi an, was das so alles machen kann: (Gedächnis)

try
Hamster := CreateOleObject('Hamster.App');
except
Application.MessageBox('Das OLE-Object konnte nicht gefunden werden, Bitte
den Path checken!', 'Error');
Application.terminate; //Hier könntest du auch eine andere
//Fehlerbehandlungsroutine einbauen
end;
//in "Hamster" steht das OLE-Object;

Und das das definitiv nicht abschmiert ist klar.

Erst haarig wird's wenn Hamster.Exe gefunden wird, aber der OLE-Server nicht
gestartet werden kann. z.B. wenn es als Dienst gestartet wurde. Dann wird bis
zu einem Timeout es immer weiter versucht. Das das wie ein Absturz aussieht,
kann ich mir denken.

> Mit meinem Weg kann mir nur passieren, dass ich an ein ungültiges
> Verzeichnis gerate. Dies kann ich prüfen. Eine in der Registry einge-
> tragene Schnittstelle, die nicht mehr existiert kann ich nicht prüfen.

Wozu auch? Dafür ist doch Windows da... <gg>
AFAIK bzw soweit ich das sehen kann) hat die API-Funktion eine
Fehlerbehandlungsroutine.


MFG

--
Heiko Studt

Joern Weber

unread,
Mar 7, 2002, 2:57:54 PM3/7/02
to
Hi

Heiko Studt <Usene...@goldpool.8m.net> schrieb/wrote:


> Ob nun wirklich bei einfach verschobener EXE ein Timeout greift, kann ich
> aber nicht sagen...

Bei einem verschieben des Executable eines OLE-Servers und anschliessenden
Start des Executable korrigiert der OLE_Manager automatisch die Registry,
wenn die notwendigen Prozessrechte vorhanden sind. Findet der OLE-Manager
den OLE-Server nicht gibt es einen Fehlermeldung, spätestens nach dem
Timeout. Das Timeout ist erforderlich, da sich der OLE-Server nicht lokal
auf dem Rechner befinden muss sondern irgendwo in der weiten Welt des
Internet leben kann. (DCOM)

Joern Weber

unread,
Mar 7, 2002, 2:38:43 PM3/7/02
to
Hi

Klaus Ketelaer <klaus.k...@t-online.de> schrieb/wrote:

> "Joern Weber" <lis...@joernweber.de> schrieb:

> um die fruchtlose Diskussion zu beenden, hier ein abschliessendes
> Statement:
>
> Ich entwickle einen OfflineReader der es ermöglicht, direkt in den
> HamsterFiles zu lesen.

Du weist ja, ein Newsreader zu schreiben ist eine Lebensaufgabe.

> Dies geschieht einfach deshalb, weil ich
> in Bodies suchen möchte, ohne sie erst herunterzuladen.

Verstehe ich nicht. Wenn Du in den Hamsterfiles suchst, musst Du auch die
Bodies lesen, da sie Bestandteil dieser dateien sind. Das wäre auch via
COM/DCOM möglich gewesen.

> Bei meinem Unterfangen greife ich nur auf die Gruppendateien zu,
> wobei die Index-Dateien nicht betroffen sind. Ich muss eine einzige
> Sache wissen: 'Wo sind die Gruppendateien gespeichert". Mehr
> Informationen benötige ich aus Richtung Hamster nicht.
>
> Bevor ich hierzu den Hamster starte, mache ich lieber garnichts
> und frage den Anwender nach dem Pfad.

Das ist auch eine machbare Variante, aber eben nicht so elegant und
benutzerfreundlich.

> Ansonsten gibt es 4 Bytes, mit denen Du mich ärgern könntest.
> Sie stehen vor jedem Posting.

Ich will dich nicht ärgern, aber es wurde schon mal ziemlich laut
nachgedacht die Datenbank des Hamsters komplett auszutauschen. Es
scheiterte IMHO daran, das dem erforderlichen Aufwand nicht genügend
Manpower gegenüberstand. Die jetzige Datenbank hat nämlich den Nachteil,
das sie auf 2 GB begrenzt ist. Bei Windows 9x spielte das weniger eine
Rolle, da das OS selber nur Dateien bis 4 GB verwalten konnte. Mit
zunehmender Verbreitung von WinXP wird aber sicher der Leidensdruck
steigen die Datenbank doch aufzubohren.

> Meine Anwendung wird Dich aber eh nie betreffen, weil sie eine
> (im Grunde) reine Active-X-Anwendung ist. Sie besteht aus solchen
> schlimmen DLL's, Komponenten und Klassen...

Du missverstehst mich. ActiveX ist nicht mal eine schlechte Lösung, nur
will man sie nicht auf einem Server haben, da die erforderlichen
Authentifizierungsmechanismen noch nicht ausgereift sind. Erst wenn ich
den einzelnen Applets bei der Installation Brechtigungen zuweisen kann,
sind sie für einen Server geeignet.

> Also lass mich einfach sinnfrei weiterwurschteln und installiere
> meine Krempel einfach nicht.
>
> OK?

He he, ich wollte dir helfen. Ich wende Zeit für dich auf und du bist
eingeschnappt. Von mir aus mache doch was Du willst.

Joern Weber

unread,
Mar 7, 2002, 2:47:32 PM3/7/02
to
Hi

Mathias Behrle <exp3...@gmx.de> schrieb/wrote:

> Klaus Ketelaer am Do 07 Mrz 2002 14:59:23:


>
>> Er kann ja an seinen noch vorhandenen Daten erkennen, dass Gruppen
>> existieren müssen. Wenn die auf einmal weg sind, muss natürlich
>> ein unübersehbarer Hinweis kommen. IMO sollte auch die
>> Verarbeitung abgebrochen/angehalten werden.
>
> Vielleicht greift einer der Programmierer den Hinweis auf.

Bei fehlenden Gruppendateien (data.dat liefert der Hamster eine
Fehlermeldung, wenn versucht wird in diese Dateien zu schreiben oder
daraus zu lesen. Ein Integritätscheck beim Start des Hamster dürfte zwar
theoretisch machbar sein, aber bei grossen Installationen zu viel Zeit
fressen. Bei denkbaren 32000 Gruppen dürften mindestens 96000
Leseoperationen erforderlich sein.

Heiko Studt

unread,
Mar 7, 2002, 5:27:21 PM3/7/02
to
'Cause Klaus Ketelaer's words, I thought of...

> Wenn der Hamster die Möglichkeit bietet, die Gruppenordner
> benutzerabhängig zu speichern, so sollte auch das berücksichtigt

Tut er aber *nicht*.
und wozu sollte das nützlich sein?
1. Die Daten würden doppelt und dreifach existieren
2. Die Daten im Usenet sind "öffentlich".
3. Alle Uer hätten die gleichen Gruppen
(Die Liste steht AFAIR im Main-Path)

> werden. Es geht ja nur darum, was der Hamster macht, wenn seine
> Daten weg sind. Die Ursache ist eigentlich IMO egal.

Es gibt nur zwei Ursachen:
Umbenennen-->Admin/User/DAU ist einfach dumm/bescheuert/belämmert/etc
Ändern des INI-Eintrages --> Admin sollte eine rote-"Warn-"Meldung bekommen.
Er wird u.norm.U. aber noch rehct genau wissen,
was er gerade gemacht hat...

> > | > Zudem soll es möglich sein, die Daten über
> > | > mehrere Medien zu mischen. Z.B. Hamster + ArchivHamster

> Ja, gerade darum dürfen sie nicht zentral gespeichert werden.

Du widersprichst dich. Zumindestens in der Formulierung.

> zur data.dat. Ich kann keinen Sinn darin erkennen, die Daten zu
> trennen.

Es sind *zwei* Programme, die diese Daten benutzen bzW verwalten.
Du beklebst eine Beatles-CD (selber; nicht Hülle) auch nicht mit tausend
Aufklebern der Beatles. Du willst die schließlich noch hören können.
Noch präziser würde es bei LPs sein. <gg>

> > Du speicherst eine .ini zentral und eine im Userverzeichnis. Uraltes
> > System und macht genau das Gleiche.

> Das ist aber schon deutlich mehr Aufwand. Die User müssen
> schon verwaltet werden.

??????? CNR
Die User werden verwaltet -- durch Windows.
Windows hat eine Umgebungsvariable ~ "User". Diese rufst du ab und speicherst
die INI in dem angegebenen Pfad.

> XP würde dich bestimmt erfreuen...

Bestimmt nicht... <g>
Aber die normalen Anti-XP-Syndrome hast du sicherlich schon bei anderen
festgestellt. Ich kenne aber schon mehrere (erfahrenen) Leute, die XP
ziemlich bald wieder weggeschmissen hatten...

> Ich mache oft Stichproben. Na ja, mit .Net ist ja eh wieder alles
> anders..

...und deshalb darfst du generell nicht von undokumentierten Standards
ausgehen! <eg> ;-)


MFG, puuh fertig hier. Jetzt lade ich die neueren...

--
Heiko Studt

Heiko Studt

unread,
Mar 7, 2002, 5:13:11 PM3/7/02
to
'Cause Klaus Ketelaer's words, I thought of...
> > Das lässt sich in diesem Fall eindeutig ermitteln, ja. Wäre ja auch
> > noch schöner, wenn die COM-Klassen mehrdeutig wären.
> Ich wusste bis vor ein paar Tagen nicht, dass im Hamster welche
> existieren.

???
Hatte ich dir das nicht bereits in hamster.de.tools damals gesagt?
Oder war's per Mail?

> Dabei sind mir aber nur Anwendung und IDE abgeschmiert, nicht
> das BS...

Und damit liegt das Problem eindeutig an der Anwendung bzW der IDE/der
Programmiersprache. *eg*

> Ja, klar. Gegen Blödheit (in diesem Fall meine) ist kein Kraut
> gewachsen. Warum ich die Dateien gelöscht habe weiss ich

Das sowieso nicht. Der Benutzer ist immer schlauer als der Programmierer --
er bekommt alles kaputt...

> selber nicht so recht. Es waren noch 10 GB auf der Partition
> frei... Ist wohl mein Ordnungstrieb gewesen...

Und diesem Ordnungstrieb entgegnete der Hamster indem er die History neu
aufbaute -- er konnte danach ungestört weiterarbeiten.

> Es ging um das Auffinden des Hamsterverzeichnisses über
> die Reg und was passiert, wenn der Hamster verschoben und
> noch nicht neu gestartet wurde. Das war ja eigentlich das
> einzige Argument um meinen Weg als unsicher darzustellen.

Nak.
Wenn ich mich richtig ensinne (;-)) hast du das Argument selber in's Feld
geführt.
Mir ging's nur darum, daß du ggf. keine Möglichkeit hast auf die Registry/den
Zweig zuzugreifen. Bei OLE würde dies durch eine Fehlerbehandlung intern
schon abgefangen. (zumindestens in Delphi)

> Er kann ja an seinen noch vorhandenen Daten erkennen, dass Gruppen
> existieren müssen. Wenn die auf einmal weg sind, muss natürlich ein

Eben nicht.
Er erzeugt (AFAIK) erst dann Verzeichnisse, wenn er sie braucht.
So auch die Gruppen-Verzeichnisse. IMO erzeugt er sie beim erstellen erst
dadurch, daß er die .ini erzeugt mit dem "created".

> unübersehbarer Hinweis kommen. IMO sollte auch die Verarbeitung

Ein roter LOG-Streifen. ACK.

> abgebrochen/angehalten werden.

NAK!
s.u.

> Stell Dir vor, ich habe den Hamster auf C:\ installiert und die Gruppen
> auf E:\. Dann erstelle/lösche ich eine Partition und das Laufwerk wird
> verschoben. In meinem Fall läuft der Hamster in der Regel

Nö. Nicht bei Win2000. (NTFS zumindestens)

> unbeaufsichtigt, weil er nur für Archivzwecke verwendet wird. Als
> Downloader quasi.

Ja und? Ein "Dienst" eben. Ob er nun als Dienst bei dir läuft sei hier 'mal
zweitrangig.

> Es muss in diesem Fall eine Aufforderung kommen, den Pfad zu
> den Gruppen anzugeben, oder die Aufforderung die Eröffnung neuer
> Gruppen zu bestätigen. das darf der Server niemals selber
> entscheiden.

Du vergißt, daß Hamster als *Dienst* konzipiert ist. Jeder Server ist als
*Dienst* konzipiert. Für NT/W2k hast du sogar die Möglichkeit (über ein zus.
Programm) Hamster "als SystemDienst" laufen zu lassen. Da gibt es *keine*
GUI. Und selbst wenn -- was soll der Gast-User ohne irgenteine Ahnung mit
einer Frage "Wollen sie den Server starten?" machen? ;->
Außerdem hat ein Dienst auch ohne Admin zu laufen, insbesondere wenn er im
Produktionsdienst benutzt wird.
Nicht jeder verwendet ein Win9x mit automagischer Anmeldung.

> Zudem hätte er bei meinen Einstellungen alle Gruppen vollständig
> vom Server heruntergeladen.

"Deine Einstellungen".
Das wäre besser, als wenn der Dienst seinen Dienst einstellen würde.
Aber ACK -- *IMO* sollte TGL optional beim Fehler des nichtauffinden von
%groups-path% den NNTP-Server nicht starten zu lassen.

> > Wenn ein DAU solch ein Verzeichnis einfach verschiebt, hat er einigen
> > Nachholbedarf in Bezug auf Installationskenntnisse und sollte sich
> > schon gar nicht an das Aufsetzen eines Hamsters wagen, IMHO.

> Lustig, wie meine Argumente immer wiederkehren...

Wo war das dein Argument? <neugierig>

> > Wo überprüft der Hamster denn nicht?

> Überprüfen bringt nur etwas, wenn anschliessend sinnvoll gehandelt
> wird. In diesem Fall wäre ein Absturz sinnvoller gewesen ;-)

In *deinem* Fall.
Nicht aber im Falle eines Mailservers z.B.
Dort müßen die Verzeichnisse eben erstellt werden -- die Daten sind sonst
vielleicht endgültig verloren.
Für NNTP-Server: s.o.

> >>> Aber dein Gruppenindex hat im Hamsterverzeichnis
> >>> nichts verloren, sondern sollte ins Programmverzeichnis deiner
> >>> Anwendung.
> >> Warum? Ich finde die gehören gerade dort hin.

> > Du gibst doch gerade selbst das Argument, warum du deine Indexdateien
> > an anderer zentraler Stelle erstellen sollst.

> Das habe ich getzt nicht kapiert.

| gesichert werden. Zudem soll es möglich sein, die Daten über


| mehrere Medien zu mischen. Z.B. Hamster + ArchivHamster...

HTH. <eg>

> >> Lediglich die Daten von Read-Only-Medien werde ich in lokalen
> >> Verzeichnissen speichern. Es sei denn, du nennst mir einen
> >> nachvollziehbaren Grund, warum ich es anders machen sollte.
> > s.o.: mehrere Quellverzeichnisse

> Erkläre es mir nochmal wie einem VB-Coder ;-)

c:\Hamster\*.*
D:\Backups\2001\*.*
E:\*.*

> >> Ganz im Ernst: Ich mag sie ja auch nicht. Sie ist einfach mit
> >> einem höheren Aufwand verbunden und bringt weniger produktiven
> >> Nutzen. (Für Multiuser-Belange ist sie aber echt toll...)

> Du speicherst Benutzereinstellungen in der Registry und brauchst Dich
> um nix zu kümmern. Jeder Benutzer hat seine eigenen Einstellungen.

Erst am fluchen wirst du kommen, wenn du die ganze sch... deinstallieren
mußt. Auch deswegen wird die Regitsry im Laufe der Zeit immer weiter
vollgemüllt ohne dies wieder zu löschen. (per Deinstallation)

> >> Stell Dir mal vor, kein Programm entfernt seinen Müll aus der Reg.
> > Das stell ich nur allzu häufig fest.

> Schwarze Schaafe wird es immer geben...

Wenn diese aber überhand nehmen?

> Das war doch früher das Gleiche mit der Rumgeschmiererei in der
> Win.Ini / System.Ini... Deswegen gab es ja die Reg...

NAK!
Mit ini's meinen wir *eigene* INIs, die einerseits Benutzerabhängig im
Anwendungsdaten-Verzeichnis stehen oder aber Benutzerunabhängige, die (z.B.!)
im Programmverzeichnis stehen.
Win.INI/System.INI sind wirklich nur noch Überbleibsel aus alten Tagen.


MFG

--
Heiko Studt

Heiko Studt

unread,
Mar 7, 2002, 3:01:56 PM3/7/02
to
'Cause Klaus Ketelaer's words, I thought of...

> Ich trete Dir zigmal den Beiweis an, dass sich andere
> Server/Anwendungen sauber austragen. Gut, wenn mal

Nach Joerns Posting, dessen Inhalt mir noch gar nicht einmal bekannt war:
Mach ruhig... <eg>

> Heiko hat das Beispiel gebracht... Aber eine Deinstallationsroutine
> halte ich auf jeden Fall für sinnvoll.

Eine Deinstallationsroutine die nur Dateien eines Verzeichnisses löscht?
Zu beachten ist dabei sogar noch, daß die Daten ggf. sogar unterschieden
zwischen Benutzerabhängige/Gruppen/Server etc nicht gelöscht werden
sollen/dürfen.

> Nein, IMO muss jede Anwendung installiert und deinstalliert werden,

> damit kein Müll zurückbleibt. Aber das wäre ja zusätzliche Arbeit ;-)

Man sieht, daß du mit VB arbeitest.
Bei Delphi-Anwendung mußt du (im Normalfall) eben *NICHT* irgentetwas im
System oder so verändern oder installieren. *Normalerweise* hast du eine Exe
und vielleicht noch eine Ini, und das war's. Einfach löschen und gut is'.

Ok, wenn du die Registry; ActiveX oder BDE benutzt, dann brauchst du euine
Installier/Deinstallier-Routine.

Ich z.B. habe einen Job, bei dem mir der Chef sagte, daß sie eben *deshalb*
ihre Programme in Delphi und nicht in VB haben wollen, damit sie z.B. auch
bei Updates nur die Exe austauschen müssen und nicht das Halbe System
mitliefern. Insbesondere sind solche Installier-Routinen eben bei weitem
größer als z.B. ein Diskette. Und für 2MB eine CD zu brennen und das etwas
häufiger ist doch -etwas- übertrieben...

> Gegen einen mutwilligen Löschvorgang muss man sich nicht
> schützen.

Und einer mutwilligen Umbennenung des Groups-Pathes innerhalb des Hamster-
Verzeichnisses? *eg*

> Wenn mir gegenüber jemand argumentiert, dass meine Lösung
> unsicher/Pfusch ist, dann muss er sich gefallen lassen, dass
> ich seine Argumente an seinen eigenen Anwendungen teste.

Das war sicherlich kein ebenbürtiger Test.
Außerdem hast *du* das verschieben des kompletten Hamster-Verzeichnisses ohne
Neustart eingebracht...
Und nein, man muß nicht wirklich immer Testen ob eine Anwendung im gleichen
Verzeichnis liegt...
*Ich* zumindestens propagiere GoldFind nicht dorthin sondern liefere m.W.n.
sogar ein eigenes Verzeichnis jeweils mit...

> Wenn ein Server, der 150 Gruppen in seinem Bestand hat, nicht merkt
> dass ihm jemand die Verzeichnisse geklaut hat, dann ist er [...] . Wenn

Fehlerresistent. Er darf seine Server-Funktionen (insbesondere die Mail-
Funktionen!) nicht dadurch einstellen, daß er irgenteine Datei nicht findet.
Aber du hast Recht:
@TGL: Bitte baue in einer der nächsten BETAs eine Routine ein, die *Warnt*,
daß Hamster seine Verzeichnisse nicht finden kann. Und wenn er das groups-
Verzeichnis selber anlegen muß den NNTP-Server nicht automatisch startet.
Und wenn er das Mails-Verzeichnis nicht findet den POP3-Server.
Beim Mail.Out-Verzeichnis den SMTP-Server einfach nicht zu starten dürfte
lächerlich sein, da man theoretisch Hamster als lokalen Mailserver laufen
lassen kann...

> er ohne irgendeinen Warnhinweis einfach alles neu anlegt und weitermacht
> als sei nix gewesen, dann ist er [...]

Fehlerresistent. Oder Featurebehaftet. Es kommt immer auf die Sichtweise an.
Normalerweise stiehlst du auch nicht ungestraft die CDs deines Nachbarn. Wenn
der sie dann nicht wiederfindet und dich nicht erwischt (ERROR: Eine
Anwendung greift auf dieses Verzeichnis zu) wird er die Sammlung auch Schritt
für Schritt wiederaufbauen müssen... <*eg*>

Das er sich dann erstaml im Gedächnis sagt: "Jetzt muß ich erstmal schauen,
welche Gruppen ich (meine Leute) haben *will*, die CD-Rs kaufe ich mir dann!"
Jetzt überlegst er sich: "Welche Stücke habe ich eigentlich bereits auf den
ganzen CD-Rs?". Das er dann auf 0 kommt ist zwar klar, aber er muß es ja
erstmal realisieren... <g>

> Hmmm, mir wird gesagt, das ich alles prüfen muss, damit das alles
> schön sicher ist. Warum gilt das nur für mich?

Hamster *ist* sicher:
Du mußt *nur* das groups-Verzeichnis wieder zurückbennen. (Das "neue" vorher
löschen) Fertig is'.

> Natürlich schreibe ich nicht in die Hamsterdaten. Ich störe das

Aber in die Verzeichnisse. Und die Verzeichnisse sind eindeutig *Daten*.

> Sensibelchen noch nicht einmal Mittlerweile kann ich mein Tool
> voll gegen den Hamster laufen lassen, ohne dass der sich beim
> pullen stören lässt.

Und beim Purge? Kannst du bitte ienmal eine Testinstallation gegen dein Tool
laufen lassen?

> Es sind jedoch langfristige einige Aufräumarbeiten geplant, wie
> Doubletten entfernen, oder so. Aber das ist noch lang hin. Und
> ungefragt werde ich niemals in fremden Daten rummachen.

Löschen willst du dann aber sicherlich über die definierten Schnittstellen
machen, oder?
Sonst kannst du nämlich Probleme mit dem Fomat bekommen...

> > Aber dein Gruppenindex hat im Hamsterverzeichnis
> > nichts verloren, sondern sollte ins Programmverzeichnis deiner
> > Anwendung.

> Warum? Ich finde die gehören gerade dort hin.

Wie du bereits sagtest: Dein Tool soll unabhängig laufen...
Außerdem ist es mindestens schlechter Ton, daß du in Verzechnissen, die nicht
dazu gedacht sind, Dateien ablegst, die nicht zu diesem Programm gehören.
Ich stelle meinen M*ll auch nicht in deine Garage. Auch wenn dieser M*ll
vielleicht zu deinem Auto (farblich ;-)) passt.

> Meine Anwendung steht in der Regel dort, wo sie hingehört, unter
> C:\Programme. An Daten können leicht viele Gigabytes entstehen.

Als *INDEX*???
Das glaubst du wohl eher selber nicht.

> Die werde ich wohl kaum nach C:\ schreiben. Zudem müssen diese

"C:\temp\" bzw "C:\Windows\temp" bzW was in "tmp" oder "temp"
(Umgebungsvariablen) steht, falls du sie temporär brauchst.
Falls du sie Benutzerabhängig brauchst mußt du unter "Anwendungsdaten" (AFAIK
auch Umgebungsvariable) speichern.
Falls der Benutzer egal ist (unter Win 2k und XP hast du dann aber eine
inkompatibilität eingebaut! man 'Rechte') gibt es auch ein Verzeichnis als
Umgebungsvariable "All Users\Anwendungsdaten"

HTH. *eg*

> Zudem sind die Daten direkt abhängig von den Daten, die auch in
> den Gruppenverzeichnissen stehen und müssen auch mit denen

Dafür nimmst du eigene Verzeichnisse z.B.
"Hamster1\news.group\*.*"
"Hamster2\news.group\*.*"

Oder aber "c_Hamster.Groups\news.group\*.*"

> gesichert werden. Zudem soll es möglich sein, die Daten über
> mehrere Medien zu mischen. Z.B. Hamster + ArchivHamster...

Dann brauchst die obrige Unterscheidung nicht.
Wie du das aber hinkriegen willst ist mir jetzt Schleicherhaft, aber das ist
deine Sache... <g>

> Lediglich die Daten von Read-Only-Medien werde ich in lokalen
> Verzeichnissen speichern. Es sei denn, du nennst mir einen
> nachvollziehbaren Grund, warum ich es anders machen sollte.

1. Eine ggf. benutze Deinstallations-routine wird nicht mehr funktionieren.
2. Prinzip
3. Anti-Pfusch ;-)

> Dass man mir nicht unterstellt wird, dass diese Vorgehensweise
> Pfusch ist.

Weil sie nicht so vorgesehen ist.
"Pfusch" war vielleicht ein etwas zu einseitiges Wort, aber etwas besseres
fiel mir da nicht ein... Sorry dafür...

> Ganz im Ernst: Ich mag sie ja auch nicht. Sie ist einfach mit einem
> höheren Aufwand verbunden und bringt weniger produktiven Nutzen.

> (Für Multiuser-Belange ist sie aber echt toll...) Setup-Programme

Man "Anwendungsverzeichnis".
Aber das habe ich mir auch vorbeten lassen... <gg>

> und Help-Files kann ich auch nicht leiden... Alles zusätzliche Arbeit.
> Darum geht es jedoch nicht...

Help-Files? Die sollte man aber doch schon haben...
Die Dokumentation sollte IMO *nicht* in das Programm.
Soweit geht meine Integration von GUI und Programm nun auch nicht... <gg>

> Müll sammelt sich meist nur an, weil viele Entwickler rumschlampen und

Sehr viele.

> viele Anwender denken, dass man Programme per Delete deinstalliert.

*NAK*.
Sicherlich nicht.
Bei einem *Einzelplatz* und *Ein-Personen*-Computer eines "erfahrenen"
Anwenders ist mit Sicherheit *sehr* viel Müll in der Registry.
Und nicht Umsonst ist mein W2k von "55Mb" Maximal-Größe derselben
ausgegangen...

> Stell Dir mal vor, kein Programm entfernt seinen Müll aus der Reg. Wie


> oft soll Windows neu installiert werden?

Genauso wie jetzt: Fast alle 6 Monate.
Nur meine erste und meine zweite Installation haben länger überdauert... :-/


MFG, damals noch unerfahren und danach stabiles System und Win98

--
Heiko Studt

Heiko Studt

unread,
Mar 7, 2002, 6:02:42 PM3/7/02
to
'Cause Klaus Ketelaer's words, I thought of...
> Du weisst, was Du da schreibst? COM-Klassen händisch löschen?
> > "Reste" nun wirklich von jedem Programm hinterlassen werden (auch mit
> Das stimmt nicht.

Was sonst?
Joern meinte sogar, daß man COM-Klassen gar nicht löschen kann...

> > unnötig) IMO *vollkommener* Schwachfug. Rein meine Meinung.

> Die ich leider so nicht teilen kann...

Zwei Meinungen, die sich beharken...
Wann müssen wir nochmal sähen? ;-)

> > BTW: Sachlicher Grund dazu: Wenn du *nur* die Hamster.exe haben willst, mußt
> > du bei einer Installation erst das gesammte Zeugs kopieren lassen und *dann*
> > den Rest wegwischen.

> Bei einem 'vernünftigen' Setup gibt es genau dafür die kleinen
> Checkboxen...

Die jedesmal wieder neu eingetragen werden müssen.
Außerdem wird für das reine entpacken in einen Ordner kein eigenes Programm
mitgeliefert. Das wäre dann nämlich ziemlich unökonomisch...

> > Insbesondere mit Path-Einträgen und häufigem Up/Down-
> > Grade kann das zu nerventreibenden Debakeln führen...

> Bei einem 'vernünftigen' Setup werden solche Einträge erkannt...

Dann schreibe so eines für Hamster.
Ich hatte schon einmal damit angefangen.
Ich bin zwar letzlich daran gescheitert, da ich keine Zeit hatte und Philipp
Kern das übernehmen wollte (und er's wohl nicht weiter fortführt), aber du
kannst es gerne noch'mal versuchen.

> Eigentlich hast Du gerade zwei wichtige Punkte aufgezählt, die für
> eine Installation sprechen.

Nö.
1. Diese "kleinen Checkboxes" müßen jedesmal wieder geklickt werden.
Dies ist bei geeigneter Benutzung eines geeigenten ZIP-Programmes nicht
nötig.
2. PATH-Einträge: Dafür muß das Setup aber erst'mal den Path haben. Der muß
ersteinmal geklickt oder getippt werden...

> Hamster pfuscht und ungültige Einträge in der registry lässt.

*Er* läßt sie nicht dort, sondern Windows.
Siehe Joern's Beitrag.

> Du kannst mir nicht garantieren, dass der Hamster 2005 noch funktioniert

Doch. Mit Sicherheit. Zumindestens auf diesem Compi mit einer Win98
Installation. Oder auch Win2k.

2005 wird Hamster noch funktionieren, und müßten die Programmierer auch alles
aufbieten, was sie haben/können.
Und M$ wird sich mit Sicherheit keine *solche* Inkompatibilität leisten
können...

> und in seiner jetzigen Form vorhanden sein wird.

Er wird bis dahin Eier legen und Kaffee kochen können -- ack -- aber er wird
in einer gleichen, aber verbesserten Form weiterexistieren.
u.U. werden die Programmierer bis dahin die Trennung der GUI von dem Server
schaffen, aber sicher ist das nicht...

> > Den COm-Server wirst du aber immer starten dürfen, falls du überhaupt
> > Rechte hast...<g>

> Und was ist, wenn ich keine Rechte habe? Muss ich meine
> Anwendung dann wegwerfen?

Dan kannst du keine Anwendung wegwerfen... *eg*

> Hamster und Goldfind kann man nicht ungestraft verschieben...
> (habe mal Hamster in _Hamster umbenannt)

GoldFind kannst du *jederzeit* verschieben.
Hamster kannst du dann verschieben, wenn du Hamster danach noch'mal startest.

> COM schmiert komplett ab und zieht andere Anwendungen mit sich.

Sicherlich *nicht* GoldFind.
Zumindestens dürfte eine Fehlermeldung intern im GoldFind erzeugt werden.
Das dies in VB nicht möglich ist, liegt aber an VB, nicht an COM

> "ERROR: das System kann den angegebenen Pfad nicht finden",
> meldet Goldfind... Es steht im Hamsterverzeichnis und meldet
> so einen Fehler... ROFL...

Du willst nicht wirklich...
Du öffnest "x:\xyz.doc" als Parameter in Word, während du im gleien Path
"xyz.doc" stehen hast und erwartest, daß wenn X:\ nicht existiert "xyz.doc"
aus dem Word-Verzeichnis startet? ROFL.

(Als Beispiel)

> Dann habe ich Groups in _Groups umbenannt und Goldfind
> gestartet: Oh, der Hamster startet und erstellt die History
> neu... Danke Heiko... Jetzt habe ich alle Gruppen doppelt
> und eine neue History...

Lösch die "groups" und benenne "_groups" wieder um.
Das funktioniert sicher. :-P

> Und da redest _DU_ von Pfusch?

<recycle>


Und da redest _DU_ von Pfusch?

</recycle>

Merke: An Daten spielt man nicht und nennt sie um.
Außerdem hat hier der *Hamster* eine Einschränkung bzW ein Feature.
Außerdem^2: Wie soll Hamster erfahren, *wie* du den Path verändert hast?
Falls er den Path nicht findet geht er von einer "Neu-"Reinstallation aus.
Und das ist IMO i.O.

> >> die einen Server starten um dessen Verzeichnis zu ermitteln?
> > Wie viele Programme kennst du, die in den Daten des Servers herumpfuschen?

> Ich pfusche nicht.

Doch -- du erstellst Dateien in den Daten (Verzeichnissen) des Servers.
Das nenne ich Pfuschen.

> > Eine Anmerkung noch: Mittlerweile (bzW bald bzW irgentwann) kann man den OLE-
> > Server des Hamsters auch auf etwas anderes als "Hamster.App" setzen... Viel
> > Spaß damit...

> Warum? ich habe da kein Problem mit...

Wie bekommst du den Registry-Schlüssel heraus? ;->

> >> Der einzig saubere Weg wäre, wenn sich der Hamster sauber

> > *Hamster* trägt sich gar nicht ein, sondern der COM-xzy von Windows.

[...]


> > Dann ist dein Weg genauso flasch, da Hamster *genau beim registrieren* die
> > Registry-Einträge setzt.

Sorry, das war jetzt ein Glashaus. Ich sollte wohl etwas auf meine
Formulierung achten.
Aber das war jetzt mehr als nur ein Spelling Flame, oder? :-P

> > Dieser verwaltet diese Einträge auch.
> > Hamster selber *darf* sich gar nicht weiter in die Registry eintragen, da man
> > sonst nicht mehr mehrere Hamster gleichzeitig betreiben kann.

> Das meinst Du jetzt aber nicht ernst, oder?

Vielleicht haben wir aneinander vorber geredet:

Ich meine hier Einträge, welche die Hamster.Ini ersetzen würden.
Wie willst du herausfinden, welcher Hamster welchen Schlüssel nimmt?
Genauso wie bei den Mutexen bisher?

> > Außerdem
> > basiert Hamster, wie viele andere Server auch, auf INIs.

> Ja, wie viele andere ALTE Server...

NAK.
Wie viele andere *SERVER*.
Das hat nichts mit dem alter zu tun, sondern der Zweckmäßigkeit.
Die INIs kannst du jeder Zeit mit jedem Editor und dann auch in DOS ändern.
Die Registry kannst du in diesem Umfeld vergessen.
(Console==Dos in diesem Fall und Telnet soll die Konsole aufrufen oder so)

> Die Registry ist seit vielen Jahren der Nachfolger der INIs

Mit Sicherheit wird sie diese nicht verdrängen -- GottSeiDank.
BTW: Wie sollte M$ dies auch durchsetzen... ;->

> Ich nutze auch manchmal INI-Dateien, bin jedoch so ehrlich zuzugeben,
> dass ich das aus Faulheit mache.

Und ich benutze sie erstens aus Gewohnheit, 2. aus Anti-Registry-Einstellung,
3. weil ich nicht weiß, wo ich was hinschreiben sollte und mir das auch
weniger merken kann (Und das AFAIK sowieso zwischen Win-Versionen geändert
wird) und 4. weil man INIs einfachst bedienen kann.
Selbst dumme User, welche eine Gewisse Reife haben (aka eingewiesen wurden)
können bei Einstellungen, welche in keinem Dialog vorkommen dürfen die INI
Datein ändern.

> > Diese Methode ist
> > deiner Meinung vielleicht nach veraltet, aber sie ist in manchen Fällen, (und
> > insbesondere hier) besonders wirkungsvoll.

> Ich würde Dir raten, Dich einmal näher mit Windows-Internas und
> OOP zu beschäftigen...

OOP hat damit nichts, aber auch gar nichts zu tun. (Zumindestens direkt. Ich
kann deinem Gedankengang hier nicht folgen)

Windows-Internas: Das meiste "wichtige" dürfte ich mittlerweile gelernt
haben. Aber keiner lernt aus und vieles was man lernt muß man wieder
überdenken...
Die Sachen die ich persönlich brauche, kann bzW kenn ich. Registry brauche
ich mom. nicht und (im Job) kann ich sie nicht'mal brauchen.

Zudem werde ich mit Sicherheit keine Installier/Deinstallier-Routine nur
dafür schreiben, daß ich die Registry benutzen kann. Da benutze ich doch
lieber INIs. Die sind genauso wirkungsvoll und IMO in vielen Fällen besser
geeignet. Nur bei Inter-Programm-Kommunikation bzW Konfiguration muß man
hierauf zurückgreifen. IMO.


MFG

--
Heiko Studt

Heiko Studt

unread,
Mar 7, 2002, 6:22:15 PM3/7/02
to
'Cause Klaus Ketelaer's words, I thought of...

> Wir reden nicht von harmlosen Api-Aufrufen, sondern von einem kaputten
> OLE/COM-Server

"CreateOleObject" oder wie das in der API heißt, ist kein API-Aufruf???
Vielleicht reden wir nur aneinander vorbei... :->

> > Und das das definitiv nicht abschmiert ist klar.

> Ja... Ich mache jedoch was anderes...

Und was bitteschön?
AFAIK (!) ist nichts anderes sinnvoll/machbar.

> Ich hatte erwähnt, dass ich COM verwende?

Nö.
Den direkten Unterschied kenne ich bisher nicht.

> Sagt Dir Schnittstellenvererbung etwas?

Auch ich kenne etwas OOP. :-P
Aber wie du das nun mit dem OLE-Server in Verbindung bringst ist mir unklar.
Andererseits habe ich aber auch noch nie eine Definition von
"Schnittstellenvererbung" gehört, glaube aber nicht daß es daran liegt. <gg>

Irgentetwas in unserer Zwischenmenschlicher Kommunikation scheint gebrochen
zu sein. Kannst du bitte einen kleinen Beispiel (Pseudo-)Code posten?

> > AFAIK bzw soweit ich das sehen kann) hat die API-Funktion eine
> > Fehlerbehandlungsroutine.

> Schön, wenn der Server existiert, kann ich die ja nutzen ;-)

Ach nee.


MFG

--
Heiko Studt

Heiko Studt

unread,
Mar 7, 2002, 6:15:25 PM3/7/02
to
'Cause Joern Weber's words, I thought of...

> > Ob nun wirklich bei einfach verschobener EXE ein Timeout greift, kann ich
> > aber nicht sagen...
[...]

Kurz gefaßt: Damit hast du meine "Vermutung" bestätigt.
Danke. ;o)


MFG

--
Heiko Studt

Heiko Studt

unread,
Mar 7, 2002, 6:43:16 PM3/7/02
to
'Cause Klaus Ketelaer's words, I thought of...

> Ja, und dann? 3 Suchläufe eine knappe Stunde wie im Goldfind?

Wobei ich das noch auf etwa 45 Minuten oder vielleicht 35 herunterschrauben
könnte...
(Ich habe es bereits im ToDo)

> Oder den Thred von dag aufbauen in 90 minuten, wie HamNews?

Meinst du damit OLE-HamNews???
Wenn ja: Der kann noch gar keine Threads.
Außerdem baut er mit *Sicherheit* nicht so langsam auf, da er nur geringe
Datenmengen lädt.
Nachdem er die XOver-Daten hat (<5Minuten auch bei noch so großen Gruppen)
setzt man den gleichen Algo wie bei deinem Tool an.

> Mir schweben eher Ergenisse im einstelligen Sekundenbereich
> vor. Das jedoch bei Massendaten und nicht so 500-Postings-
> Gruppen

Dazu ist 1. eine gewisse CPU und gewisse Festplatte nötig.

> >> Bevor ich hierzu den Hamster starte, mache ich lieber garnichts
> >> und frage den Anwender nach dem Pfad.
> > Das ist auch eine machbare Variante, aber eben nicht so elegant und
> > benutzerfreundlich.

> Ich empfinde es nicht als benutzerfreundlich, den Hamster zu starten.
> So denkt halt jeder anders... Ich setze immer die negativsten Umstände

ACK.

> voraus. Für mich lauten die: hamster ist nicht installiert.

...dann gibt es auch keine Gruppen-Verzeichnisse. ;->

> > Ich will dich nicht ärgern, aber es wurde schon mal ziemlich laut
> > nachgedacht die Datenbank des Hamsters komplett auszutauschen.

> Was ich _sehr_ befürworten würde. Vor allem gehören die Dateien
> aufgebort auf 64-Bit-Pointer. Ich plane die Hamsterfiles in so ein

NAK.
Zumindestens im bisherigen Format reicht die jetzige Zahl aus.
Aber das ist eine andere Diskussion...

> System zu konvertieren, weil ich Gruppen über Jahre hinweg halten will.

Dazu ist ein News-Server sowieso nicht geeignet. Nicht einmal das NNTP/NNRP-
Protokoll ist dafür geeigent...

> > Es
> > scheiterte IMHO daran, das dem erforderlichen Aufwand nicht genügend
> > Manpower gegenüberstand. Die jetzige Datenbank hat nämlich den Nachteil,

ACK. Und das nötige Wissen/die nötige Zeit derer mit dem Wissen.

> > das sie auf 2 GB begrenzt ist.

> Das hatte ich ja mal bemängelt. (Und was auf die Mütze bekommen)

Nein. Du hast wegen einem anderem Grund etwas auf die Mütze bekommen:
Was bringt dir die Umgehung der 2Gb-Grenze etwas, wenn die nächste Grenze 4
Gb wäre? Aber das jetzt AFAIR.

> > Bei Windows 9x spielte das weniger eine Rolle, da das OS selber nur
> > Dateien bis 4 GB verwalten konnte. Mit

> Es sollte aber recht banal sein, das alte System auf diese Grösse (4GB)
> aufzuboren. Die Api-Calls in VB kannste von mir haben. Die sollten
> schnell konvertiert sein.

Und was bringt dir das?
Dann bist du in einem halben Jahr und willst 8Gb und mehr haben.
Wenn überhaupt daran geschraubt werden soll, sollte IMO die gesammte
Datenbankstruktur einerseits in eine Art "Object-Treiber" eingebettet werden
und andererseits die maximale Größe generell fallen.

> > zunehmender Verbreitung von WinXP wird aber sicher der Leidensdruck
> > steigen die Datenbank doch aufzubohren.

> Ich denke, dies wird erforderlich sein, wenn Hamster langfristig

Nö. Mit Sicherheit nicht.
Auch in Zukunft wird sich das Usenet gegen HTML/Binaries weeren und auch
weiterhin wird sich der Haus-Admin auf weniger als 100 Gruppen beschränken
und auch diese nur bedingt archivieren...

> überleben will. Sind die Dateizugriffe eigentlich gekapselt?

AFAIR Jep. Aber AFAIK in mehrern Objecten.
TGL/Joern/JAWO dürften dir aber mehr und richtigeres sagen können.

> Wenn Du diese Ansprüche hast... OK, das musst Du für Dich
> entscheiden. Nur werden dir weite Teile der MS-Welt verschlossen
> bleiben.

M$ ist *so* unsicher? ;->
Aber außerdem gibt Joern (IMHO) nicht seine Meinung sondern die (begründete)
Meinung von Server-Admins wieder. Diese brauchen Rechtevergaben.

> Ich akzeptiere Eure Werkzeuge, also akzeptiert auch meine...

Äähm...<hüstel>
Ich akzeptiere aba keine Daumenschrauben zur "Wahrheit"sfindung... <eg>
Werzeug=!Werkzeug.

> Darum geht es doch im Grunde. Ich möchte unter Entwicklern
> Lösungswege diskutieren und nicht 'Wer hat den Längsten'...

ACK. Und das machen wir doch.
Nur mußt du hier gegen eine Eingeschworene Gemeinde von INI-Züchtern
ankommen. Ich kann nicht für die anderen sprechen, aber AFAIK hat jeder von
uns eine ("un"-)natürliche Abneigung gegen die Registry und ihrer direkten
Verwendung.
Ich zumindesten vermeide die Benutzung wo es möglich und nicht zu unsinnvoll
erscheint. Da es nur wenige Ausnahmen gibt, wo die Registry einen wichtigen
Faktor spielt, komme ich auch so weiter.

> Vielleicht ist aber auch nur mein Fell zu dünn...

Das soweiso. ;-)


MFG

--
Heiko Studt

Wolfgang Jaeth

unread,
Mar 7, 2002, 1:30:20 AM3/7/02
to

Klaus Ketelaer schrieb in Nachricht ...

>
>Ich bin mir ziemlich sicher,
>dass Ihr euch nicht erlauben könnt, das Format der *.DAT und *.IDX
>Files zu ändern.

[ ] Es gibt keine Überlegungen in diese Richtung

Wolfgang
--

Wolfgang Jaeth

unread,
Mar 8, 2002, 2:06:12 AM3/8/02
to

Heiko Studt schrieb in Nachricht ...

>
>Aber ACK -- *IMO* sollte TGL optional beim Fehler des nichtauffinden von
>%groups-path% den NNTP-Server nicht starten zu lassen.

Beim Nichtauffinden *welcher* der möglicherwiese angelegten 32.000 oder mehr
Gruppen?

Wolfgang
--

Thomas G. Liesner

unread,
Mar 8, 2002, 2:57:14 AM3/8/02
to
Klaus Ketelaer schrieb:
> "Mathias Behrle" <exp3...@gmx.de> schrieb:

>> Klaus Ketelaer am Do 07 Mrz 2002 07:20:35:
>>> Du weisst, was Du da schreibst? COM-Klassen händisch löschen?

>> Warum nicht, wenn man sie eindeutig zuordnen kann?

> Weiss Du immer was eindeutig ist? Willst Du das etwa einem
> normalen Hamster-Anwender zumuten?

Nein, der Normal-Anwender läßt diese 0,00001 Promille Inhalt in seiner
Registry schlicht stehen. Solltest du eine Windows-API-Funktion zum
korrekten Austragen des Servers kennen, wäre eine Mini-Tool wie
UnRegHamSrv technisch durchaus denkbar, mich auf die aktuellen
Registry-Pfade und Zugriffsrechte zu verlassen, erscheint mir aber nicht
sinnvoll.

>>>> Da man mittlerweile aber den Start des COM-Servers verhindern
>>>> kann, und diese "Reste" nun wirklich von jedem Programm
>>>> hinterlassen werden (auch mit Deinstallation!), sollte sich gar
>>>> kein allzugroßes Problem ergeben.

>>> Das stimmt nicht.

> Wenn ich den Hamster einfach lösche und dann die immer noch


> vorgandene COM-Schnittstelle nutze, habe ich 6 Richtige! Das ist
> nur ein Beispiel.

Nenne bitte noch zwei oder drei Beispiele, ich bin gespannt.

>> Das ist der übliche Preis eines jeden Programms, das sich als Server in
>> der Reg registriert.

> NEIN!


> Ich trete Dir zigmal den Beiweis an, dass sich andere
> Server/Anwendungen sauber austragen. Gut, wenn mal

> ein Schlüssel vergessen wird, was solls. Aber Klassen,
> Komponenten und sowas? Selbst das berüchtigte Frontpage
> macht sowas nicht...

Du hast noch vergessen zu erwähnen, was ein nicht aufrufbarer aber
registrierter OLE-Server für grauenvolle Folgen hat.

> Heiko hat das Beispiel gebracht... Aber eine Deinstallationsroutine
> halte ich auf jeden Fall für sinnvoll.

s.o.

> Nein, IMO muss jede Anwendung installiert und deinstalliert werden,
> damit kein Müll zurückbleibt. Aber das wäre ja zusätzliche Arbeit ;-)

Auch mit Smiley ist diese Aussage eine handfeste Beleidigung. Ich warte
auf den von dir geschriebenen Installer (aber ohne VB-Runtime-Geraffel),
oder hast du Probleme mit zusätzlicher Arbeit?

>> Also wenn diese Eingriffe nicht gepfuscht sind, weiß ich nicht, was
>> Pfusch ist. Kannst ja mal \system32 nach \_system32 umbenennen und neu
>> booten.

> Wenn mir gegenüber jemand argumentiert, dass meine Lösung


> unsicher/Pfusch ist, dann muss er sich gefallen lassen, dass
> ich seine Argumente an seinen eigenen Anwendungen teste.

> (So mit Glashaus meine ich...)

Welche MS-Anwendung kannst du ohne heftige Änderungen in der Registry
verschieben? Wenn du die Positionen für Systempfade in Windows per
Registry änderst, wunderst du dich ernsthaft, daß Windows die Dateien
aus dem Altverzeichnis nicht automatisch verschiebt? Das wären passende
Vergleiche.

> Wenn ein Server, der 150 Gruppen in seinem Bestand hat, nicht merkt
> dass ihm jemand die Verzeichnisse geklaut hat, dann ist er [...] .

Sprich dich aus. Robust halte ich für kein Schimpfwort.

> Wenn er ohne irgendeinen Warnhinweis einfach alles neu anlegt und


> weitermacht als sei nix gewesen, dann ist er [...]

Der Hinweis kommt ab nächster Version, aber auch wortkarg halte ich für
kein Schimpfwort.

> Hmmm, mir wird gesagt, das ich alles prüfen muss, damit das alles
> schön sicher ist. Warum gilt das nur für mich?

Hamster versucht auf Abstürze zu verzichten - und was soll er deiner
Meinung nach prüfen und wie auf welches Prüfergebnis reagieren, wenn er
nicht davon ausgehen kann, daß auch nur ein Monitor angeschlossen ist?

>> Aber dein Gruppenindex hat im Hamsterverzeichnis
>> nichts verloren, sondern sollte ins Programmverzeichnis deiner
>> Anwendung.

> Warum? Ich finde die gehören gerade dort hin.

Kannst du garantieren, daß Hamster nicht selber mal Dateien dieses
Namens dort anlegen will? Zudem erschwerst du das Löschen von Gruppen,
da Hamster nur ihm bekannte Dateien löscht und daher das Gruppen-
verzeichnis nicht löschen kann, wenn du noch weiteres reinpackst.

> Lediglich die Daten von Read-Only-Medien werde ich in lokalen
> Verzeichnissen speichern. Es sei denn, du nennst mir einen
> nachvollziehbaren Grund, warum ich es anders machen sollte.

Warum eine künstliche Unterscheidung?

>> Der Com-Server wird eingetragen, du kannst den Pfad per Server-Aufruf
>> ermitteln oder aus der Reg auslesen, so wie du es machst. Was willst du
>> mehr?

> Dass man mir nicht unterstellt wird, dass diese Vorgehensweise
> Pfusch ist.

Es ist Pfusch, wenn du keine manuelle Auswahl zuläßt, nur weil deine
automatische Methode ein funktionierendes Verzeichnis gefunden hat. Als
Vorauswahl ist es tauglich.

>> Von M$ so designiert, aber von vielen ungeliebt. Weil sich da eben u.U.
>> so viel Müll ansammelt, der immer im Speicher gehalten werden muß. Und
>> besonders übersichtlich ist das Teil bzw. das GUI dazu auch nicht.

> Ganz im Ernst: Ich mag sie ja auch nicht. Sie ist einfach mit einem


> höheren Aufwand verbunden und bringt weniger produktiven Nutzen.

Aber MS hat gesagt, daß es die Zukunft ist?

> Müll sammelt sich meist nur an, weil viele Entwickler rumschlampen und

> viele Anwender denken, dass man Programme per Delete deinstalliert.

Also muß man möglichst viele Daten in die Registry schmeißen, damit die
Löschmethode wirklich weh tut?

> Stell Dir mal vor, kein Programm entfernt seinen Müll aus der Reg. Wie
> oft soll Windows neu installiert werden?

Stell Dir mal vor, die meisten Programme schreiben nur wenige zentrale
Schlüssel rein, den Rest in ihr Programmverzeichnis und die Registry
bleibt rank und schlank...

Ok, dank den MS-Anwendungen wird das nicht passieren.

So long,
Thomas G. Liesner
--
Hamster & Co, seit 11.2. steht die Beta (!) 1.3.23.130 bereit
http://www.tglsoft.de bzw. http://home.arcor.de/tgl70/

Thomas G. Liesner

unread,
Mar 8, 2002, 2:58:52 AM3/8/02
to
Klaus Ketelaer schrieb:
> Dann muss aber der Scripting-Host installiert sein...

Um ein halbes Dutzend Schlüssel in der Registry entfernen zu können?
Nein, ich komme auch weiterhin ohne aus.

Thomas G. Liesner

unread,
Mar 8, 2002, 2:30:40 AM3/8/02
to
Heiko Studt schrieb:

> Aber ACK -- *IMO* sollte TGL optional beim Fehler des nichtauffinden von
> %groups-path% den NNTP-Server nicht starten zu lassen.

Also beim ersten Programmstart nach dem Entpacken sollen nicht nur
einige Warnungen über die Erzeugung der Pfade zu sehen sein, sondern die
Server sollten auch brav "unten" bleiben? Das zweitere halte ich für
übertrieben, das erstere ist bei mir schon implementiert.

Thomas G. Liesner

unread,
Mar 8, 2002, 3:54:03 AM3/8/02
to
Klaus Ketelaer schrieb:
> Mir ist egal, was der Hamster braucht. Ich bin mir ziemlich sicher,

> dass Ihr euch nicht erlauben könnt, das Format der *.DAT und *.IDX
> Files zu ändern. Der Rest ist mir schlichtweg egal.

Wäre gar kein Problem, das Erlauben. Einfach einen Schalter in der INI
im Verzeichnis, welches das Format angibt, als Sicherheit ggf. ein neuer
Name für die Datei - in dem Fall würdest du eben gar keinen Zugriff mehr
haben, bis du das wieder nachprogrammiert hast.

Thomas G. Liesner

unread,
Mar 8, 2002, 3:51:53 AM3/8/02
to
Klaus Ketelaer schrieb:

> Wir reden nicht von harmlosen Api-Aufrufen, sondern von einem kaputten
> OLE/COM-Server

Korrnews in der aktuellen Version ruft bei einem noch undokumentiertem
Schalter den Hamster-OLE-Server auf - bislang habe ich noch keine Klagen
von Benutzern gehört, die Hamster nicht installiert haben. Man kann
sowas problemlos in Delphi beim Zugriff kapseln, daß es a) nur bei
Bedarf aufgerufen wird und b) ein Fehlaufruf mit einer freundlichen
Fehlermeldung ohne weitere Auswirkungen kommentiert wird. Wenn VB das
nicht kann, ist das für VB-Programmierer unangenehm, aber ein Bug von
VB.

> Ich hatte erwähnt, dass ich COM verwende?

> Sagt Dir Schnittstellenvererbung etwas?

Es ging darum, Hamster.HamGroupsPath einmalig anzuwenden. Wenn die Ver-
wendung von COM bedeutet, daß ein testweiser Aufruf eines OLE-Servers
funktionieren muß, ist COM schlechter als gedacht.

Thomas G. Liesner

unread,
Mar 8, 2002, 4:09:23 AM3/8/02
to
Wolfgang Jaeth schrieb:

Beim Start, wenn die Pfade ausgelesen und ggf. angelegt werden.
Technisch: In der global.pas

Werner Jakobi

unread,
Mar 8, 2002, 6:34:47 AM3/8/02
to
Heiko Studt <Usene...@goldpool.8m.net> posted:

>Insbesondere sind solche Installier-Routinen eben bei weitem
>größer als z.B. ein Diskette. Und für 2MB eine CD zu brennen und
>das etwas häufiger ist doch -etwas- übertrieben...

Inno-Setup <http://www.jrsoftware.org/> produziert *sehr* wenig
Overhead (~50k) und ist Freeware. Anschauen lohnt IMHO.

Damit will ich allerdings nicht sagen, daß Hamster einen Installer
bräuchte.

Gruss, Werner
--
Morver, der Rollstuhl fuer kranke Windows-Newsreader und fuer OE.
Aktuelle Version 1.0.303: http://werner.jakobi.bei.t-online.de/

Jens Kordilewski

unread,
Mar 8, 2002, 7:01:14 AM3/8/02
to
Heiko Studt schrieb:

>> Oder den Thred von dag aufbauen in 90 minuten, wie HamNews?

>> Mir schweben eher Ergenisse im einstelligen Sekundenbereich


>> vor. Das jedoch bei Massendaten und nicht so 500-Postings-
>> Gruppen

> Dazu ist 1. eine gewisse CPU und gewisse Festplatte nötig.

Ich habe hier einen Overview von comp.lang.java.programmer mit
~188000 Artikeln. Der ist 50 MByte groß. Mit einer aktuellen Platte
von der Stange ist der nach max. 2s geladen. Mit einem aktuellen
*ldi-PC ist Threading in unter 1s machbar.

> Nur mußt du hier gegen eine Eingeschworene Gemeinde von INI-Züchtern
> ankommen. Ich kann nicht für die anderen sprechen, aber AFAIK hat jeder von
> uns eine ("un"-)natürliche Abneigung gegen die Registry und ihrer direkten
> Verwendung.

Ja. MS hat es soweit gebracht, daß man Konfigurationen häufig nur noch
per Bildschirmfoto oder textueller Beschreibung (klicke hier, dann dort)
weitergeben kann.

Jens Kordilewski

unread,
Mar 8, 2002, 7:01:14 AM3/8/02
to
Thomas G. Liesner schrieb:

> Solltest du eine Windows-API-Funktion zum
> korrekten Austragen des Servers kennen, wäre eine Mini-Tool wie
> UnRegHamSrv technisch durchaus denkbar,

http://msdn.microsoft.com/library/en-us/automat/htm_hh2/chap9_9iqq.asp

Ja, diesesmal funktioniert der Link. ;-)

Mathias Behrle

unread,
Mar 8, 2002, 6:16:51 AM3/8/02
to
Klaus Ketelaer am Do 07 Mrz 2002 20:53:39:

> Mittlerweile bin ich wirklich
> schon soweit, dass ich den Anwender gleich frage...

Ja, das wollte ich hören...;))

Mathias
--
Filter auf Realnamen, Spamspoiler und HTML-Mails

Mathias Behrle

unread,
Mar 8, 2002, 6:42:31 AM3/8/02
to
Thomas G. Liesner am Fr 08 Mrz 2002 08:30:40:

> Also beim ersten Programmstart nach dem Entpacken sollen nicht nur
> einige Warnungen über die Erzeugung der Pfade zu sehen sein,
> sondern die Server sollten auch brav "unten" bleiben? Das zweitere
> halte ich für übertrieben, das erstere ist bei mir schon
> implementiert.

Schön! Für überlegenswert hielte ich allenfalls noch, den Newspull mit
entsprechender Warnmeldung zu unterlassen. Wenn ein Gruppenverzeichnis
einfach so fehlt, ist wahrschenlich ziemlich viel defekt.

Juergen Haible

unread,
Mar 8, 2002, 9:20:15 AM3/8/02
to
Last-modified: 1999-04-22
Posting-frequency: yearly
Newsgroups: hamster.(random)

Klaus Ketelaer:

> Ich bin davon ausgegangen, dass man den Hamster auch sauber
> deinstallieren kann, also incl. Registry-Einträge... Bleibt etwa alles
> im System verewigt, incl. der Server, COM-Klasse(n), etc?

Richtige Hamster-User [tm] verdrängen sowas natürlich, aber irgend-
jemand streut so ca. einmal jährlich das wilde Gerücht, daß sich
ein Hamster mit der Aufrufoption "/unregserver" in vielen Fällen
- Und jetzt müßt ihr wirklich ganz tapfer sein! - rückstandsfrei
d e i n s t a l l i e r e n ließe!

-j'... oder bis daß der mit suboptimalen Deinstallations-
Programmen beschleunigte Windows-Tod sie scheidet. Amen.'h-

--
uninstall.bat:
hamster.exe /unregserver
del hamster.exe
@echo Feddisch ...

Heiko Studt

unread,
Mar 8, 2002, 8:25:33 AM3/8/02
to
'Cause Klaus Ketelaer's words, I thought of...

> Ich meinte das anders. hab mich vielleicht etwas unglücklich
> ausgedrückt. Mit 'benutzerabhängig' meinte ich, dass der

ACK. Sorry habe ich missverstanden.


> >> Wenn der Hamster die Möglichkeit bietet, die Gruppenordner
> >> benutzerabhängig zu speichern, so sollte auch das berücksichtigt

> Anwender den Speicherort ändern kann. Wenn also Ordnungs-
> fanatiker wie ich, das Programm in C:\Programme ablegen
> und die Gruppen auf einer Datenpartition halten.

Ja und?
*Ich* berücksichtige das in GoldFind bZW über OLE.
Bisher berücksichtigst du das nicht...

Wobei ich aber die Ausgangsfrage mislicherweise vergessen habe... <gg>

> > Umbenennen-->Admin/User/DAU ist einfach dumm/bescheuert/belämmert/etc

> Ach, und darum muss ich bei _mir_ damit rechnen, dass das gemacht wird?

Ich habe, wenn mich jetzt nicht alles täuscht, vom verschieben/umbenennen des
gesammten Hamster-Ordners gesprochen. Aber du hast hierbei Recht: Wir greifen
auf dieselben Daten in der Registry zu. Nur daß ich nicht den direkten
"Einsprungsort" wissen muß, sondern diesen schön von Windows verwalten
lasse...

> Was habe ich im Februar gemacht:
[...]
> Meine Partitionen waren also ständig in Bewegung. Führe nur
> ich solche Arbeiten durch?

Jep. Normalerweise heißt es eben: "Never change a (well) running system."
Zumindestens bei mir würden aber auch die Partitionen sich *nicht*
verschieben, da ich NTFS benutze und dort der Laufwerksbuchstaben gespeichert
werden kann. Zumindestens in W2k Pro.

> >>> | > Zudem soll es möglich sein, die Daten über
> >>> | > mehrere Medien zu mischen. Z.B. Hamster + ArchivHamster
> >> Ja, gerade darum dürfen sie nicht zentral gespeichert werden.

Es soll möglich sein zu mischen -- aber dabei darf dies nicht zentral
gespeichert sein.
Wenn du also mischt, dann müssen diese Daten zwangsläufig gemeinsam sein.
Oder aber wir verstehen dich grundsätzlich flasch... <gg>

> > Du beklebst eine Beatles-CD (selber; nicht Hülle) auch nicht mit tausend
> > Aufklebern der Beatles. Du willst die schließlich noch hören können.
> > Noch präziser würde es bei LPs sein. <gg>

> Ich es schlimm, wenn ich das jetzt schon wieder nicht kapiert habe?

Nicht wirklich, du kennst meinen Standpunkt ja...

> Schön... Wenn dann in der Benutzerverwaltung ein paar Benutzer
> gelöscht werden, dann macht das ja nix. Die paar Bytes, die als Müll

Ntürlich nicht.

> zurückbleiben, stören ja nicht... Und wenn irgenwann 64 Kilobytes

Es bleibt (IMO) *nichts* übrig, da Windows den kompletten PATH *rekursiv*
löscht.

> erreicht werden, ist es halt Pech...

64Kb ist schon lange keine Grenze mehr.
Zumindestens kenne ich mindestens einen Ort, wo ich mir dagegen einen
Fix/eine Komponente/oder so laden kann... :-P

> Zudem funzt das echt geil in Netzwerken...

N'türlich.
Das Benutzerverzeichnis liegt komplett auf dem NT-Server. Das zumindestens
ist in einem (gut administrierten) Netzwerk AFAIK der Normalfall.

> >> XP würde dich bestimmt erfreuen...

[wegschmeissen]
> Ja, dann werde ich das wohl auch machen müssen...

Ich lasse jedem seine Erfahrungen. Und wenn er andere macht, als alle anderen
vor ihm soll er diese so machen. Ich habe nicht gesagt, daß du irgentwas
machen *mußt* oder *sollst*. Ich habe nur Erfahrungen weitergegeben.

> > ...und deshalb darfst du generell nicht von undokumentierten Standards
> > ausgehen! <eg> ;-)

> OK, ich höre auf Software zu entwickeln, bis ich eine Glaskugel
> gefunden habe.

Dokumentierte Schnittstellen brauchen keine Glaskugeln.
Nur undokumentierte brauchen sie.


MFG

--
Heiko Studt

Heiko Studt

unread,
Mar 8, 2002, 8:00:13 AM3/8/02
to
'Cause Thomas G. Liesner's words, I thought of...

> Also beim ersten Programmstart nach dem Entpacken sollen nicht nur
> einige Warnungen über die Erzeugung der Pfade zu sehen sein, sondern die
> Server sollten auch brav "unten" bleiben? Das zweitere halte ich für
> übertrieben, das erstere ist bei mir schon implementiert.

NAK. Was willst du mit einem Server, den du nicht verwenden kannst?
Du hast z.B. noch keinen Benutzer angelegt bzW Passwort für Admin...


MFG, HTH

--
Heiko Studt

Heiko Studt

unread,
Mar 8, 2002, 8:10:03 AM3/8/02
to
'Cause Thomas G. Liesner's words, I thought of...

> Welche MS-Anwendung kannst du ohne heftige Änderungen in der Registry


> verschieben? Wenn du die Positionen für Systempfade in Windows per
> Registry änderst, wunderst du dich ernsthaft, daß Windows die Dateien
> aus dem Altverzeichnis nicht automatisch verschiebt? Das wären passende
> Vergleiche.

Und noch eines 'drauf:
Ich habe mein "User"-Verzeichnis in ein anderes Verzeichnis kopiert und
*dann* die Umgebungsvariablen mittels TweakUI gesetzt.
Meinst du, das funktioniert wirklich wunderprächtig? ;->

> Es ist Pfusch, wenn du keine manuelle Auswahl zuläßt, nur weil deine
> automatische Methode ein funktionierendes Verzeichnis gefunden hat. Als
> Vorauswahl ist es tauglich.

Das Beste wäre noch:

--Dialog------------------------
| |
| [Pfad per OLE finden] |
| [Pfad aus der Regitry lesen] |
| |
| 'H:\ier\steht\der\Pfad\'[...] |
| |
| [OK] [Abbrechen] [Hilfe] |
| |
-------------------------------

[]- Buttons
''-Edit-Feld oder Path-Edit

> > Stell Dir mal vor, kein Programm entfernt seinen Müll aus der Reg. Wie
> > oft soll Windows neu installiert werden?
> Stell Dir mal vor, die meisten Programme schreiben nur wenige zentrale
> Schlüssel rein, den Rest in ihr Programmverzeichnis und die Registry
> bleibt rank und schlank...

ACK. *Das* wäre das Ideal.

> Ok, dank den MS-Anwendungen wird das nicht passieren.

ACK. Auch.


MFG

--
Heiko Studt

Heiko Studt

unread,
Mar 8, 2002, 8:31:14 AM3/8/02
to
'Cause Jens Kordilewski's words, I thought of...

> Ich habe hier einen Overview von comp.lang.java.programmer mit
> ~188000 Artikeln. Der ist 50 MByte groß. Mit einer aktuellen Platte
> von der Stange ist der nach max. 2s geladen. Mit einem aktuellen
> *ldi-PC ist Threading in unter 1s machbar.

Du mußt (wie Klaus jetzt) aber diesen erstmal erzeugen.
Und 18.800 Artikel dürften dabei wohl um die 500 Mb groß sein!?

Die zu lesen und vor allem jeden Einzelnen Artikel zu interpretieren ist
nicht wikrlich in 1 s zu schaffen.

> Ja. MS hat es soweit gebracht, daß man Konfigurationen häufig nur noch
> per Bildschirmfoto oder textueller Beschreibung (klicke hier, dann dort)
> weitergeben kann.

ACK.


MFG

--
Heiko Studt

Heiko Studt

unread,
Mar 8, 2002, 7:59:13 AM3/8/02
to
'Cause Wolfgang Jaeth's words, I thought of...

> >Aber ACK -- *IMO* sollte TGL optional beim Fehler des nichtauffinden von
> >%groups-path% den NNTP-Server nicht starten zu lassen.
> Beim Nichtauffinden *welcher* der möglicherwiese angelegten 32.000 oder mehr
> Gruppen?

NAK!
Du mißverstehst mich:
Nicht die einzelnen Gruppen sollen überprüft werden, sondern der *groups*-
Path selber. Also normalerweilse ~/groups/


MFG

--
Heiko Studt

Thomas G. Liesner

unread,
Mar 8, 2002, 10:09:02 AM3/8/02
to
Klaus Ketelaer schrieb:
> Es muss ja nicht auffallen, wenn ein paar Gruppen fehlen.
> Wenn jedoch der gesamte Pfad _Groups_ weg ist, inclusive
> der History, dann sollte schon etwas geschehen.

Wer Autostart-Skripte mit entsprechender Funktionalität nutzt, muß damit
klar kommen. Hamster rennt durch, wenn es irgendwie möglich ist,
Warnungen und Fehlermeldungen im Log müssen reichen, es ist ein Server
und kein Client.

Joern Weber

unread,
Mar 8, 2002, 10:04:57 AM3/8/02
to
Klaus Ketelaer <klaus.k...@t-online.de> schrieb/wrote:

Hi

Klaus:

> "Joern Weber" <lis...@joernweber.de> schrieb:

>> Du weist ja, ein Newsreader zu schreiben ist eine Lebensaufgabe.

> Die rudimentären Funktionen stehen soweit und müssen nur noch
> gefixt werden. Im Grunde geht es aber primär um die Darstellung
> der Suchergebnisse, welche direkt im Thread angezeigt erden soll.

Und wie stellst Du Unicode und exotische Zeichensätze dar?

>>> Dies geschieht einfach deshalb, weil ich
>>> in Bodies suchen möchte, ohne sie erst herunterzuladen.
>>
>> Verstehe ich nicht. Wenn Du in den Hamsterfiles suchst, musst Du auch die
>> Bodies lesen, da sie Bestandteil dieser dateien sind. Das wäre auch via
>> COM/DCOM möglich gewesen.

> Ja, und dann? 3 Suchläufe eine knappe Stunde wie im Goldfind?

> Oder den Thred von dag aufbauen in 90 minuten, wie HamNews?
> Mir schweben eher Ergenisse im einstelligen Sekundenbereich
> vor. Das jedoch bei Massendaten und nicht so 500-Postings-
> Gruppen

Ok, Suchgeschwindikeit ist eine Argument für ein darauf spezialisiertes
Tool. Ich ging bisher davon aus das Du eine Reader-Ersatz schreiben
wolltest.

[Ansichtssache zum testen ob Hamster aktiv geschnippt]

>> Ich will dich nicht ärgern, aber es wurde schon mal ziemlich laut
>> nachgedacht die Datenbank des Hamsters komplett auszutauschen.

> Was ich _sehr_ befürworten würde. Vor allem gehören die Dateien
> aufgebort auf 64-Bit-Pointer.

Welche Dateien. Die Indexdatei und die data.dat? Die Indice müsste man
aufbohren wenn man die 4 GByte Grenze für die data.dat brechen will. Im
Bereich zwischen 2 und 4 GByte reicht das jetzige Format aus.

>> Es
>> scheiterte IMHO daran, das dem erforderlichen Aufwand nicht genügend
>> Manpower gegenüberstand. Die jetzige Datenbank hat nämlich den Nachteil,

>> das sie auf 2 GB begrenzt ist.

> Das hatte ich ja mal bemängelt. (Und was auf die Mütze bekommen)

Einem Aufbohren der Dateiformate auf nur 4 GByte stehen folgende Argumente
entgegen:

1. Der Aufwand ist Unverhältnismässig hoch gegenüber dem relativ geringen
Nutzen. Es müsste die aktuelle Lib (VCL) für die notwendigen
Datei-Funktionen ersetzt werden.

2. Es würde den Hamster inkompatibel zu FAT12 machen, welches noch auf
einigen Win95 Systemen anzutreffen ist. (512 MB Grenze!)

3. Man müsste Routinen schreiben welche sowohl das Arbeiten mit dem alten
als auch dem neuen Format ermöglicht.

btw. Wenn man in die datenbank schon soviel Manpower hineinstecken will,
sollte man es ordentlich machen und sie gleich auf 2^64 Byte aufbohren.
Dann kommen aber noch weitere Forderungen hinzu, wie ein auf Bayer-Bäumen
beruhender Index usw.

>> Bei Windows 9x spielte das weniger eine Rolle, da das OS selber nur
>> Dateien bis 4 GB verwalten konnte. Mit

> Es sollte aber recht banal sein, das alte System auf diese Grösse (4GB)
> aufzuboren. Die Api-Calls in VB kannste von mir haben. Die sollten
> schnell konvertiert sein.

Im Hamster wird eine Lib verwendet um die Funktionen zu kapseln, diese
begrenzt die Dateigrösse zur Zeit. Die Windows API selber zu verwenden ist
in Delphi prinzipiell kein Problem, da bei Delphi für fast alle Win-API
Aufrufe die Declarationen dabei sind. Der Manpower ist das Kernproblem.

>> zunehmender Verbreitung von WinXP wird aber sicher der Leidensdruck
>> steigen die Datenbank doch aufzubohren.

> Ich denke, dies wird erforderlich sein, wenn Hamster langfristig

> überleben will.

Das Konzept des Hamster und seine Zielgruppe beruht auf News im
Text-Format. Fans von Binary-Gruppen haben sich noch nicht gefunden, um
den Hamster die notwendigen Erweiterungen zu verschaffen.

> Sind die Dateizugriffe eigentlich gekapselt?

Ja, in Objekten in einer separaten Unit. Für die Dateizugriffe wird die
VCL als Lib verwendet. Die Änderungen würden sich also auf die Unit
cArtFiles.pas und einige auf diese Objekte abstellende Funktionen (Purge)
beschränken.

>> Meine Anwendung wird Dich aber eh nie betreffen, weil sie eine
>> (im Grunde) reine Active-X-Anwendung ist. Sie besteht aus solchen
>> schlimmen DLL's, Komponenten und Klassen...

> Du missverstehst mich. ActiveX ist nicht mal eine schlechte Lösung, nur
> will man sie nicht auf einem Server haben, da die erforderlichen
> Authentifizierungsmechanismen noch nicht ausgereift sind. Erst wenn ich
> den einzelnen Applets bei der Installation Brechtigungen zuweisen kann,
> sind sie für einen Server geeignet.

> Wenn Du diese Ansprüche hast... OK, das musst Du für Dich
> entscheiden.

Diese Ansprüche an die Sicherheit sind eigentlich Konsens hier in der
Community. Wir wollen nicht die Fehler machen, die M$ uns vor macht. Aber
selbst M$ scheint aufzuwachen und hat deswegen zu gunsten der Sicherheit
die Entwicklung von .Net und C# ausgesetzt.

> Nur werden dir weite Teile der MS-Welt verschlossen bleiben.

Ack. Aber vielleicht möchte ich hier keinen Kompromiss machen, solange
ActiveX nicht ausgereift ist.

> Ich bin eigentlich nur etwas empfindlich, wenn ich hier immer alles
> falsch mache, und ihr immer alles richtig, egal wie und nur aus
> Prinzip. Da kann ich nicht so drauf. Irgendwie seht ihr jedes
> Argument, jede Kritik und jeden Denkanstoss gleich als Angriff an.

btw. Ich kenne dein Gefühl nur zu gut. Auch die jetzigen Programmierer des
Hamster habe unterschiedliche Ansichten. Dieser werden auch klar
ausgesprochen, alles andere hilft insbesondere dir nicht und uns auch
nicht. Das es diese konträren Ansichten zu deinem Programm gibt ist völlig
normal und du muss damit Leben, andernfalls wirst du solch ein Projekt
auch später in anderen Fragen kaum durchstehen. Gegenüber der Linux-Gilde
ist das dabei hier noch richtig gemütlich. Aber sobald du die Ansichten
der einzelnen Programmierer hier kennst und wir deine, wird sich das
legen. Bei dir kommt jetzt hinzu, das wir schon mehre Jahre Erfahrungen
mit der Materie Hamster und mit Zusatztools haben. Es will dir keiner dein
Projekt schlecht machen, ganz im Gegenteil, es kann nur dem Hamster
förderlich sein. Wir wollen dich aber nicht ins offene Messer laufen
lassen und dir mögliche Fallstricke gleich aufzeigen. Bedenke, wenn Du
solch eine Tool veröffentlichst, wirst du nicht nur ein paar wenige Nutzer
sondern möglicher Weise paar tausend Benutzer in aller Welt haben.

> Ich akzeptiere Eure Werkzeuge, also akzeptiert auch meine...

He, ich habe nichts gegen VB. Delphi hat auch seine Macken.

> Darum geht es doch im Grunde. Ich möchte unter Entwicklern
> Lösungswege diskutieren und nicht 'Wer hat den Längsten'...

Das wirst Du hier nicht erleben, auch wenn Heiko hier manchmal etwas
grinst. Werkzeuge sind nur Mittel zum Zweck, das Ergebniss ist, was zählt.
Es gibt hier User, welche Tools in C programmieren und hervorragende
Ergebnisse liefern. Der Hamster ist nunmal historisch bedingt zu anfang in
Delphi 3 und später in Delphi 5 geschrieben worden. Das ist für den Zweck
eines Windows-basierten News- und E-Mail-Server auch nicht die
schlechteste Wahl. Es ist einerseits möglich detailliert auf WIN-API-Ebene
zu programmieren, anderseits muss man auch nicht alles selber schreiben,
da einen die VCL viel Arbeit erspart. Insbesondere hat man gegenüber
*reinem* C ein ausgefeiltes String-Handling zur Verfügung, welches keine
Bufferowerflows provoziert. VB war zu mindestens in älteren Version aus
Effizenzgründen nicht geeignet. Die Runtime von VB ist doch etwas sehr
zäh. Einen Interpreter möchte man mit VB nicht schreiben. Hingegen ist es
für Tools, welche hauptsächlich Daten visualisieren, mindestens genauso
geeignet, wenn man Dinge wie die Lokalisierung (Zeichensätze und CO.) und
die Laufzeit der da hinter liegenden Kernroutinen in den Griff bekommt.

> Vielleicht ist aber auch nur mein Fell zu dünn...

Ein dickes Fell ist als Programmierer immer gut, mir fehlt es mitunter
auch. Dir scheint mir aber die Erfahrung mit Open Source zu fehlen, und du
bist gerade dabei diese Erfahrungen zu machen.
:-)

Gruss Joern Weber
--
em...@joernweber.de

Joern Weber

unread,
Mar 8, 2002, 10:12:53 AM3/8/02
to
Hallo Jürgen

Juergen Haible <juergen...@t-online.de> schrieb/wrote:


> Klaus Ketelaer:
>
>> Ich bin davon ausgegangen, dass man den Hamster auch sauber
>> deinstallieren kann, also incl. Registry-Einträge... Bleibt etwa alles
>> im System verewigt, incl. der Server, COM-Klasse(n), etc?
>
> Richtige Hamster-User [tm] verdrängen sowas natürlich, aber irgend-
> jemand streut so ca. einmal jährlich das wilde Gerücht, daß sich
> ein Hamster mit der Aufrufoption "/unregserver" in vielen Fällen
> - Und jetzt müßt ihr wirklich ganz tapfer sein! - rückstandsfrei
> d e i n s t a l l i e r e n ließe!

-verbose

Ist das eine Playground Spezialität?

Heiko Studt

unread,
Mar 8, 2002, 10:30:07 AM3/8/02
to
'Cause Klaus Ketelaer's words, I thought of...
> Was ist denen lieber: Mal eben im automatisch erscheinenden
> Verzeichnisdialog ein paar Klicks machen, oder dass ich den
> Hamster starte?

Letzteres, wenn schon Automatismus.
Am Besten für die Harcore-Männer/Frauen ist sowieso nur cryptische
Ini/Registry-Einträge, ohne Dokumentation. *gg*

> >> Mir ist egal, was der Hamster braucht. Ich bin mir ziemlich sicher,
> >> dass Ihr euch nicht erlauben könnt, das Format der *.DAT und *.IDX
> >> Files zu ändern. Der Rest ist mir schlichtweg egal.

> > Meinst du? Das glaubst auch nur du...
> > Einen Konverter von einem Format in das andere zu schreiben dürfte für einen
> > kleinen Hamster-Programmierer eine Leichtigkeit sein.

> Schön, dann hätte nur ich ca 8 Gigabytes zu konvertieren. Um dann darauf

Naund?
Das dauert einmal weniger als 1 Stunde und dann hast du dafür eine besonders
gute DB. Schneller, sicherer und "größer".
u.U. würde sogar eine optionlae Komprimierung eingebaut. Damit hast du dann
auch eine kleinere DB. Ich würde am liebsten den XOver auch noch in ein extra
File speichern, wodurch die CPU-/Platten-Last des News-Servers noch weiter
sinken würde.

> zuzugreifen müsste ich einen Record anpassen. Probleme bekomme ich nur,
> wenn Grösse oder Löschflag entfallen. Zudem habe ich mich vertan: Ich

Du stellst dir das etwas einfacher vor als es ist.
Wenn überhaupt, dann wird das DB-Format *komplett* umgekrempelt und die
obrigen Features (z.B.) eingebaut.
Das dann eine vollkommene Inkompatibilität in Kauf genommen wird ist mit ein
Grund, warum das dann gründlich gemeinsam über/durchdacht werden würde und
ggf. auch nur optional geschehen würde. (Siehe TGL's Beitrag)

> Warum, wirst doch eh nie damit rummachen ;-)

Es ist dein Tool. ;-)
BTW: Wie willst du davon ausgehen, daß ich vollkommen uninterressiert an
deiner Technologie bin?
Sofern sie 100%ig sicher ist und zudem kompatibel zum bisherigen Format,
könnte ich mir auch einen GoldFind mit einer ähnlichen Engine vorstellen.
Wenn ich ggf. deinen Source als Anregung benutzen will frage ich dich
n'türlich.

> Hamster ist auf Rechner A, die Gruppen auf dem Server B und mein
> Tool greift von Rechner C darauf zu...

Dann hast du ein Problem: Du kannst AFAIK gar nicht die Registry des anderen
Compis lesen (vielleicht gibt es dazu aber auch eine Funktion).
BTW: COM geht über DCOM auch über's Netz... :oP

> Wenn ich jedoch eine Schnittstelle implementiere (das ist was anderes
> als deklarierte Funktionen und deren Aufrufe) deren Server nicht

Hälst du mich für blöde? ;->

> vorhanden ist dann tritt halt solch ein Ausnahmefehler ein. Genau den

Ich weiß aber nicht, warum du eine Schnittstelle implementieren willst.
Vielleicht hatten wir aber auch aneinander vorbei geredet. War das Joern oder
TGL, der dort ein Mißverständnis gefunden hat? <gg>

> > Ob nun wirklich bei einfach verschobener EXE ein Timeout greift, kann ich
> > aber nicht sagen...

> Hast Du denn mal probiert, die Schnittstelle zu implementieren und dann
> den Server zu killen?

Funktioniert einwandfrei -- ich rufe aber "CreateOleObject" auf und dann
deren Methoden. Ich "implementiere" keine Schnittstellen.

> Was interessiert mich das? Zig Anwendungen verlangen zur Installation
> Adminrechte. Warum nicht auch ich? Erinnere Dich bitte, dass das Problem

Weil das ein "Bah" ist. IMO.
Ein Tool, welches Daten eines Verzeichnisses lesen will, braucht keine Admin-
Rechte für die Registry. Solche würde _ich_ ihm wohl weniger geben.
Wenn du keine Rechte auf OLE hast, dann kannst du das auf jeden Fall
abfangen. Ich selber habe aber noch nicht mit Rechten in der Registry selber
gearbeitet, daher weiß ich das in dem Fall nicht.

> nur direkt nach der Installation einmalig ansteht.

Ich kann auch "direkt nach der Installation" einen Virus einschleusen... ;-P

> > Nur versuchst du einen Path mit Hilfe der Registry zu erhalten, der 1. nicht
> > umbedingt abwärtskompatibel sein muß und 2. nicht weiter ausgewertet wird.
> > (Hamster.Ini)
> Ich benutze den pfad um die DAT und INI dateien zu finden, bzw das
> Gruppenverzeichnis (Groups), mehr nicht. Mittlerweile bin ich wirklich

Jep. Das meine ich doch.
Du suchst in der Registry den Path, in der die Hamster.exe steht.
Dann hängst du einfach so ein "/groups/" an (soweit ich dich bisher
verstanden habe). Das ist nicht nur eine Leugnung (;-)) der Path-Einträge in
der Hamster.Ini, vielleicht ist das irgentwann sogar nichteinmal
Abwärtskompatibel...

> schon soweit, dass ich den Anwender gleich frage...

*ACK*.
Sieh anderes Posting mit Ascii-Art. Vielleicht ist soetwas dann denkbar.

> > Jain. Nur ist das Format nur von Hamster verwendet... <gg>
> Ja, Star-Office verwendet auch DOC-Files, ohne Word mitzuliefern...

Nö.
Star-Office *konvertiert* diese Daten.
Und mit Sicherheit wird wohl kaum ein anderes Programm dieses Format
benutzen... <g>


MFG

--
Heiko Studt

Heiko Studt

unread,
Mar 8, 2002, 10:33:20 AM3/8/02
to
'Cause Juergen Haible's words, I thought of...

> Last-modified: 1999-04-22
> Posting-frequency: yearly
> Newsgroups: hamster.(random)
[...]

> d e i n s t a l l i e r e n ließe!

Wow.
Das habe ich noch gar nicht gewußt. Muß ich jetzt nachsitzen? ;-)

> -j'... oder bis daß der mit suboptimalen Deinstallations-
> Programmen beschleunigte Windows-Tod sie scheidet. Amen.'h-

Da ist immer eine Gefahrenquelle. :'-(


MFG, eigener Leib; Erfahrung <gg>

--
Heiko Studt

Joern Weber

unread,
Mar 8, 2002, 10:45:58 AM3/8/02
to
Hi

Klaus Ketelaer <klaus.k...@t-online.de> schrieb/wrote:


> Was zu beachten oder zu tun ist, kann nur von den Enzwicklern
> entschieden werden.

Nein. Jeder Maintainer einer Hamster-Distributation entscheidet das für
sich selber. TGL für den classic Hamster, Jürgen Haible für seinen
Playground usw.

Jens Kordilewski

unread,
Mar 8, 2002, 12:58:02 PM3/8/02
to
Heiko Studt schrieb:

>> ~188000 Artikeln. Der ist 50 MByte groß.

> Du mußt (wie Klaus jetzt) aber diesen erstmal erzeugen.

Der ist schon da. In meinem Fall als Datei auf der lokalen Platte.

> Und 18.800 Artikel dürften dabei wohl um die 500 Mb groß sein!?

Ich glaube, du bist da zweimal um eine Kommanstelle verrutscht.

> Die zu lesen und vor allem jeden Einzelnen Artikel zu interpretieren ist
> nicht wikrlich in 1 s zu schaffen.

Fürs Threading werden nur die References gebraucht. Ich denke schon, daß
das in der Zeit zu schaffen ist - passende Algorithmen vorausgesetzt.

Thomas G. Liesner

unread,
Mar 8, 2002, 12:58:18 PM3/8/02
to
Klaus Ketelaer schrieb:
> "Thomas G. Liesner" <t...@gmx.de> schrieb:

>> Nein, der Normal-Anwender läßt diese 0,00001 Promille Inhalt in seiner
>> Registry schlicht stehen. Solltest du eine Windows-API-Funktion zum
>> korrekten Austragen des Servers kennen, wäre eine Mini-Tool wie
>> UnRegHamSrv technisch durchaus denkbar, mich auf die aktuellen
>> Registry-Pfade und Zugriffsrechte zu verlassen, erscheint mir aber nicht
>> sinnvoll.

> Der Pfad ist ja nur als Vorgabe gedacht und wird von mir entsprechend
> geprüft.

Dann ist gut, in früheren Postings wolltest du nur dann eine Anwender-
eingabe erlauben, wenn die Automatik nichts findet. Gegen einen mit
hoher Wahrscheinlichkeit sinnvollen Vorgabewert spricht nichts.

>>> Wenn ich den Hamster einfach lösche und dann die immer noch
>>> vorgandene COM-Schnittstelle nutze, habe ich 6 Richtige! Das ist
>>> nur ein Beispiel.

>> Nenne bitte noch zwei oder drei Beispiele, ich bin gespannt.

> Ich habe ein VB-Projekt geöffnet und die Schnittstelle implementiert.
> danach habe ich einmal kompiliert und dann das Hamsterverzeichnis
> umbenannt. Anschließend ist die Test.exe abgestürzt (ohne etwas
> über die Schnittstelle zu machen) und anschliessend die VB-IDE
> ebenfalls.

Massiver Bug von VB bzw. der OLE-Schnittstelle. Da ich mit VB zum Glück
seit drei Jahren nichts mehr zu tun habe, kann ich dir nicht sagen, ob
VB nicht auch die deutlich sinnvollere Möglichkeit einer dynamischen
Bindung zuläßt, dann kann man auch sinnvoll reagieren. Ist genauso wie
mit DLLs - Statisch gelinkt kracht es beim Programmstart, wenn sie
fehlen, werden sie dynamisch geladen, bleibt es dem Programmierer
überlassen, sinnvolle Reaktionen zu finden. Hamster kennt in der
nächsten Fassung bzgl. SSL auch zwei DLLs - existieren sie nicht, gibt
es eine kurze Log-Meldung, daß SSL nicht zur Verfügung steht und das
war's schon.

> Wenn ich das Verzeichnis erst umbenenne und dann versuche die
> Schnittstelle zu implementieren wird der Fehler abgefangen (DLL kann
> nicht geladen werden)

s.o., Bug in VB und/oder der OLE-Schnittstelle von Windows.

>> Du hast noch vergessen zu erwähnen, was ein nicht aufrufbarer aber
>> registrierter OLE-Server für grauenvolle Folgen hat.

> Meine Anwendung schmiert ab. Das ist für mich grauenvoll genug.
> Aber bestimmt liegt das jetzt wieder am VB, weil es dort keine
> Exceptions gibt.

Zu "meiner" Zeit funktionierten On Error ... noch ganz gut. Und wenn ein
Programm einen funktionierenden Server voraussetzt, ist es relativ
wurscht, ob er am Anfang eine Fehlermeldung von sich gibt und sich
beendet oder stattdessen abschmiert, solange er das Restsystem nicht
runterreisst - verwendbar ist das Programm in beiden Fällen bis zur
Widerherstellung des Servers nicht mehr.

> Was ist daran eine Beleidigung? Egal welche Anwendung ich öffne: VB,
> Word, Frontpage, .... Überall wo ich die Option "Objekt einfügen" wähle
> erscheint die Hamster-Schnittstelle als einfügbares Objekt.
> Es ist numal Arbeit, einen Deinstaller zu schreiben. Wenn Du darin eine
> Beleidigung siehst, dann ist das Dein Bier.

Die forderst unterschwellig, deine spezifischen Bedürfnisse zu erfüllen.
Den nicht weggeräumten OLE-Server und die 2 GB-Grenze haben noch nicht
wirklich viele Benutzer bemängelt - bzgl. der 2 GB-Grenze kein halbes
Dutzend in den letzten Jahren und beim OLE-Server fällt mir niemand
anders ein. Und entsprechende Bemerkungen a la "Ist aber Arbeit", die
deutlich nach "Ihr macht ja nur, worauf ihr Bock habt, dass, was MIR
wichtig ist, ist euch ja viel zuviel Arbeit" klingen, fördern meine
Arbeitslust in keiner Weise.

> Ihr bezeichnest Vorgehensweisen von mir als sinnfrei und Pfusch

Bin ich jetzt für den Rest verantwortlich? Bin ich der Watschenmann für
deine Laune? In welchen Fällen habe ich deine Vorgehensweise überhaupt
oder zumindest unbegründet als sinnfrei oder Pfusch bezeichnet?

> und Du regst Dich über einen kleinen Seitenhieb mir Gremlin auf?

Den hinteren Satzteil habe ich nicht verstanden. Aber ja, Seitenhiebe
schätze ich nicht sonderlich, wenn dahinter ein falsches Anspruchsdenken
aufblitzt.

> *kopfschüttel*

Bewegung tut immer gut.

> Wenn Du VB nicht magst, wie wäre es mit MS-C++ und MFC?

Könnte ich hier nicht kompilieren. Und bis auf Treiber o.ä. gibt es
wenig, was nicht in Delphi mit weniger Aufwand und vergleichbarem Tempo
geschrieben werden kann. Daß die MFC nicht viel taugt, ist auch nichts
neues, nicht umsonst schickt MS sie mit .NET aufs Altenteil.

>> Welche MS-Anwendung kannst du ohne heftige Änderungen in der Registry
>> verschieben?

> Mit Magic-Mover eigentlich jede ;-)

Also keine dir bekannte.

> Bitte erinnere Dich, dass mir vorgehalten wurde, dass der Reg-Eintrag
> unsicher wäre, weil Hamster verschoben und noch nicht gestartet sein
> könnte.

Der grundlegende Widerspruch lautet eigentlich anders: Die Grundinfor-
mation ist sowohl bei deinem als auch beim OLE-Zugriff an derselben
Stelle, bei deiner Technik verläßt du dich aber auf deutlich mehr
Interna, die sich mit jeder Windows-Version fröhlich ändern können - und
seien es nur geänderte Benutzerrechte für den Zugriff. Den zweiten Punkt
hast du bislang auch ignoriert: Der Gruppenpfad ist NICHT als
Hamsterpfad\Groups definiert, sondern durch Main und Groups in der
hamster.ini im Directorys-Abschnitt. Und prinzipiell kann das in jeder
neuen Hamster-Fassung noch komplexer geregelt werden, auch wenn ich eine
baldige Änderung für unwahrscheinlich halte.

>>> Wenn ein Server, der 150 Gruppen in seinem Bestand hat, nicht merkt
>>> dass ihm jemand die Verzeichnisse geklaut hat, dann ist er [...] .

>> Sprich dich aus. Robust halte ich für kein Schimpfwort.

> Das ist fahrlässig, nicht robust.

Du konstruierst, daß man die Plattenstruktur ändert, aber keinen prakti-
schen Test folgen läßt und dann auf die Schnauze fallen kann. Der größte
mögliche Schaden ist, daß er mehr oder weniger viele Nachrichten doppelt
holt und setzt einige Vorarbeit voraus.

>> Der Hinweis kommt ab nächster Version, aber auch wortkarg halte ich für
>> kein Schimpfwort.

> In Version 37:
> Wir reden davon, dass dem Hamster der komplette Gruppenpfad
> abhanden gekommen ist und er kommentarlos weitergemacht hat!

Bekannt.

> Für Entwickler die das als "robust und wortkarg" verteidigen kann
> ich keinerlei Verständnis aufbringen.

Ich warte auf dein gesprächigeres Konkurrenzprodukt. Nebenbei sind die
Entwickler des Hamsters auf keinerlei Verständnis angewiesen, es ist ein
Open-Source-Werk, welches für lau zur Verfügung gestellt wird. Hast du
eigentlich für MS mehr Verständnis? Was die ohne Nachfragen machen,
halte ich für bedeutend fahrlässiger.

>> Hamster versucht auf Abstürze zu verzichten - und was soll er deiner
>> Meinung nach prüfen und wie auf welches Prüfergebnis reagieren, wenn er
>> nicht davon ausgehen kann, daß auch nur ein Monitor angeschlossen ist?

> Es besteht ja die Möglichkeit, das Gruppen-Root-Verzeichnis auf
> einen anderen Pfad zu legen. Hierbei können immer Fehler auftreten,
> sodass der Hamster das Vorhandensein des Verzeichnisses "Groups"
> prüfen sollte. keiner verlangt, dass er jede Gruppe prüfen soll.

Beim Erststart fehlt das Verzeichnis immer. Ebenso die meisten anderen
Verzeichnisse.

> Wenn selbst das Verzeichnis "Groups" fehlt, sollte der Hamster IMO
> davon ausgehen, dass ein Fehler vorliegt und seine Aktivitäten anhalten.

Welche Aktivitäten? Server-Funktionalität? Skriptaufrufe? Menüaufrufe?
OLE-Zugriffe?

> Wenn der Hamster gestartet wird, ist meistens damit zu rechnen, dass
> gerade jemand auf den Bildschirm starrt.

Fein, dann sieht er ja demnächst die gelben Warnungen.

>>> Warum? Ich finde die gehören gerade dort hin.

>> Kannst du garantieren, daß Hamster nicht selber mal Dateien dieses
>> Namens dort anlegen will?

> Nein, aber ich könnte meine dann umbenennen.

Und hoffen, daß Hamster nicht auf einen für ihn kaputten Inhalt seiner
Dateien unwirsch reagiert.

>> Zudem erschwerst du das Löschen von Gruppen,
>> da Hamster nur ihm bekannte Dateien löscht und daher das Gruppen-
>> verzeichnis nicht löschen kann, wenn du noch weiteres reinpackst.

> Oh, das erste Argument!

Sorry.

>> Warum eine künstliche Unterscheidung?

> Weil ich auf einer CD-ROM nicht schreiben kann ;-)

Warum eine künstliche Unterscheidung, wenn du beides gleich behandeln
kannst?

> Ich habe doch nun wirklich oft genug mitgeteilt, dass man bei mir alles
> einstellen kann...

Inzwischen ja.

> Man muss MS nicht alles glauben. Wo schreibt man denn besser Daten hin,
> die man mit anderen Anwendungen teilt?

Die meisten Daten teilt man nicht mit anderen Anwendungen. Wenn man das
teilen will, ist ein einzelner Verweis in der Registry aber eine
durchaus sinnvolle Möglichkeit, die Daten selber müssen dort aber nicht
wirklich lagern.

> Nein. Für mich gehören Daten in die Registry, mit denen ich anderen
> Anwendungen irgendwas mitteile. Meine eigenen daten schreibe ich
> auch nicht in die Reg.

Klingt doch schon nachvollziehbarer.

>> Stell Dir mal vor, die meisten Programme schreiben nur wenige zentrale
>> Schlüssel rein, den Rest in ihr Programmverzeichnis und die Registry
>> bleibt rank und schlank...

> Das muss ich mir nicht vorstellen, weil dies IMO so sein muss.
> Ganz besonders gehen mir die Shareware-Entwickler auf den
> Keks, die dort an zig Stellen ihre Verfalldaten reinschmieren.

Damit dürfte dir vielleicht auch die hier (und in den Delphi-Gruppen)
vorherrschende Anti-Registry-Stimmung verständlicher werden.

>> Ok, dank den MS-Anwendungen wird das nicht passieren.

> Du würdest staunen, wie gross meine Reg. ist und wie viele MS-Programme
> ich installiert habe.

Das mag sein. Größen sind relativ.

Thomas G. Liesner

unread,
Mar 8, 2002, 1:10:04 PM3/8/02
to
Klaus Ketelaer schrieb:
> Das geht doch in VB viel besser. Vernünftig programmiert, wird ein
> Bruchteil Deiner Daten erfordelich. Wenn ein Kunde von mir _meine_
> Runtime installiert hat (Meine Basis-Klassen und Komponenten) ist das
> eigentliche Programm sehr klein. Auf der Downloadseite für meinen
> Offlinereader steht ein Voll-Setup mit etwa 5 MB und ein Update mit 500
> K. Dazu kommt, dass ich bei diesem Projekt alle Komponenten inline
> verwende und daher die EXE relativ gross ist.

Zur Information: Bei Delphi kann auch mit Runtime-Packages gearbeitet
werden. Wieviel % der Anwendung runtime (bpl) und wieviel EXE ist, liegt
100%ig im Ermessen des Entwicklers. Ich selber halte wenig von Runtimes
und verwende sie nie.

> Zudem steht hinter meiner Anwendung ein DBMS.

Etwas genauer: Access.

> Zudem könnte eine saubere Deinstallations-Routine beim Hamster
> so oder so niemals korrekt funktionieren.

-v

> Ja, bei Anwendungen wie HamNews, wo ich trotz Helpfile nix verstehe.
> Lieber ein wenig Ergonomie (Einheitliche GUIs = Delphi-Fremdwort?)

In Delphi kann man praktisch jedes GUI erzeugen - ich selber beschränke
mich soweit wie möglich auf Windows-Standard-Komponenten in Standard-
Optik, wie du beim Hamster erkennen dürftest. Wer auf XP-Optik o.ä.
steht, kann auch dazu passende Komponenten finden.

> und gesunder Menschenverstand, als ein englisches Helpfile mit
> englischer Oberfläche aus deutscher Hand. Mach es gleich mehrsprachig,
> oder bringe deinen Landsleuten etwas Respekt entgegen, indem Du deine
> Muttersprache verwendest. Sollen sich die Amis doch auchmal ärgern...

Da ist schon etwas Wahres dran. Einer meiner ersten Groß-Aktionen beim
Hamster - die Internationalisierung statt der rein englischen Oberfläche
- fand nicht nur Freunde. Dafür ist die englische Hilfe inzwischen
unglaublich veraltet.

> Ich habe etliche Reader getestet und eigentlich alle auf Anhieb
> verstanden. Outlook-Express habe ich am schnellsten verstanden.

Logisch. Minimaler Funktionsumfang und gewohnte MS-Optik. Wenn du von
einem anderen System bekommen wärest, käme dir OE vermutlich alles
andere als einfach vor, mir erscheint er umständlich und bevormundent.

>>> viele Anwender denken, dass man Programme per Delete deinstalliert.

>> *NAK*.
>> Sicherlich nicht.

> 90 Prozent meiner privaten Bekannten...

Dann ist es doch gut, wenn sich der Schaden dadurch in Grenzen hält.

Thomas G. Liesner

unread,
Mar 8, 2002, 12:30:19 PM3/8/02
to
Heiko Studt schrieb:

> NAK. Was willst du mit einem Server, den du nicht verwenden kannst?
> Du hast z.B. noch keinen Benutzer angelegt bzW Passwort für Admin...

Klingt durchaus unschädlich.

Juergen Haible

unread,
Mar 8, 2002, 1:31:25 PM3/8/02
to
Heiko Studt:

> 'Cause Juergen Haible's words, I thought of...
>

>> d e i n s t a l l i e r e n ließe!
>
> Wow.
> Das habe ich noch gar nicht gewußt. Muß ich jetzt nachsitzen? ;-)

Nein, die Wartezeit auf GoldFinds "unregserver"-Treffer dürfte
schon Strafe genug sein ... <eg>

-jh-

--
Kleine Korrektur, Ehre wem Ehre gebührt: Die erste "unregserver"-
Erwähnung in meinem Datenbestand stammt von Heiko Rost (6.1.2000).

Juergen Haible

unread,
Mar 8, 2002, 1:31:25 PM3/8/02
to
Joern Weber:

> Juergen Haible <juergen...@t-online.de> schrieb/wrote:


>
>> Richtige Hamster-User [tm] verdrängen sowas natürlich, aber irgend-
>> jemand streut so ca. einmal jährlich das wilde Gerücht, daß sich
>> ein Hamster mit der Aufrufoption "/unregserver" in vielen Fällen
>> - Und jetzt müßt ihr wirklich ganz tapfer sein! - rückstandsfrei
>> d e i n s t a l l i e r e n ließe!
>
> -verbose

Ach komm, so schlecht war der Witz nun auch wieder nicht ...

> Ist das eine Playground Spezialität?

Ah, das "/unregserver" meinst Du, Glück gehabt ... ;-)

Nein, Playground ist inzwischen gänzlich OLE-frei, das ist eher eine
Delphi-Spezialität. Es steckt in irgendeinem initialization-Abschnitt
der OLE-units, vermutlich in der gleichen dunklen Ecke wie auch die
Registrierung ("/regserver" gibt es BTW auch). Mit Classic .120 geht
es zumindest noch, das hatte ich hier zuvor noch kurz ausprobiert.

-jh-

--
| - Comment je desinstalle Hamster de ma premiére machine ?
| Ouvrez une fenętre Commande Ms-Dos, allez dans le dossier racine
| d'hamster, tapez la commande "hamster /unregserver" (sans les
| guillemets) et effacez le dossier. [französische Hamster-FAQ]

Joern Weber

unread,
Mar 8, 2002, 2:32:17 PM3/8/02
to
Klaus Ketelaer <klaus.k...@t-online.de> schrieb/wrote:

> "Thomas G. Liesner" <t...@gmx.de> schrieb:
>

>> Klaus Ketelaer schrieb:


> Ich habe ein VB-Projekt geöffnet und die Schnittstelle implementiert.
> danach habe ich einmal kompiliert und dann das Hamsterverzeichnis
> umbenannt. Anschließend ist die Test.exe abgestürzt (ohne etwas
> über die Schnittstelle zu machen) und anschliessend die VB-IDE
> ebenfalls.

Die beste Methode einen in VB geschrieben OLE-Clienten zu blockieren, ist
ihm eine Verbindung zu einem Server aufbauen zu lassen, und dann bei
weiterhin *bestehender* Client-Verbindung den Server zu verschieben. Der
Client bekommt dann nicht mit, dass der Server jetzt an anderer Stelle
arbeitet und läuft dann in ein elend langes Timeout. Irgendwann meldet
sich den der OLE-Dispatcher und teilt dir mit das der Server nicht
erreichbar ist. Wenn du nach dem Verschieben des Servers aber erst den
Server und dann den Client neu startest hast Du keine Probleme.

Gruss Joern Weber

Joern Weber

unread,
Mar 8, 2002, 2:22:17 PM3/8/02
to
Hi

Juergen Haible <juergen...@t-online.de> schrieb/wrote:


> Joern Weber:
>
>> Juergen Haible <juergen...@t-online.de> schrieb/wrote:
>>
>>> Richtige Hamster-User [tm] verdrängen sowas natürlich, aber irgend-
>>> jemand streut so ca. einmal jährlich das wilde Gerücht, daß sich
>>> ein Hamster mit der Aufrufoption "/unregserver" in vielen Fällen
>>> - Und jetzt müßt ihr wirklich ganz tapfer sein! - rückstandsfrei
>>> d e i n s t a l l i e r e n ließe!
>>
>> -verbose
>
> Ach komm, so schlecht war der Witz nun auch wieder nicht ...

Und ich dachte schon du hättest schon wieder mal gezaubert.

>> Ist das eine Playground Spezialität?
>
> Ah, das "/unregserver" meinst Du, Glück gehabt ... ;-)
>
> Nein, Playground ist inzwischen gänzlich OLE-frei, das ist eher eine
> Delphi-Spezialität. Es steckt in irgendeinem initialization-Abschnitt
> der OLE-units, vermutlich in der gleichen dunklen Ecke wie auch die
> Registrierung ("/regserver" gibt es BTW auch). Mit Classic .120 geht
> es zumindest noch, das hatte ich hier zuvor noch kurz ausprobiert.

classic .130 + WinXP

2002.03.08 20:02:36 {7a0} Invalid parameter: "/unregserver"
2002.03.08 20:02:36 {7a0} Invalid parameter: "/regserver"


btw. Wieso sollte paramstr nicht transparent sein. Ich habe leider keine
OH zu TComServer und meine Bücher schweigen sich zu diesem Kommandozeilen-
Parametern aus.

Joern Weber

unread,
Mar 8, 2002, 3:49:07 PM3/8/02
to
Hi

Klaus Ketelaer <klaus.k...@t-online.de> schrieb/wrote:

> "Joern Weber" <lis...@joernweber.de> schrieb:

>> Klaus Ketelaer <klaus.k...@t-online.de> schrieb/wrote:
>>
>>> Was zu beachten oder zu tun ist, kann nur von den Enzwicklern
>>> entschieden werden.
>>
>> Nein. Jeder Maintainer einer Hamster-Distributation entscheidet das für
>> sich selber. TGL für den classic Hamster, Jürgen Haible für seinen
>> Playground usw.
>

> Hmmm, was kannst Du damit gemeint haben?
> Was gibt es denn ausser dem hamster noch?

Es gibt verschieden Hamster-Rassen mit unterschiedlicher Zielstellung.

1. classic Hamster ist der Mainstream (Thomas G. Liesner)
2. playground Hamster technisches ausgelegte weiterentwickelte Version
ohne Doku und Lokalisierung (Jürgen Haible)
3. Enhanced Hamster zu versuchszwecke von Heiko Studt
4. Lokale Hamster mit speziellen Feature in Frankreich und Polen
5. Wegen der sprache gepatchter Hamster in Japan

Joern Weber

unread,
Mar 8, 2002, 3:40:06 PM3/8/02
to
Hi

Klaus Ketelaer <klaus.k...@t-online.de> schrieb/wrote:

> "Joern Weber" <lis...@joernweber.de> schrieb:
>


>>> "Joern Weber" <lis...@joernweber.de> schrieb:
>>
>>>> Du weist ja, ein Newsreader zu schreiben ist eine Lebensaufgabe.
>>
>>> Die rudimentären Funktionen stehen soweit und müssen nur noch
>>> gefixt werden. Im Grunde geht es aber primär um die Darstellung
>>> der Suchergebnisse, welche direkt im Thread angezeigt erden soll.
>>
>> Und wie stellst Du Unicode und exotische Zeichensätze dar?
>

> So wie Goldfind ;-)

Also die üblichen Einschränkungen

>> 1. Der Aufwand ist Unverhältnismässig hoch gegenüber dem relativ geringen
>> Nutzen. Es müsste die aktuelle Lib (VCL) für die notwendigen
>> Datei-Funktionen ersetzt werden.
>

> Ich habe das so vor 2 Jahren gemacht und an einem Tag abgefackelt.
>
> CloseHandle
> OpenFile
> GetFilesize
> SetFilePointer
> ReadFile
> WriteFile
>
> Viel mehr ist es eigentlich nicht, wenn die Dateizugriffe gekapselt ist.

Die Kapselung der Zugriffe und die Änderung der Bestehenden Routine ist
die eine Seite, ein Konzept welches gewährleistet, das die daten noch
handhabbar sind ist die andere Seite. Das Putzen muss dann z.b. angepasst
werden und das Index-Konzept eventuell massiv erweitert werden. Was nützt
mir eine riesige Datenbank wenn ich ein XOVER nicht schnell genug am
lokalen Server den Clients liefern kann.


>> Diese Ansprüche an die Sicherheit sind eigentlich Konsens hier in der
>> Community. Wir wollen nicht die Fehler machen, die M$ uns vor macht. Aber
>> selbst M$ scheint aufzuwachen und hat deswegen zu gunsten der Sicherheit
>> die Entwicklung von .Net und C# ausgesetzt.
>

> Hast Du hierzu vielleicht einen Link?

Nein, die Quelle hierfür ist eine Äusserung von Steve Balmer.

> Es geht ja weniger um die unterschiedlichen Meinungen, sondern
> eher darum, wie sie vertreten werden. Probleme mit Zugriffsrechten
> auf die Registry kann ich nachvollziehen. Andere, wild konstruierte
> Beispiele bringen mich zum verzweifeln...

Du wirst bald wissen wessen Äusserungen wie zu verstehen sind.

> Man wird es sich kaum vorstellen können, aber ich weiss schon, was ich
> mache. In diesem Jahr habe ich mein zwanzigjähriges Jubiläum als PC-
> verwickler.

Na dann dürften wir ein ähnliches Alter haben.

>>> Ich akzeptiere Eure Werkzeuge, also akzeptiert auch meine...
>> He, ich habe nichts gegen VB. Delphi hat auch seine Macken.
>

> Die Seitenhiebe kommen doch ständig (nicht von Dir)

Die sind aber nicht als Diskussion um den längeren Schwanz zu verstehen.
Jeder ernsthafte Programmierer denkt sich etwas bei der Wahl seiner
Werkzeuge. Aber letztendlich ist es egal ob man C,Pascal oder Basic
verwendet, wichtig ist nur das man das Werkzeug so gut beherrscht, das man
nicht an den kleinsten Hürden scheitert.

> Es kommt darauf an, wie man in VB programmiert.

Ack.

Juergen Haible

unread,
Mar 8, 2002, 6:56:00 PM3/8/02
to
Klaus Ketelaer:

> Wo kann ich Dein[tm] Teil denn runterladen?

http://juergen.haible.bei.t-online.de/

-jh-

Juergen Haible

unread,
Mar 8, 2002, 6:56:00 PM3/8/02
to
Joern Weber:

> classic .130 + WinXP
>
> 2002.03.08 20:02:36 {7a0} Invalid parameter: "/unregserver"
> 2002.03.08 20:02:36 {7a0} Invalid parameter: "/regserver"

Classic .130 + NT4:

| P:\test\Bin23-1> hamster /unregserver
|
| P:\test\Bin23-1>

=> Registry-Einträge sind weg (Hamster startet in diesem Fall nicht).

> btw. Wieso sollte paramstr nicht transparent sein.

Diese speziellen Parameter werden abgefangen, umgesetzt und dann
wird das Programm gleich wieder per "Halt" beendet.

Soweit die Theorie ... Adminrechte/Registryschreibrechte? Dienst-
Hamster noch aktiv? Die originale "ComServ"-Unit (AFAICS wird es
dort im initialization-Abschnitt abgewickelt)? ... sonst fällt mir
gerade nichts dazu ein.

> Ich habe leider keine OH zu TComServer und meine Bücher schweigen
> sich zu diesem Kommandozeilen-Parametern aus.

In der OH steht nicht viel mehr drin, außer daß es sie gibt, z. B.:

| Mit dem folgenden Schritt heben Sie die Registrierung eines
| Out-of-Process-Servers auf:
| - Starten Sie den Server mit der Kommandozeilenoption /unregserver.

-jh-

Thomas G. Liesner

unread,
Mar 8, 2002, 4:59:15 PM3/8/02
to
Klaus Ketelaer schrieb:
> Ich kann mit VB CreateObject und Dim H as New HamsterApp, etc.
> nutzen. Damit hätte ich aber schlechter demonstrieren können, was
> mit solchen Reg-Resten geschehen kann.

Also geht es doch. Sorry, aber statische Bindung bei nicht funktions-
relevanten Programmbereichen ist Dämlichkeit des Programmiers und zeigt
wenig bis nichts.

> Das sehe ich anders. Bei einem Absturz bölkt der Kunde. Bei einer
> entsprechenden Fehlermeldung kann ich bölken ;-)

Also würden die meisten Kunden den Unterschied zwischen Meldung, Absturz
und blauem Bildschirm wirklich verstehen...

>>> Was ist daran eine Beleidigung? Egal welche Anwendung ich öffne: VB,
>>> Word, Frontpage, .... Überall wo ich die Option "Objekt einfügen" wähle
>>> erscheint die Hamster-Schnittstelle als einfügbares Objekt.
>>> Es ist numal Arbeit, einen Deinstaller zu schreiben. Wenn Du darin eine
>>> Beleidigung siehst, dann ist das Dein Bier.

>> Die forderst unterschwellig, deine spezifischen Bedürfnisse zu erfüllen.

> Nein, ich stelle mir nur vor, dass ich in der Liste der einfügbaren
> Objekte viele solcher Einträge habe. Was dann?

Dann wird es leicht unübersichtlich.

>> Den nicht weggeräumten OLE-Server und die 2 GB-Grenze haben noch nicht
>> wirklich viele Benutzer bemängelt - bzgl. der 2 GB-Grenze kein halbes
>> Dutzend in den letzten Jahren und beim OLE-Server fällt mir niemand
>> anders ein. Und entsprechende Bemerkungen a la "Ist aber Arbeit", die
>> deutlich nach "Ihr macht ja nur, worauf ihr Bock habt, dass, was MIR
>> wichtig ist, ist euch ja viel zuviel Arbeit" klingen, fördern meine
>> Arbeitslust in keiner Weise.

> Darum geht es nicht. Der Eintrag des Servers scheint sich ja doch
> entfernen zu lassen. was spricht dagegen, mal eben ein Uninstall.bat
> mit ins Verzeichnis zu stellen.

Das es versehentlich angeklickt wird, daß es ohne Zusatz-EXE o.ä. den
Server nicht entfernen kann, keine sinnvollen Rückfragen stellen kann,
der Anwender vergisst, vorher den Hamster zu beenden...

> Mit der 2 GB-Grenze hast Du diesmal
> angefangen und ich habe nur meine Meinung dazu gesagt.

Die Meinung ist auch ok, bei der Ausdrucksweise muß man in solchen
Fällen immer ein wenig aufpassen, wenn man niemanden auf den Schlips
treten will.

> Pardon, es war der Joern. "Ihr bezeichnet" könnte auch "Einer oder zwei
> von Euch" lauten. Ich stehe hier ja irgendwie einer gegen alle und
> verwexel da schon mal die Sender ;-)

Ack, den Hinweis konnte ich mir trotzdem nicht verkneifen.

>>> und Du regst Dich über einen kleinen Seitenhieb mir Gremlin auf?
>> Den hinteren Satzteil habe ich nicht verstanden.

> Übersetz es als Smilie...

OK.

>>> Wenn Du VB nicht magst, wie wäre es mit MS-C++ und MFC?

>> Könnte ich hier nicht kompilieren. Und bis auf Treiber o.ä. gibt es
>> wenig, was nicht in Delphi mit weniger Aufwand und vergleichbarem Tempo
>> geschrieben werden kann. Daß die MFC nicht viel taugt, ist auch nichts
>> neues, nicht umsonst schickt MS sie mit .NET aufs Altenteil.

> Gibt es etwas ausser Delphi und VCL, das was taugt?

Delphi kann keine Treiber erzeugen, ist auf Win-32-Bit bzw. dank Kylix
auf Linux mit 80x86-kompatiblen Prozessoren beschränkt, hat keine Tem-
plates, ist für Expertensysteme o.ä. nicht die optimale Sprache, ist für
CGI-Anwendungen bei Billig-Providern nicht nutzbar, ist in einer akzep-
tablen Fassung (Professionell) für den Privatgebrauch schweineteuer,
hängt vom Überleben einer einzigen Firma ab, hat keine so breite
Unterstützung an professionellen Zusatzsystemen wie C(++)...

Unter Windows für zumindest 90% der Anwendungen sehe ich kein besseres
Entwicklungssystem, für einfaches Skripting, Web-Inhalte, ernsthaft
Plattform-übergreifende Anwendungen, sehr systemnahe Geschichten und
Spezialbereiche gibt es mit Sicherheit bessere Möglichkeiten.

VB krankt an allen oben genannten Problemen plus einer schlechteren
Grund-Sprache, einem zu guten Teilen undurchdachten Design, zuviel
Black-Box-Automatismen, schlechterer Performance (speziell
String-Operationen), einer zu starren Trennung zwischen Entwurf und
Runtime und mangelnder Zukunft, da VB und VB.net zwei verschiedene
Sprachen sind. VB.Net soll besser sein, aber gegenüber C#.Net deutlich
funktionell eingeschränkt.

C(++) erlaubt extrem viele Schweinereien im Code, die MFC ist praktisch
mit dem API identisch d.h. extrem unkomfortabel gegenüber einer besser
abstrahierenden Objektbibliothek wie der VCL.

Die Kombination aus VB und C++ ist erstaunlich beliebt, auch wenn ich
für mich keine Vorteile gegenüber Delphi entdecken kann.

Java hat Kompatibilitätsprobleme durch Detailunterschiede diverser
Implementierungen, die Performance ist ebenfalls sehr von der
Implementierung abhängig und allzu klein fällt Java mit dem ganzen
Runtime-Geraffel auch nicht gerade aus.

Perl ist schön, solange der Code nicht gewartet werden muß und nicht zu
groß wird.

Ada ist das Evangelium von Donnerhacke, hat technisch einige Stärken,
inwieweit man gute Entwicklungsumgebungen und Klassenbibliotheken
findet, weiß ich nicht.

Zu den restlichen 7.000.000 Sprachen kann ich dir keine spezielle
Meinung mitteilen, da ich von denen noch weniger Ahnung habe.


>>>> Welche MS-Anwendung kannst du ohne heftige Änderungen in der Registry
>>>> verschieben?

>>> Mit Magic-Mover eigentlich jede ;-)

>> Also keine dir bekannte.

> Doch schon: Notepad, Paintbrush, Regedit...

_Anwendung_, nicht _Zubehör_.

>> hast du bislang auch ignoriert: Der Gruppenpfad ist NICHT als
>> Hamsterpfad\Groups definiert, sondern durch Main und Groups in der
>> hamster.ini im Directorys-Abschnitt.

> Warum tragt ihr den Schlüssel dort nicht ein?

Wo jetzt?

> Wenn er nicht angegeben ist, muss ich halt von Groups ausgehen.

Hamster richtet sich nach der INI - diese kann auf ein anderes
Verzeichnis verweisen, in dessen Ini man dann den (ggf. relativen) Pfad
findet.

>> Du konstruierst, daß man die Plattenstruktur ändert, aber keinen prakti-
>> schen Test folgen läßt und dann auf die Schnauze fallen kann. Der größte
>> mögliche Schaden ist, daß er mehr oder weniger viele Nachrichten doppelt
>> holt und setzt einige Vorarbeit voraus.

> Ja, es sind immer die anderen...

Otto Normaluser wird vielleicht das Gesamtverzeichnis verschieben, aber
keinen einzelnen Unterordner.

>> Ich warte auf dein gesprächigeres Konkurrenzprodukt. Nebenbei sind die
>> Entwickler des Hamsters auf keinerlei Verständnis angewiesen, es ist ein
>> Open-Source-Werk, welches für lau zur Verfügung gestellt wird.

> Kennst Du den Satz: Muss ich mal drüber nachdenken?

Gute Frage, muss ich mal drüber nachdenken.

>> Hast du eigentlich für MS mehr Verständnis? Was die ohne Nachfragen
>> machen, halte ich für bedeutend fahrlässiger.

> Ich kritisiere alles, was ich für falsch halte.

Gut, klang nicht so.

>> Beim Erststart fehlt das Verzeichnis immer. Ebenso die meisten anderen
>> Verzeichnisse.

> Beim Erststart gibt es noch keine Gruppen, was man so interpretieren
> kann, dass das Fehlen von \Groups\ OK ist.

Wäre durchaus eine mögliche Interpretation.

>>> Wenn selbst das Verzeichnis "Groups" fehlt, sollte der Hamster IMO
>>> davon ausgehen, dass ein Fehler vorliegt und seine Aktivitäten anhalten.

>> Welche Aktivitäten? Server-Funktionalität? Skriptaufrufe? Menüaufrufe?
>> OLE-Zugriffe?

> Alles... Ich würde einen Verzeichnis-Dialog aufgehen lassen.

Passt IMHO nicht ins jetzige Konzept.

>> Fein, dann sieht er ja demnächst die gelben Warnungen.

> Er hat sich abgewöhnt dort hinzusehen, weil er als OjE-Nutzer weiss,
> was dort zu erwarten ist... Wie wäre es mit Rot?

Das gibt es, wenn der Pfad nicht anlegbar ist.

>>>>> Warum? Ich finde die gehören gerade dort hin.
>>>> Kannst du garantieren, daß Hamster nicht selber mal Dateien dieses
>>>> Namens dort anlegen will?

>>> Nein, aber ich könnte meine dann umbenennen.

>> Und hoffen, daß Hamster nicht auf einen für ihn kaputten Inhalt seiner
>> Dateien unwirsch reagiert.

> Dann sind wir wieder beim Benutzerdialog...

Du meinst, er sollte vor der Nutzung der data.dat auch erst mal schauen,
ob die Struktur der erwarteten entspricht?

>> Warum eine künstliche Unterscheidung, wenn du beides gleich behandeln
>> kannst?

> Das kann ich nach meinem Konzept eher nicht...
> Aber nur für Dich, habe ich mir gerade in meiner Wish-Liste notiert
> das zu parametisieren...

Thanx.

>>> Ich habe doch nun wirklich oft genug mitgeteilt, dass man bei mir alles
>>> einstellen kann...

>> Inzwischen ja.

> Warum versteht es dann keiner?

Newslaufzeiten oder unaufmerksames Lesen etlicher mehr-100-zeiliger-
Postings.

> Beispiel:
> HKEY_LOCAL_MACHINE\SOFTWARE\HAMSTER oder
> HKEY_CURRENT_USER\SOFTWARE\HAMSTER
> Path "C:\Programme\Hamster"
> Version "1.3.23.4"
> Groups "Groups"
> Würde mir erlauben, meine Parameter auf dem üblichen Weg zu
> ermitteln.

Durchaus sinnvoller Vorschlag, der aber beim Löschen den Reg-Müll
erhöht...

>> Damit dürfte dir vielleicht auch die hier (und in den Delphi-Gruppen)
>> vorherrschende Anti-Registry-Stimmung verständlicher werden.

> Ja, aber man kann sie nicht ganz ignorieren. Sieh Dir mein
> Beispiel an und sage mir, was dagegen spricht.

Das nicht vorhandene De-Installations-Programm.

>>>> Ok, dank den MS-Anwendungen wird das nicht passieren.
>>> Du würdest staunen, wie gross meine Reg. ist und wie viele MS-Programme
>>>> ich installiert habe.

>> Das mag sein. Größen sind relativ.

> Ja, 2 GB ist relativ klein ;-)

Ernsthaft?

Thomas G. Liesner

unread,
Mar 8, 2002, 6:14:01 PM3/8/02
to
Klaus Ketelaer schrieb:
>> Also die üblichen Einschränkungen

> Nein, schon deutlich gründlicher. Fällt Dir so aus dem Stehgreif
> eine NG ein, wo viel Unicode verwendet wird? Dann könnte ich
> das mal checken.

Unterstützung für ISO-8859-15 ist zumindest allmählich relevant.

Thomas G. Liesner

unread,
Mar 8, 2002, 4:37:11 PM3/8/02
to
Klaus Ketelaer schrieb:

> "Thomas G. Liesner" <t...@gmx.de> schrieb:
>> Zur Information: Bei Delphi kann auch mit Runtime-Packages gearbeitet
>> werden. Wieviel % der Anwendung runtime (bpl) und wieviel EXE ist, liegt
>> 100%ig im Ermessen des Entwicklers. Ich selber halte wenig von Runtimes
>> und verwende sie nie.

> Sie können recht praktisch sein, wenn Du bei einem Kunden mehrere
> Anwendungen installiert hast. Ansonsten: Ist nicht Windows an sich
> eine einzige Runtime? Was wird mit .Net?

Korrekt. Aber da der Gesamthamster gezipet immer noch unter 2 MB groß
ist, sehe ich da kein ernsthaftes Problem.

>> In Delphi kann man praktisch jedes GUI erzeugen - ich selber beschränke
>> mich soweit wie möglich auf Windows-Standard-Komponenten in Standard-
>> Optik,

> Das ergibt ja auch Sinn. Ich kupfere immer voll Office ab...

Welchem? Die erneuern doch mit jede Version ihre Optik...

>> wie du beim Hamster erkennen dürftest.

> Ja, die Optik ist Ok, obwohl ich mir noch eine Toolbar mit den
> wichtigsten Funktionen wünschen würde.

Hat eher niedrige Priorität.

>> Wer auf XP-Optik o.ä. steht, kann auch dazu passende Komponenten finden.

> Ich sag mir, dass das vom BS umgesetzt werden muss. XP-Optik
> unter W98 ist ja wohl ätzend...

Ack.

>> Da ist schon etwas Wahres dran. Einer meiner ersten Groß-Aktionen beim
>> Hamster - die Internationalisierung statt der rein englischen Oberfläche
>> - fand nicht nur Freunde.

> Warum, das ist doch nur von Vorteil. Es sollte nur nicht lästig sein.
> (Koreanische Handbuchübersetzungen ;-))

*Grusel*

>> Dafür ist die englische Hilfe inzwischen unglaublich veraltet.

> Ich vertrete die Auffassung, dass eine gute, konforme und verständliche
> GUI schon fast gewonnen hat. Frag mich mal, wie oft ich die Hamster-
> Hilfe aufgerufen habe...

Relativ selten?

>>>>> viele Anwender denken, dass man Programme per Delete deinstalliert.
>>>> *NAK*.
>>>> Sicherlich nicht.
>>> 90 Prozent meiner privaten Bekannten...
>> Dann ist es doch gut, wenn sich der Schaden dadurch in Grenzen hält.

> ROFL...
> Die holen ihre Recovery-CD monatlich aus der Schublade.

*Grusel*

Heiko Studt

unread,
Mar 8, 2002, 6:16:14 PM3/8/02
to
'Cause Juergen Haible's words, I thought of...
> Ach komm, so schlecht war der Witz nun auch wieder nicht ...

Schlecht nicht, aber unverständlich...
Ich habe allen Ernstes geglaubt, daß ich etwas übersehen hätte.
Hättest du als Datum "2010 19-04" genommen, dann hätte ich es auch gemerkt,
aber so...

> > Ist das eine Playground Spezialität?
> Ah, das "/unregserver" meinst Du, Glück gehabt ... ;-)

> Nein, Playground ist inzwischen gänzlich OLE-frei, das ist eher eine

Aha.
Muß ich meine Seite eigentlich aktualisieren, aka hast du deine neue Version
bereits offiziell upgeloaded?

> Delphi-Spezialität. Es steckt in irgendeinem initialization-Abschnitt
> der OLE-units, vermutlich in der gleichen dunklen Ecke wie auch die
> Registrierung ("/regserver" gibt es BTW auch). Mit Classic .120 geht
> es zumindest noch, das hatte ich hier zuvor noch kurz ausprobiert.

Aha...

| - Comment je desinstalle Hamster de ma premiére machine ?

| Ouvrez une fenêtre Commande Ms-Dos, allez dans le dossier racine


| d'hamster, tapez la commande "hamster /unregserver" (sans les
| guillemets) et effacez le dossier. [französische Hamster-FAQ]

Kann mir das jemand bitte übersetzen?
Mein Schul-Latein hat selbst für Lateinische texte nicht ausgereicht... <g>


MFG

--
Heiko Studt

Heiko Studt

unread,
Mar 8, 2002, 6:11:14 PM3/8/02
to
'Cause Klaus Ketelaer's words, I thought of...

> Sie können recht praktisch sein, wenn Du bei einem Kunden mehrere
> Anwendungen installiert hast. Ansonsten: Ist nicht Windows an sich
> eine einzige Runtime? Was wird mit .Net?

.Net wird von Delphi 6 nicht verwendet.
Ob Delphi 7 auf den Zug aufspringt steht in den Sternen. <gg>

> Das ergibt ja auch Sinn. Ich kupfere immer voll Office ab...

Ooh Graus... :-P
Ich haße deren Layout mehr als vieles anderes.
Ich verwende _immer_ ein Layout, das für mich möglichst intuitiv ist. (mehr
oder weniger). Bei OLE-Hamnews z.B. habe ich bewußt die 4-bzW 3-teilung der
Gruppen/Overview und Artikel-Anzeige gewählt.

> > wie du beim Hamster erkennen dürftest.

> Ja, die Optik ist Ok, obwohl ich mir noch eine Toolbar mit den
> wichtigsten Funktionen wünschen würde.

Hol' dir den polnischen und AFAIR französischen Hamster. :-P
Ich kann zumindestens darauf verzichten.

> > Dafür ist die englische Hilfe inzwischen unglaublich veraltet.

> Ich vertrete die Auffassung, dass eine gute, konforme und verständliche
> GUI schon fast gewonnen hat. Frag mich mal, wie oft ich die Hamster-
> Hilfe aufgerufen habe...

Und *du* verlangst allen Ernstes eine technische Dokumentation jedes
Standards und Dateiformat des Hamsters?
Wenn ich jetzt noch deinen Nachsatz interpretiere: Kein Mal.
Und woher weißt du dann, daß das Dateiformat der Newsdaten dort nicht stehen?
OhGottOhGraus. ;-)
Lies' dir wengistens Inhalt|Schnittstelle zu anderen Programmen (OLE) durch.
;-P

> Die holen ihre Recovery-CD monatlich aus der Schublade.

Du mußt entweder schwer verständlich oder aber nicht überzeugend genug sein,
daß sie das immer noch müssen.
BTW: 90%? Kannst du vielleicht etwas genauer schätzen?
Ich kenne hier nur eine Familie, die *so* einen sch... macht.
Und einen Jahrgangs 87, der das vor zwei Jahren machte... <gg>


MFG

--
Heiko Studt

Heiko Studt

unread,
Mar 8, 2002, 5:29:32 PM3/8/02
to
'Cause Klaus Ketelaer's words, I thought of...

> Der Rest ist nicht auf die Schnelle erklärbar.
> Suche im MSDN nach "Creating and Implementing an Interface"

Ich habe kein MSDN. ;-P
(Ja ich kenne das komische Ding namens Internet ;-))

Aber jetzt aus dem Titel heraus:
Ich will doch gar kein Interface implementieren und schon gar nicht createn.
Ich will einfach nur OLE aufrufen, sagen "Hallo, gibst du mir bitte
'Hamster.App'? TIA." und dann diesen Fragen, welches Verzeichnis groups hat
usw.
Daß "Hamster.App" in wirklichkeit nur ein Nick ist und eigentlich
"{xxx.xxx.xxx.xxx.xxx}" heißt, kann mir dabei sogar noch egal sein. :-P

> Dort ist das IMO recht gut beschrieben.

Wie man einen ADT/ eine Klasse definiert (zumindestens n Delphi) weiß ich.
Vielleicht verstehe ich aber auch den Titel flasch...


MFG

--
Heiko Studt

Heiko Studt

unread,
Mar 8, 2002, 6:00:23 PM3/8/02
to
'Cause Joern Weber's words, I thought of...

> Es gibt verschieden Hamster-Rassen mit unterschiedlicher Zielstellung.
[...]

Link dazu:
http://www.goldpool.org/projekte/versionen.html


MFG

--
Heiko Studt

Heiko Studt

unread,
Mar 8, 2002, 5:45:53 PM3/8/02
to
'Cause Jens Kordilewski's words, I thought of...

> >> ~188000 Artikeln. Der ist 50 MByte groß.
> > Du mußt (wie Klaus jetzt) aber diesen erstmal erzeugen.
> Der ist schon da. In meinem Fall als Datei auf der lokalen Platte.

Bei Klaus AFAIK nicht wirklich.

> > Und 18.800 Artikel dürften dabei wohl um die 500 Mb groß sein!?
> Ich glaube, du bist da zweimal um eine Kommanstelle verrutscht.

188.000 * 3000 Byte (je Artikel)
==~200*3 Mb
== 600 Mb.

Die Gruppendatei (.dat) dürfte also etwa 500Mb groß sein. :-P

Und darauf wollte ich auch hier hinaus:

> > Die zu lesen und vor allem jeden Einzelnen Artikel zu interpretieren ist
> > nicht wikrlich in 1 s zu schaffen.
> Fürs Threading werden nur die References gebraucht. Ich denke schon, daß
> das in der Zeit zu schaffen ist - passende Algorithmen vorausgesetzt.

Klaus muß nämlich nicht den *Overview* lesen, sondern ersteinmal diesen
erzeugen...


MFG

--
Heiko Studt

Heiko Studt

unread,
Mar 8, 2002, 4:12:18 PM3/8/02
to
'Cause Juergen Haible's words, I thought of...
> > Das habe ich noch gar nicht gewußt. Muß ich jetzt nachsitzen? ;-)
> Nein, die Wartezeit auf GoldFinds "unregserver"-Treffer dürfte
> schon Strafe genug sein ... <eg>

Och wieso denn?
Mit einem frisch ge'purge'ten Hamster mit einer Haltezeit von 1 Tag ist das
doch ein Klacks... :-P


MFG, aber langsam dämmert mir etwas <dickesHilfeBuchAufschlag>
Shit du hast nur gescherzt. :-/
Deine Foullow-Up-Strategie war aber auch 'mal was sie war... :'-(
Trotzdem hast du Recht. Eine Kommandozeilen-Option dürfte das beste und
einfachste sein.

--
Heiko Studt
'Nachschlafend' ;-)

Heiko Studt

unread,
Mar 8, 2002, 4:55:41 PM3/8/02
to
'Cause Klaus Ketelaer's words, I thought of...

> > Nenne bitte noch zwei oder drei Beispiele, ich bin gespannt.
> umbenannt. Anschließend ist die Test.exe abgestürzt (ohne etwas
> über die Schnittstelle zu machen) und anschliessend die VB-IDE
> ebenfalls.

Ich habe jetzt einmal das gleiche mit Delphi gemacht.
(Aber so wie es in der Hilfe beschrieben ist:

Visual Basic:
Dim Hamster as Object
Set Hamster = CreateObject( "Hamster.App" )
MsgBox Hamster.ControlGetInfo
Set Hamster = Nothing


Delphi:
use comobj;
var Hamster: Variant;
Hamster := CreateOleObject( 'Hamster.App' );
writeln( Hamster.ControlGetInfo );
Hamster := Unassigned;

Bei mir:
OnCreate: OleCreate
OnButtonClick: Hamster.Getinfo
OnDestroy: Unassigned

NTW: Joern: Bitte ändere doch 'mal "use" in "uses"... <gg>

Hamster.Exe aufrufen, beenden, verzeichnis umbenennen:
-->(~)OLE kann nicht created werden

Hamster.Exe mittendrin beenden: (während das Programm läuft)
--> (onButtonClick):
-->RPC-Server konnte nicht gefunden werden


Was sagt mir das jetzt?
Und das mich Hamster fragt, ob ich trotz Clienten am OLE-Server beenden will
ist auch nur ein Schmankerl? ;->

> Meine Anwendung schmiert ab. Das ist für mich grauenvoll genug.
> Aber bestimmt liegt das jetzt wieder am VB, weil es dort keine
> Exceptions gibt.

siehe oben.
Oder ich habe dich jetzt grundsätzlich missverstanden.
Der "dokumentierte" Weg ist aber auch benutzt worden.

> >> Nein, IMO muss jede Anwendung installiert und deinstalliert werden,
> >> damit kein Müll zurückbleibt. Aber das wäre ja zusätzliche Arbeit ;-)
> > Auch mit Smiley ist diese Aussage eine handfeste Beleidigung.

Die Beleidigung besteht darin, daß man bei Delphi normalerweise keinen
Deinstaller braucht. Und die zusätzliche Arbeit fiel in diesem Falle deswegen
zu, da TGL zu dieser Zeit (anscheinend!) Jens'es Posting nicht gelesen hatte,
daß es einen API-Aufruf gibt, welcher einen OLE-Server de'registriert.

Wenn man dann noch -jh-'s Vorschlag benutzt und das per Kommandozeile
implementiert ist das dann auch erledigt. TGL, du wolltest doch noch eine
Beta... ;o)

> Was ist daran eine Beleidigung? Egal welche Anwendung ich öffne: VB,
> Word, Frontpage, .... Überall wo ich die Option "Objekt einfügen" wähle
> erscheint die Hamster-Schnittstelle als einfügbares Objekt.

Was willst du in Word damit? ;->
Zumindestens wüßte ich nicht, wie Word die Infos verarbeiten könnte.
Oder wird dabei VBA benutzt? <neugierig>

> Es ist numal Arbeit, einen Deinstaller zu schreiben. Wenn Du darin eine
> Beleidigung siehst, dann ist das Dein Bier.

s.o.

> Wenn Du VB nicht magst, wie wäre es mit MS-C++ und MFC?

Kannst du das? Hast du das?
MFC/MSC kann AFAIK auch Runtime-Unabhängige Programme compilieren.
Wenn du also umbedingt einen Deinstaller haben willst... *eg*
(siehe oben)

> Bitte erinnere Dich, dass mir vorgehalten wurde, dass der Reg-Eintrag
> unsicher wäre, weil Hamster verschoben und noch nicht gestartet sein
> könnte.

Mitlerweile habe auch ich ja eingesehen, daß wir beide den gleichen Path zur
Hamster.Exe benutzen.

> Mein Test war nur auf diesen konstruierten Zustand gemünzt.

Mein Test auch.
Und ich habe die Delphi-Anwendung *nicht* zum Absturz bringen können,
geschweige die Delphi-IDE.

> >> Wenn ein Server, der 150 Gruppen in seinem Bestand hat, nicht merkt
> >> dass ihm jemand die Verzeichnisse geklaut hat, dann ist er [...] .
> > Sprich dich aus. Robust halte ich für kein Schimpfwort.
> Das ist fahrlässig, nicht robust.

NAK.
Woher will er wissen, daß du dies nicht beabsichtigt.

> > Der Hinweis kommt ab nächster Version, aber auch wortkarg halte ich für
> > kein Schimpfwort.
> In Version 37:

[...]

Wie TGL bereits sagte: Es hat sich noch niemand beschwert, und jetzt kommt ja
auch ein Kommentar. Das jetzt umbedingt für alle Version seit 1.3.0.x
nachträglich einzubauen halte ich aber etwas für overrun... <gg>

> Wir reden davon, dass dem Hamster der komplette Gruppenpfad
> abhanden gekommen ist und er kommentarlos weitergemacht hat!

Besser als gar nichts zu sagen. oder kennst du die Frage im "Support" nicht:
Mein NNTP-Server funktioniert nicht!!!111 Repariert das!!!111
(Kein Scherz, solche Leute gibt es wirklich!)

> Für Entwickler die das als "robust und wortkarg" verteidigen kann
> ich keinerlei Verständnis aufbringen.

Du hast nicht verstanden, daß TGL mehr oder weniger erfolgreich einen Scherz
gemacht hat. :-P
Aber ein server hat IMO zu laufen -- egal was passiert.
Damit eben jeder Client darauf zugreifen kann. Notfalls kann man eine
Fehlermeldung senden...

> Es besteht ja die Möglichkeit, das Gruppen-Root-Verzeichnis auf
> einen anderen Pfad zu legen. Hierbei können immer Fehler auftreten,
> sodass der Hamster das Vorhandensein des Verzeichnisses "Groups"
> prüfen sollte. keiner verlangt, dass er jede Gruppe prüfen soll.

ACK.
Das wird anscheinend in der nächsten Beta eingebaut sein. Zufrieden?

> Wenn selbst das Verzeichnis "Groups" fehlt, sollte der Hamster IMO
> davon ausgehen, dass ein Fehler vorliegt und seine Aktivitäten anhalten.

NAK. s.o.

> Wenn der Hamster gestartet wird, ist meistens damit zu rechnen, dass

> gerade jemand auf den Bildschirm starrt. Wie oft wird Windows ohne

NAK!

> Monitor gebootet und der Hamster steht im Autostart? Ja, ok. Das

*Sehr* oft.
Eigentlich in einem Produktiv-System *immer*.

> machen Alle so...

Alle mit einem Netzwerk >10 Compies und einem eigenständigem Server.
Normalerweise darf ein Server nbämlich gar keinen Monitor benötigen/haben.

[gleichen Namen wie du benutzen]


> Nein, aber ich könnte meine dann umbenennen.

Und was soll Hamster dann mit deinen alten machen? ;->
Es existieren dann ja Dateien und für Hamster ist es unmöglich festzustellen,
ob er sie nun erstellt und diese dann kaputt geganeg sind oder ob sie in
einem anderen Format sind.

BTW: Mir fällt gerade dein Argument der Deinstallation ein:
Löscht du auch *jede* Datei diesen Typs in allen Verzeichnissen, in denen du
gewesen warst? oder läßt du etwa auch Rückstände auf der Platte zurück? Und
wie ich dich verstanden habe sind diese nichteinmal klein... :-P

> > Zudem erschwerst du das Löschen von Gruppen,
> > da Hamster nur ihm bekannte Dateien löscht und daher das Gruppen-
> > verzeichnis nicht löschen kann, wenn du noch weiteres reinpackst.

> Oh, das erste Argument! Ja, da werde ich mal drüber nachdenken.

...welches ich auch schon so ähnlich eingebracht hatte. :-P

> Ich habe doch nun wirklich oft genug mitgeteilt, dass man bei mir alles

> einstellen kann... Wie viele gültige Hamsterverzeichnisse wird es auf
> einem Rechner geben? Liege ich mal daneben, muss der Anwender halt

Bei mir im normalen Falle 2 (Normal+Archiv)
Wenn ich gerade Teste und das würde ich auch bei deinem Tool sicherlich,
Teilzeitlich bis zu 5 Hamster.

Viele haben einen Archiv-Hamster neben dem normalen Hamster.

> mal ein paar Mausklicks machen.

Siehe mein Ascii-Art-Posting.

> Man muss MS nicht alles glauben. Wo schreibt man denn besser Daten hin,
> die man mit anderen Anwendungen teilt?

Und wo schreibt man Daten hin, die man nicht mit anderen Anwendungen teilt?

Wie ich bereits sagte: Die Registry ist in Spezialfällen vollkommen in
ordnung und bei weitem besser als System.ini/Win.ini.
Aber für die Einstellungen 'vor Ort' aka für ein Programm, welches nicht
zwischen Usern unterscheidet/n muß ist eine eigenständige INI im
Programm-/Datenverzeichnis bei weitem besser und effizienter.

> Nein. Für mich gehören Daten in die Registry, mit denen ich anderen
> Anwendungen irgendwas mitteile. Meine eigenen daten schreibe ich
> auch nicht in die Reg.

Und was verlangst du von Hamster?
Seine Hamster.Ini gehört auch _komplett_ nicht in die Registry, sondern in
eine Ini. Und du sagst, daß sei veraltet. Und Hamster sei deshalb ein *ALTER*
Server. Zumindesten im O-Ton.

> > Stell Dir mal vor, die meisten Programme schreiben nur wenige zentrale
> > Schlüssel rein, den Rest in ihr Programmverzeichnis und die Registry
> > bleibt rank und schlank...
> Das muss ich mir nicht vorstellen, weil dies IMO so sein muss.

Dann stehst du aber leider alleine da.
Allein was die MS-Programme und die 'großen' Konzern-Programme
hineinschreiben geht kaum auf einem gemeinsammen Hut. ;->

> Ganz besonders gehen mir die Shareware-Entwickler auf den
> Keks, die dort an zig Stellen ihre Verfalldaten reinschmieren.

ACK.
Und das kann man gar nicht cracken. <gg>

> > Ok, dank den MS-Anwendungen wird das nicht passieren.
> Du würdest staunen, wie gross meine Reg. ist und wie viele MS-Programme
> ich installiert habe.

Sag's uns doch einfach. :-P


MFG

--
Heiko Studt

Heiko Studt

unread,
Mar 8, 2002, 5:37:33 PM3/8/02
to
'Cause Klaus Ketelaer's words, I thought of...

> Ja, das mit NT und den Laufwerksbuchstaben ist nett. Aber irgendwie ist
> immer alles was fürn Arsch, wenn ich meine W98-Platte einlege. Daher

Normalerweise benutzt man aber kein Win98 für einen Server, der Raid 0 (?)
verwendet. Nein, auch kein Hardware-Raid.
Denn die gewonnene Sicherheit geht durch Win98 gleich wieder flöten. :-P

> richte ich es auf die alte Art... (Letztens hab ich zwei Tage nur
> umkopiert)

Das ist dann deine Sache, und definitiv nicht die Sache des Hamsters.
Normalerweise ändern sich die Partitionsnamen nicht laufenderweise.
Und wenn, dann hat der Admin grundsätzlich etwas flasch gemacht wenn er sich
wundert, daß Hamster oder eben irgenteine Software nicht auf Anhieb läuft.
Daß jetzt sogar eine Warnung angezeigt wird reicht aber, oder? <gg>

> Danke

Das ich *das* noch erleben darf. ;-)

> [INI ???]
> > 64Kb ist schon lange keine Grenze mehr.
> Für INI-Dateien?
> Kann (z.B.) GetPrivateProfileString jetzt damit umgehen?

k.A., aber in Win2k könnte ich mir das schon vorstellen...

> > Zumindestens kenne ich mindestens einen Ort, wo ich mir dagegen einen
> > Fix/eine Komponente/oder so laden kann... :-P
> Ja, die interpretiert die INI dann als Textdatei... Hat nicht mal
> irgendwer was von sicher gemurmelt?

Das *ist* sicher. Oder was macht die API sonst? ;->
Die INI-Dateien folgen eben einem *festen* Standard, der AFAIR sogar
geschrieben steht und _absolut_ nicht geändert werden kann...

> > Dokumentierte Schnittstellen brauchen keine Glaskugeln.
> > Nur undokumentierte brauchen sie.

> Wo finde ich dokumentierte Hamster-Schnittstellen zu den
> Dat-Dateien? Nein, nicht schon wieder die eierlegende

Das ist einer der undokumentierten, und die Glaskugel heißt "Source". :-P

BTW: Du mußt nicht deshalb eine undokumentierte Schnittstelle benutzen, weil
du irgentwo anders auch eine undokumentierte Schnittstelle benutzt. Wo kämen
wir auch hin... <g>

> Wollmilchsau OLE-Server...

Das ist aber die Schnittstelle zum Hamster, wenn du kein NNTP (TCP-IP)
benutzen willst.


MFG

--
Heiko Studt

Heiko Studt

unread,
Mar 8, 2002, 7:22:47 PM3/8/02
to
'Cause Klaus Ketelaer's words, I thought of...

> >> Ja, und dann? 3 Suchläufe eine knappe Stunde wie im Goldfind?
> > Wobei ich das noch auf etwa 45 Minuten oder vielleicht 35 herunterschrauben
> > könnte...
> Was nutzt das? _Ich_ erwarte, dass das < 1 Minute geht.

Es würde nicht so lange daern... <gg>

> >> Oder den Thred von dag aufbauen in 90 minuten, wie HamNews?
> > Meinst du damit OLE-HamNews???
> OLE-HamnNews V0.3.9

Aha...

> > Wenn ja: Der kann noch gar keine Threads.
> Dachte, das sollten welche sein...
> Bei mir hat er einen Button Threading und die Postings werden
> irgendwie durch Leerzeichen eingerückt dargestellt.

Das Threading habe ich...wie du eigentlich mitbekommen haben solltest...nie
fertig gestellt oder gar entbugt. OLE-Hamnews selber habe ich seit einem
halben Jahr nicht mehr gestartet geschweige denn weiterentwickelt.

> > Außerdem baut er mit *Sicherheit* nicht so langsam auf, da er nur geringe
> > Datenmengen lädt.

> Ich habe ihn gerade noch einmal durchlaufen lassen, nachdem
> ich den Rechner neu gebootet habe. 55 Minuten hat er gebraucht.

Ich hatte vergessen, daß es den Button Threading gibt.
Sorry, ich meinte ohne.

> Scrollen darf ich jedesmal zigmal die Meldung "Der index der Liste
> überschreitet das Maximum (4905)) wegklicken. Zudem sind die

Das gehört zum gleichen Fehler "Threading".

> Postings ziemlich durcheinander. Viele Artikelnummern sind mehr
> als zwanzigfach vorhanden.

Das gehört zum gleichen Fehler "Threading".

> > Nachdem er die XOver-Daten hat (<5Minuten auch bei noch so großen Gruppen)
[...]
> > setzt man den gleichen Algo wie bei deinem Tool an.
> Woher kennst Du den?

Zwar hast du ihn mir mal gegeben, aber die beiden Zeilen sollten einen Satz
darstellen. Also:
Wenn ich ersteinmal den XOver-habe "kann" bzW setze ich deinen Algorithmus
an. Bzw Sollte ich ansetzen, wenn ich ihn benutzen würde.
Aber egal --> deaktiviere einfach das Threading. <g>

Und das nur 32.000 Artikel angezeigt werden liegt daran, daß ich eine ListBox
verwende, und die den *WINDOWS*-Bug hat eben nicht mehr anzeigen zu können.
Unter Win2000 ist das aber durchaus möglich.

> > Dazu ist 1. eine gewisse CPU und gewisse Festplatte nötig.
> Bei mir nicht...

ROTFL.
Was hast du für eine CPU?

> >> voraus. Für mich lauten die: hamster ist nicht installiert.
> > ...dann gibt es auch keine Gruppen-Verzeichnisse. ;->
> Quatsch...

Sollte Ironie ausdrücken. Deswegen das ";->". Sorry...

> > Zumindestens im bisherigen Format reicht die jetzige Zahl aus.
> Mir reichen 2 Gigabytes nicht.

Und 4 Gigabyte würden dir reichen? Aber hier EOD, reden wir lieber im anderen
Teilthread weiter. :o)

> >> System zu konvertieren, weil ich Gruppen über Jahre hinweg halten will.
> > Dazu ist ein News-Server sowieso nicht geeignet. Nicht einmal das NNTP/NNRP-
> > Protokoll ist dafür geeigent...
> Warum? Was hat NNTP damit zu tun? Hier geht es um die Verwaltung
> einer Indexdatei und Zeiger auf die Dat-Datei...

Nein. Du willst einen NNTP-Server zu einem Jahrelangen Archiv mit zigtausend
Artikeln (miß)brauchen. Wenn dieser das macht, dann sei froh, aber NNTP,
wofür ein NNTP-*Server* eben ausgelegt ist, hat selber Probleme damit.
Und du weißt, daß gleiche MIDs alle 2 Jahre wieder auftreten *dürfen*?
Was machst du dann eigentlich? :-P

(Wäre sowieso 'mal einen Test wert... <g>)

> Eine zusätzliche Haltezeit von zwei Jahren! Mehr nicht...

s.o.
2 Jahre ist die maximale Haltedauer von RFC 822 (AFAIR) aus.
Oder war es 1036?

> Zudem habe ich von einer betriebssystembedingten Grenze
> geredet die unter W98 zufällig bei 4GB liegt. Ansonsten

Und? Soll Hamster etwa nichtmehr auf Win9x laufen?
Was ist mit parallel-Installationen? Soll Hamster dann abschmieren oder gar
seine Daten scrambeln?

> kannst Du Dir ausrechnet, welches Volumen mit 64 Bit zu
> adressieren möglich ist.

jaja...[TM]!

> > Dann bist du in einem halben Jahr und willst 8Gb und mehr haben.
> Ich möchte das haben, was das BS bereitstellt. Mehr nicht...

Und was nützt das dir dann?
Lieber ein Konzept, welches "offene" Grenzen bzW riesiege Grenzen hat.

> > Wenn überhaupt daran geschraubt werden soll, sollte IMO die gesammte
> > Datenbankstruktur einerseits in eine Art "Object-Treiber" eingebettet werden
> > und andererseits die maximale Größe generell fallen.
> Ich habe keine _feste_ Grösse genannt/gemeint.

Die aber durch das OS vorgegeben ist?
Lieber würde ich ..., als daß ich Inkomaptibilitäten (und sei es nur beim
Downgrade) in Kauf nehme nur damit wenig erreicht wird.

> > Auch in Zukunft wird sich das Usenet gegen HTML/Binaries weeren und auch
> Um Dateigrössen von 2/4 GB zu erreichen bedarf es keiner Binärdateien.
> das geht auch so schnell genug..

2 Jahre sind für dich schnell?
Dann solltest du dich in Acht nehmen vor den MIDs...

> > weiterhin wird sich der Haus-Admin auf weniger als 100 Gruppen beschränken
> > und auch diese nur bedingt archivieren...
> Wenn Du ihm das vorschreibst, dann bestimmt. ich habe jetzt schon

Nein, das mache ich oder macht Hamster nicht.
Aber ein HausAdmin hat auch kein Archiv von 2 Jahren einer Riesen-Gruppe.

> 152 Gruppen. Zudem reicht es, wenn nur eine Gruppe archiviert wird
> und die an das Maximum gelangt.

ACK.

> >> überleben will. Sind die Dateizugriffe eigentlich gekapselt?
> Ich meinte nicht irgendwelchen Programmcode, sondern
> sowas wie einen Hardware-Layer, der nur die rudimentären
> Api-Funktionen enthält. So ne Art Treiberschicht...

Jetzt übersteigst du meine Auffassungsgabe. ;-)
Die Kapselung der Datei-Funktionen selber wird momentan von der VCL == Delphi
gemacht. In einem zukünftigen Konzept wäre dies oder auch eine eigene
Kapselung möglich. Aber das ganze ist mit sicherheit kein Hardware-Layer.
Dafür ist noch zuviel Windows zwischen...

> > Aber außerdem gibt Joern (IMHO) nicht seine Meinung sondern die (begründete)
> > Meinung von Server-Admins wieder. Diese brauchen Rechtevergaben.
> Ich bin auch Server-Admin...

Ich auch. Auch wenn nur für meinen eigene Compi. <g>

Es gibt aber bereits "relativ" "große" "Admins", welche Server basierend auf
Hamster benutzen. Und Joern kennt einige [TM] davon.

> >> Ich akzeptiere Eure Werkzeuge, also akzeptiert auch meine...

> > Ich akzeptiere aba keine Daumenschrauben zur "Wahrheit"sfindung... <eg>
> ???

Sorry, das war ein Scherz. Bitte beziehe das nicht direkt auf dich oder dein
Tool, sondern siehe es mehr als Formulierungs-"Flame".

Ich habe als Werkzeug die Waage der Wahrheit mit einer Feder als
Gegengewicht. Mein Nachbar hat zur Wahrheitsfindung eine Folterkammer.
Er aktzeptiert meine Methode, also aktzeptiere ich seine? ;-)

> Ich verwende die Registry dann, wenn es darum geht, anderen
> Anwendungen etwas mitzuteilen. Z.B.: Wo ist mein Gruppen-
> verzeichnis...

Wozu will Hamster das einer anderen Anwendung mitteilen?
Normalerweise braucht wirklich nur er dieses Verzeichnis, und du bist der
*erste*, der direkt auf die Newsdaten zugeift.
Für OLE-HamNews hatte ich das zwar auch schon einmal angedacht, aber dann
doch lieber auf andere Sahcen Wert gelegt.


MFG

--
Heiko Studt

Heiko Studt

unread,
Mar 8, 2002, 5:41:43 PM3/8/02
to
'Cause Klaus Ketelaer's words, I thought of...

> Ich glaube, wir reden schon wieder aneinander vorbei.

Ja, leider...[TM]!

> 1. Annahme: es geht ums suchen...

Nö.

Aber genau die richtige Vorgehensweise BTW. <g>
(Auch wenn Goldfind nicht zwischenzeitlich lesen läßt. :-/)

> 2. Annahme: es geht um die Darstellung des Threads...

Jain.

> Ich lade nur die Root-Einträge und bilde sie ab. Der Rest wird immer
> dann nachgeladen, wenn ein Thread geöffnet wird.

> Beides ist zeitlich überhaupt kein Problem.

Und woher bekommst du die Root-Einträge? Richtig, die mußt du zuerst suchen.
Und bei Overviews von 200.000 Artikeln (die du zuerst erzeugen mußt!), wie
schnell bist du dann?

> Was verstehst Du unter interpretieren?

Aneinander vorbei geredet. ;-)


MFG

--
Heiko Studt

Heiko Studt

unread,
Mar 8, 2002, 5:23:52 PM3/8/02
to
'Cause Klaus Ketelaer's words, I thought of...

> Ich kann mit VB CreateObject und Dim H as New HamsterApp, etc.


> nutzen. Damit hätte ich aber schlechter demonstrieren können, was
> mit solchen Reg-Resten geschehen kann.

Ich benutze Kanonen um auf Spatzen zu schießen.
Ich könnte zwar auch mein (Luft)gewehr nehmen, aber ich will mich lieber
wundern, wenn einige Fensterscheiben zu Bruch gehen.

:-P

> > s.o., Bug in VB und/oder der OLE-Schnittstelle von Windows.

> Kann sein, weiss ich nicht...

Ich liebe doch Black Box...

...wenn ich ihr nicht zum Opfer falle. :-P

> Das sehe ich anders. Bei einem Absturz bölkt der Kunde. Bei einer
> entsprechenden Fehlermeldung kann ich bölken ;-)

ACK.
Normalerweise fängt man aber beides ab.

[...]
> Für mich ist das eine grosse Sünde.

Bisher stehst du alleine da.
Doch auch für solche Meinungen haben die Entwickler ein offenes Ohr.
Normalerweise wird es eine dementsprechende Möglichkeit in einer der nächsten
Betas geben... <gg>

> Darum geht es nicht. Der Eintrag des Servers scheint sich ja doch
> entfernen zu lassen. was spricht dagegen, mal eben ein Uninstall.bat

> mit ins Verzeichnis zu stellen. Mit der 2 GB-Grenze hast Du diesmal

Das willst du nicht wirklich.
Außerdem sind das jetzt schon genügend Dateien.
Und wenn du dann noch das "versehentlich clicken und auf j drücken"
berücksichtigst, kannst du das ganze IMO vergessen.

> >> Ihr bezeichnest Vorgehensweisen von mir als sinnfrei und Pfusch

> Pardon, es war der Joern. "Ihr bezeichnet" könnte auch "Einer oder zwei

Nö, das war ich. Das mit dem Pfusch meine ich. <eg>

> > geschrieben werden kann. Daß die MFC nicht viel taugt, ist auch nichts
> > neues, nicht umsonst schickt MS sie mit .NET aufs Altenteil.

> Gibt es etwas ausser Delphi und VCL, das was taugt?

k.A. aber Gerüchteweise gibt es soetwas wie Pinux oder Ginus oder so... *g*

> >>> Welche MS-Anwendung kannst du ohne heftige Änderungen in der Registry
> >>> verschieben?

> Doch schon: Notepad, Paintbrush, Regedit...

Nicht wirklich.
Dann hast du nämlich das Classes_Root-Problem für *.txt, *.bmp, *.reg
Außerdem noch das Problem, daß die 'Vorschau' AFAIR nicht geht; da ich die
aber bei einer Neu-Installation fast als erstes ausschalte, weiß ich dazu
nicht allzuviel genaueres...

> > hast du bislang auch ignoriert: Der Gruppenpfad ist NICHT als
> > Hamsterpfad\Groups definiert, sondern durch Main und Groups in der
> > hamster.ini im Directorys-Abschnitt.

> Warum tragt ihr den Schlüssel dort nicht ein?

Wo?
Beim OLE-Server? ROTFL, der Path dort wird gar nicht von Hamster gesetzt.

> Wenn er nicht angegeben ist, muss ich halt von Groups ausgehen.

Nein, und nochmals nein (;-)): Momentan: Du hast Path\Hamster.exe.
Jetzt liest du aus "Path\Hamster.ini" den Eintrag "MainPath" aus.
Jetzt liest du aus "MainPath\Hamster.ini" den Eintrag "GroupsPath" aus.

HTH. :-P
Und die Informationen sind, da auch für jeden Hamster unterschiedlich und nur
für ihn selber wichtig, nur in der Hamster.ini festgelegt.

> > Ich warte auf dein gesprächigeres Konkurrenzprodukt. Nebenbei sind die
> > Entwickler des Hamsters auf keinerlei Verständnis angewiesen, es ist ein
> > Open-Source-Werk, welches für lau zur Verfügung gestellt wird.

> Kennst Du den Satz: Muss ich mal drüber nachdenken?

Du willst keine 80.000 Zeilen Programmcode neu schreiben.
[X] Glaub mir!
Sonst würdest du das nämlich gleich für Linux in C(++) machen

> > Beim Erststart fehlt das Verzeichnis immer. Ebenso die meisten anderen
> > Verzeichnisse.

> Beim Erststart gibt es noch keine Gruppen, was man so interpretieren
> kann, dass das Fehlen von \Groups\ OK ist.

Keine Gruppen und kein groups-Verzeichnis == ok???
Jetzt widersprichst du dir aber.
Denn was ist, wenn "MainPath" flasch gesetzt wurde? :-P

> >> Wenn selbst das Verzeichnis "Groups" fehlt, sollte der Hamster IMO
> >> davon ausgehen, dass ein Fehler vorliegt und seine Aktivitäten anhalten.
> > Welche Aktivitäten? Server-Funktionalität? Skriptaufrufe? Menüaufrufe?
> > OLE-Zugriffe?

> Alles... Ich würde einen Verzeichnis-Dialog aufgehen lassen.

Und was machst du mit diesem, wenn kein Monitor angeschlossen ist?
Bis auf dem ersten Start und die *anzuklickende* Konfiguration ist _gar
nichts_ automatisch wegzucklicken.
Damit kann Hamster dann laufen.

BTW: Wenn Hamster als SystemDienst (auf NT) läuft gibt es gar keine GUI. Und
selbst wenn, dann hat sie bei einem "normalen" (Gast!-)User nichts zu suchen.

> >> Wenn der Hamster gestartet wird, ist meistens damit zu rechnen, dass
> >> gerade jemand auf den Bildschirm starrt.
> > Fein, dann sieht er ja demnächst die gelben Warnungen.

> Er hat sich abgewöhnt dort hinzusehen, weil er als OjE-Nutzer weiss,
> was dort zu erwarten ist... Wie wäre es mit Rot?

Es ist kein Error.
BTW: in der nächsten Beta wird es zu OjE aber auch einen Schalter geben...
<gg>



> HKEY_LOCAL_MACHINE\SOFTWARE\HAMSTER oder
> HKEY_CURRENT_USER\SOFTWARE\HAMSTER
> Path "C:\Programme\Hamster"
> Version "1.3.23.4"
> Groups "Groups"

> Würde mir erlauben, meine Parameter auf dem üblichen Weg zu
> ermitteln.

Und was machst du bei zwei Hamstern gleichzeitig?
Wann soll Hamster diese Registry-Einträge löschen?
Wozu soll Hamster diese Registry-Einträge setzen, wenn doch eigentlich
_keiner_ außer ihm diese benötigt?

> >> Nein. Für mich gehören Daten in die Registry, mit denen ich anderen
> >> Anwendungen irgendwas mitteile. Meine eigenen daten schreibe ich
> >> auch nicht in die Reg.

> Ich habe nie was anderes behauptet.

siehe oben -- Hamster teilt sich die Informationen unter normalen Umständen
mit keinem anderen... :-P

> > Damit dürfte dir vielleicht auch die hier (und in den Delphi-Gruppen)
> > vorherrschende Anti-Registry-Stimmung verständlicher werden.

> Ja, aber man kann sie nicht ganz ignorieren. Sieh Dir mein
> Beispiel an und sage mir, was dagegen spricht.

siehe oben.
Außerdem sagen wir nicht, daß die Registry _nie_ benutzt werden soll, aber
für jeden Sch... sollte sie nicht herhalten müssen.
und wenn man dein Obriges Beispiel vorraussetzt, dann müßte man z.B. auch die
Server in die Registry setzen und alle Gruppen und... irgenteine andere
Anwendung könnte vielleicht darauf zugreifen wollen und sie benötigen.

Hamster selber ist aber dafür predistiniert, daß man ihn ohne andere
Anwendungen fahren kann. (Ausnahmen, wenn aber auch "inoffiziell":
Korrnews/Copyif/Morver)

> Ja, 2 GB ist relativ klein ;-)

Und 4Gb sind auch nicht viel größer. :-P


MFG

--
Heiko Studt

Heiko Studt

unread,
Mar 8, 2002, 7:26:15 PM3/8/02
to
'Cause Juergen Haible's words, I thought of...

> Diese speziellen Parameter werden abgefangen, umgesetzt und dann
> wird das Programm gleich wieder per "Halt" beendet.

Gibt es irgentwo eine Liste aller Parameter, die man nicht benutzen sollte?


MFG

--
Heiko Studt

Jens Kordilewski

unread,
Mar 8, 2002, 8:24:19 PM3/8/02
to
Heiko Studt schrieb:

>>> Und 18.800 Artikel dürften dabei wohl um die 500 Mb groß sein!?
>> Ich glaube, du bist da zweimal um eine Kommanstelle verrutscht.

> 188.000 * 3000 Byte (je Artikel)
> ==~200*3 Mb
> == 600 Mb.

> Die Gruppendatei (.dat) dürfte also etwa 500Mb groß sein. :-P

Nicht ganz. Momentan sind es 228446 Artikel in 389 MByte.

> Klaus muß nämlich nicht den *Overview* lesen, sondern ersteinmal diesen
> erzeugen...

Aber doch hoffentlich nur einmal.

Jens Kordilewski

unread,
Mar 8, 2002, 8:24:19 PM3/8/02
to
Heiko Studt schrieb:

> Und das nur 32.000 Artikel angezeigt werden liegt daran, daß ich eine ListBox
> verwende, und die den *WINDOWS*-Bug hat eben nicht mehr anzeigen zu können.

Das ist kein Bug, sondern eine dokumentierte Eigenschaft.

> 2 Jahre ist die maximale Haltedauer von RFC 822 (AFAIR) aus.
> Oder war es 1036?

rfc1036:
| It is recommended that no Message-ID be reused for at least two
| years.

"at least"=mindestens.

Heiko Studt

unread,
Mar 9, 2002, 2:05:01 AM3/9/02
to
'Cause Jens Kordilewski's words, I thought of...

> > Und das nur 32.000 Artikel angezeigt werden liegt daran, daß ich eine ListBox
> > verwende, und die den *WINDOWS*-Bug hat eben nicht mehr anzeigen zu können.
> Das ist kein Bug, sondern eine dokumentierte Eigenschaft.

Indem man eine Einschränkung, die nicht nötig wäre, AFAIK sogar erst
nachträglich dokumentiert macht man diese zum Feature? Muß ich einmal
ausprobieren... ;->

> > 2 Jahre ist die maximale Haltedauer von RFC 822 (AFAIR) aus.
> > Oder war es 1036?
> rfc1036:
> | It is recommended that no Message-ID be reused for at least two
> | years.

Damit ist die Maximale Haltedauer der History gegeben -- Artikel, die
abgewiesen werden, weil sie die gleiche MID wie ein 2 Jahre älterer Artikel
haben, sind wiederum anzunehmen, da es ein Unterschiedlicher Artikel sein
kann. Dazu müßte man dann andere Unterscheidungsmerkmale wie z.B. References
nehmen...

> "at least"=mindestens.

My did will can speaking Englisch. ;-)


MFG

--
Heiko Studt

Heiko Studt

unread,
Mar 9, 2002, 1:57:01 AM3/9/02
to
'Cause Jens Kordilewski's words, I thought of...

> > Die Gruppendatei (.dat) dürfte also etwa 500Mb groß sein. :-P


> Nicht ganz. Momentan sind es 228446 Artikel in 389 MByte.

Ok, dann ist der Durchschnitt <2 Kb.

> > Klaus muß nämlich nicht den *Overview* lesen, sondern ersteinmal diesen
> > erzeugen...
> Aber doch hoffentlich nur einmal.

Dasselbe gilt bei Ole-Hamnews, welches den Overview speichert.
IMO aber verbratener Speicherplatz. Mir kommt gerade die Idee, daß man auch
einfach die Artiklenummern speichern könnte und dazu den Offset der Dateien.
Jetzt kann man den Overview wenn benötigt jeweils laden.

Also einfach im Treeview die Artikelnummern speichern, die als Root in Frage
kommen. Beim *Anzeigen* kann man diese dann jeweils durch Overviews ersetzen.
u.U. kann man so sogar einen Schalter nach dem Suchen an machen "Blende den
gesammten Thread ein". (normalerweise sollten nur die Postings eingeblendet
werden, die auch zus. gefunden werden)

Das ganze bitte nur als Denkanstoß verstehen -- Ich weiß das die Realisierung
sehr viel Zeit benötigen kann. Und wenn Postings dazukommen müßte so der
Index neu aufbauen. Das kann man dann verhindern, indem man die MIDs
speichert. IMO benötigt man in diesem Konzept dann keine References in der
Datei mehr. Das Datenaufkommen kann also auf 1/10 und weniger
zusammenschrumpfen...

(BTW: Die Artikelnummer steht in jedem Posting selber 'drin, so daß Klaus sie
ohne weiteres benutzen kann ohne Gefahr zu laufen, daß die Datei ungültig
wird.)


MFG

--
Heiko Studt

Juergen Haible

unread,
Mar 9, 2002, 5:40:48 AM3/9/02
to
Heiko Studt:

> Juergen Haible:
>
>> [Zitat aus französischer Hamster-FAQ]


>
> Kann mir das jemand bitte übersetzen?

"desinstalle Hamster": "fenętre Commande Ms-Dos" -> "hamster /unregserver"

-jh-

Juergen Haible

unread,
Mar 9, 2002, 5:40:48 AM3/9/02
to
Heiko Studt:

> Juergen Haible:


>
>> Diese speziellen Parameter werden abgefangen, umgesetzt und dann
>> wird das Programm gleich wieder per "Halt" beendet.
>
> Gibt es irgentwo eine Liste aller Parameter, die man nicht benutzen sollte?

Wie wäre es mit einer Volltextsuche nach "unregserver" in der Online-
hilfe (eine Fundstelle hatte ich ja schon zitiert) oder einem kurzen
Blick in die ebenfalls genannte "comserv"-Unit?

constructor TComServer.Create;
[...]
if FindSwitch('AUTOMATION') or FindSwitch('EMBEDDING') then
FStartMode := smAutomation
else if FindSwitch('REGSERVER') then
FStartMode := smRegServer
else if FindSwitch('UNREGSERVER') then
FStartMode := smUnregServer;
[...]

procedure TComServer.Initialize;
[...]
UpdateRegistry(FStartMode <> smUnregServer);
[...]
if FStartMode in [smRegServer, smUnregServer] then Halt;
[...]

Du hast doch IIRC die Pro-Version, soll ich es auch noch vorlesen?

-jh-

--
Hm, da war doch was ..
| D:\Online\Hamster\src> grep embedding global.pas
| 610 if (copy (ScriptFile, 1, 10) = '-Embedding') then begin // OLE: "-Embedding"
Tsk, doch noch eine OLE-Leiche im Keller ...

Heiko Studt

unread,
Mar 9, 2002, 6:53:40 AM3/9/02
to
'Cause Juergen Haible's words, I thought of...
> Wie wäre es mit einer Volltextsuche nach "unregserver" in der Online-

3 Einträge, 2 relevant.

> hilfe (eine Fundstelle hatte ich ja schon zitiert) oder einem kurzen
> Blick in die ebenfalls genannte "comserv"-Unit?

Nein, ich meiknte nicht nur auf ComSrv bezogen, sondern auf *alle* Units mit
initzialisation..Stümmt! Danach kann man im Source-Verzeichnis greppen... :o)

> Du hast doch IIRC die Pro-Version, soll ich es auch noch vorlesen?

Wann schickst du mir die MP3? ;-)


MFG

--
Heiko Studt

Heiko Studt

unread,
Mar 9, 2002, 7:03:10 AM3/9/02
to
'Cause Klaus Ketelaer's words, I thought of...

> > einfach die Artiklenummern speichern könnte und dazu den Offset der Dateien.

> Ich habe mal gehört, dass in den Indexdateien die Artikelnummer und
> der dazu gehörende Offset steht...

Also nur noch die Artikelnummer. ;o)

> Streiche als erstes mal das Wort "einfach" aus Deinem Vokabular, wenn

Ok. <streich>

> es um Threads geht und dann vergiss den Treeview ganz schnell.

GRMBL. Ich weiß (noch) nicht wie du das jetzt realisiert hast.

> Um zu ermitteln, ob ein Node nun ein Root, ein Parent oder ein Child
> ist, verbrate ich 98 Prozent meiner Rechenzeit...
[...]

Du hast mich nicht verstanden. Ich rede von der *Anzeige* und der
*Speicherung*. Nicht vom erzeugen.

[...]
Das meiste davon habe ich mir so oder so ähnlich denken können bzW bereits
gewußt.

> > Beim *Anzeigen* kann man diese dann jeweils durch Overviews ersetzen.

> Gott schütze Deinen Optimismus

?
Es gibt CustomDrawItem zumindestens in Delphi.
Dann ersetzt man anzeigend eben nur die Artikelnummer (bzW den String,
welcher in items gespeichert wurde) durch eine beliebige Grafik. Hier eben
Text. Als Reference braucht man eben die Artikelnummern, aber die braucht nur
in "items.objects[i]" stehen.

> Ich verwende die Artikelnummer in keinster Weise, weil sie IMO einfach
> unwichtig ist. Eine sequentielle Numerierung der Postings in der Reihen-
> folge ihres Eingangs. Was will ich damit?

Diese als Referenz auf das eigentliche Posting (und damit dessen Overview)
benutzen.

Dadurch brauchst du nur kurzzeitig den Overview einer kompletten Gruppe
erzeugen, und danach jeweils den der Postings, welche *direkt* angezeigt
werden. Da reichen bei Vollbild normalerweise etwa 100 Stück aus.
Nicht nur das das Speicher sparen sollte, sondern auch das es IMO der
Geschwindigkeit zurgute kommt.


MFG

--
Heiko Studt

Heiko Studt

unread,
Mar 9, 2002, 7:09:11 AM3/9/02
to
'Cause Klaus Ketelaer's words, I thought of...

> > Klaus muß nämlich nicht den *Overview* lesen, sondern ersteinmal diesen
> > erzeugen...

> Das stimmt. Ich muss es jedoch nur einmal tun. Siehe es so, dass
> halt jede abonnierte Gruppe erst einmal importiert werden muss.

bei OLE-Hamnews speichere ich den Overview. Und?
dann bin ich nachher genauso schnell beim Thread-Aufbau, nur das Suchen im
Datums-Umfeld braucht länger. Und ja, das suchen würde sich in GoldFind auch
bei weitem schneller sein, wenn ich den Overview speichern und dann daraus
den Date laden und interpretieren würde.


MFG

--
Heiko Studt

Mathias Behrle

unread,
Mar 9, 2002, 6:54:04 AM3/9/02
to
Heiko Studt am Fr 08 Mrz 2002 22:12:18:

> Mit einem frisch ge'purge'ten Hamster mit einer Haltezeit von 1
> Tag ist das doch ein Klacks...

Genau, gar nicht erst suchen ist auch eine Lösung...

Mathias
--
Filter auf Realnamen, Spamspoiler und HTML-Mails

Jens Kordilewski

unread,
Mar 9, 2002, 8:16:41 AM3/9/02
to
Klaus Ketelaer schrieb:

> Hier möchte ich mal wissen, wie OjE das macht... Das müssen Genies
> sein, die das so schnell hinbekommen.

20s für das Threading von 100k Artikeln sind nicht wirklich schnell
(PII-450). Auch die Performance beim Abholen des Overviews ist unter
aller Würde.

Heiko Studt

unread,
Mar 9, 2002, 8:09:52 AM3/9/02
to
'Cause Klaus Ketelaer's words, I thought of...

> Mit einem Listview... (Man benötigt ja eine Mehrspaltige Anzeige)

Man kann das auch mt einer Listbox realisieren.
Auch die Mehrspaltige Ausgabe.

> Zudem wird der Treeview sehr schnell extrem langsam.

ACK.

> Na denn... Wenn Du alle Daten zur Anzeige der Threads beisammen
> und gespeichert hast, ist der Rest eh ein Witz. Wenn Du jedoch dann
> nur die Artikelnummer behältst, verwirfst Du dein gesamtes Werk...

Ich weiß nicht wie du das alles speicherst, aber die Artikelnummer dürfte in
90% kleiner sein als eine MID. Lassen wir es dabei?

> Normalerweise wird eine komplette Tabelle abgebildet, zu der man auch
> zusätzliche Informationen benötigt. Zudem, warum der Umweg über die

Nö. Man muß nicht gleich alles im Speicher haben, nur um in einem
Listview/Listbox Tabellen anzuzeigen.
Wenn man OnCustomDrawItem (in Delphi so gekapselt) benutzt, dann kann man,
wenn man einen eindeutigen Pointer (z.B. die Artikelnummer) gespeichert hat
beim Update des Zeichenbereichs die Anzeige Variable aufbauen.
Das geht u.U. sogar schneller, da der Speicher normalerweise von Listen nur
unzulänglich verwaltet wird.

> Artikelnummer? Dann halte doch gleich einen Pointer auf das Posting...

Da die Data.dat inzwischen gepurged werden kann. Aber letzlich ist das egal,
da Artikelnummer-->Pointer wohl weniger als nur ein Klacks ist.

> Wenn man eine ganzen Thread öffnen möchte, dann fehler Dir die nötigen

Die thread-Informationen muß man natürlich auch (irgentwie) speichern.

> Informationen. Ich hoffe Du träumst nicht davon, die ganze NG in Form
> eines Trees vorher in den Speicher zu holen...

Gott Bewahre!

> Zudem, was sind heute schon ein paar MB? Ich verschenke gerne etliche

Viel.

> MBs um dafür Performance zu bekommen. (Überleg mal was passiert,

Nö. Du *benutzt* sie. Wenn du aber für ein Quentchen Performnce, welches ein
normaler Mensch kaum merkt, etliche MB Speicher benutzt ist das Verhältnis
auf der flaschen Seite.

> wenn Du nur mal in einer Datenbank einen zusätzlichen Index anlegst...)

Da verschenkst du den Speicher nicht, sondern benutzt ihn excessiv.
Und gewinnst einen *deutlichen* Performancegewinn mit geringem
Speicherverbrauch.

> > nur
> [/ROFL ROFL ROFL ROFL ROFL ROFL ROFL ROFL ROFL ROFL ROFL]

Multi exclamation marks [and ROFLs] are ...
;-)

> > kurzzeitig den Overview einer kompletten Gruppe
> > erzeugen, und danach jeweils den der Postings, welche *direkt* angezeigt
> > werden. Da reichen bei Vollbild normalerweise etwa 100 Stück aus.

> Weisst Du eigentlich was Du da schreibst? Mit jeder Aktuallisierung kann
> ich immer wieder die gleichen Berechnungen durchführen. Selbst Programme

?
Nö, ich schreibe hier vom *Anzeigen*.
Wenn du direkt einen Pointer benutzt mußt du zwar bei der aktualisierung des
Anzeigbereichs jedesmal den Overview der darzustellenen / aktualisierenden
Postings erzeugen, aber selbst das kannst du minimalisieren indem du einen
Teil der Overviews temporär speicherst.

Du sparst damit viel Festplattenplatz und vor allem RAM.

> Mein Testhamster hat für 1 Jahr 150 Gruppen gespeichert, welche etwa
> 3,5 GB benötigen. Wenn hier nochmals 1,5 GB an Verwaltungsinformationen
> hinzukommen, dann ist mir das sch**** egal. Wer den Platz nicht hat, der
> soll weniger Gruppen abonnieren.

Der Meinung bin ich ganz und gar nicht.
3-->1GB, das ist ein Drittel Verwaltung! MannOhMann.


MFG

--
Heiko Studt

Heiko Studt

unread,
Mar 9, 2002, 7:53:36 AM3/9/02
to
'Cause Mathias Behrle's words, I thought of...

> > Mit einem frisch ge'purge'ten Hamster mit einer Haltezeit von 1
> > Tag ist das doch ein Klacks...
> Genau, gar nicht erst suchen ist auch eine Lösung...

Aba dazu brauchst du doch gar nicht GoldFind! ;-)


MFG, f'up2 hdt

--
Heiko Studt

It is loading more messages.
0 new messages