Delphi-PRAXiS
Seite 2 von 5     12 34     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Seriennummer Informationen in Registry schreiben (https://www.delphipraxis.net/153944-seriennummer-informationen-registry-schreiben.html)

angos 23. Aug 2010 08:20

AW: Seriennummer Informationen in Registry schreiben
 
Zitat:

Zitat von dor557 (Beitrag 1044274)
Erstmal danke für die ganzen Antworten.

Mal eine Frage allgemein zur Registry..... Irgend wie habe ich da den sinn nicht verstanden.

HKEY_CURRENT_USER speichert doch die Daten nur in dem Aktuellen Benutzer der angemeldet ist wie der Schlüssel schon sagt. Oder nicht ?

HKEY_LOCAL_MACHINE speichert die Daten doch SYSTEMWEIT was doch wenn man die Seriennummer nur ein mal eingeben will und nicht bei Jedem Benutzer einzeln mehr sinn machen würde oder ?

Seh ich eigentlich auch so. Ich hoffe mal auf Antworten von ein paar Wissenderen hier :)

Zitat:

@Alle anderen : Auch euch danke. Aber ist es nicht so das ein Runtime Error oder eine Fehlermeldung so oder so auftaucht wenn man die Procedure nicht in eine Try...Except schleife gesetzt hat ?

zumindest war das bisher immer so.
Wenn eine Exception kommt, sollte man möglichst den Fehler in seinem Programm, der eben zu dieser Exception führt, beheben und nicht einfach die Fehlermeldung ausblenden. Wenn ein Rauchmelder alarm schlägt, wirst du auch nach dem Feuer suchen und nicht einfach nur den Alarm ausstellen ;)

dor557 23. Aug 2010 10:56

AW: Seriennummer Informationen in Registry schreiben
 
@angos : Stimmt mit der Exception. aber wenn kein abfangen ist wird doch dennoch ein Fehler ausgeführt und der Feuermelder wird dennoch gesehen !!!! Odda nischt ???

Neumann 23. Aug 2010 12:13

AW: Seriennummer Informationen in Registry schreiben
 
An Caleb

natürlich wird die Registry später wieder freigegeben, habe ich nur bei dem Beispiel weggelassen.

Der Code ist nicht gleich; ev ist das Problem hier:

Mein Code: reg.OpenKey('Software\ESK',true);

dorr557: OpenKey('Software\DeveloperName\AppName\', True);

Ob dies das Problem ist habe ich nicht geprüft, könnte aber sein.

Gruß

Neumann

angos 23. Aug 2010 13:51

AW: Seriennummer Informationen in Registry schreiben
 
Zitat:

Zitat von dor557 (Beitrag 1044322)
@angos : Stimmt mit der Exception. aber wenn kein abfangen ist wird doch dennoch ein Fehler ausgeführt und der Feuermelder wird dennoch gesehen !!!! Odda nischt ???

Delphi-Quellcode:
try
eineVariable := 1 / 0;
except
end;
hierbei wird der Fehler abgefangen, aber nicht ausgewertet, weiter verarbeitet. Siehe zu dem Thema auch mal in diesen Thread

Gruß

angos

mkinzler 23. Aug 2010 13:57

AW: Seriennummer Informationen in Registry schreiben
 
Nein der Fehler wird nicht abgefangen. Es müsste dann
Delphi-Quellcode:
try
    eineVariable := 1 / 0;
except
    on Exeption do begin end;
end;
heissen. Wäre aber wenig sinnvoll!

p80286 23. Aug 2010 14:21

AW: Seriennummer Informationen in Registry schreiben
 
Hallo zusammen,

Diese Lösung von TurboPascal erscheint mir sehr C-tricky, weil er sich das
Delphi-Quellcode:
reg:=TRegistry.Create;
gespart hat.
Delphi-Quellcode:
  with TRegistry.Create do
  try
    RootKey := HKEY_LOCAL_USER;
    OpenKey('Software\DeveloperName\AppName\', True);
    WriteString('Firma', Firma);
    WriteString('S/NR', Serial);
    CloseKey;
    Result := True;
  finally
    Free;
  end;
Abgesehen davon, daß ich "with" genauso schätze wie "goto", wieso funktioniert das eigentlich?

Gruß
K-H

mkinzler 23. Aug 2010 14:25

AW: Seriennummer Informationen in Registry schreiben
 
Das Objekt wird ja genauso erzeugt als wenn du es einer Referenz ( reg) zuweist.
with erzeugt ein temp. Referenz

dor557 23. Aug 2010 18:36

AW: Seriennummer Informationen in Registry schreiben
 
Nun In meinem Ersten Beitrag habe ich ja die Variante reg:= TRegistry.create; verwendet.

Das mal zum einen. Meine Programme die ich bisher geschreiben haben haben immer eine PC-Lizenz in sofern wäre doch wieder der eintrag in die LOCAL_MACHINE sinnvoll.

Mal wirklich die Frage von vorhin aufgreifend. Wo ist der eintrag RICHTIG ? HKEY_LOCAL_MACHINE oder HKEY_CURRENT_USER ?

gruss Sascha

mkinzler 23. Aug 2010 18:42

AW: Seriennummer Informationen in Registry schreiben
 
Es kommt, wie schon geschriben darauf an, ob die Lizenz
-pro Rechner ( egal welcher Benutzer auf einem bestimmten Rechner)
-pro Benutzer ( egal auf welchem Rechner)
gelten soll

dor557 23. Aug 2010 19:29

AW: Seriennummer Informationen in Registry schreiben
 
in meinem fall immer (bis jetzt ;) ) pro rechner.

unter windows 7 wird die SNR gespeichert, in vista nicht...

nun raff ich nix mehr. selber code wie am anfang.

aber kann sie nicht lesen ich werde wohl wegen vista und windows 7 die komplette startroutine neu schreiben müssen.

und evtl. etwas "übersichtlicher" gestalten... denn im laufe der zeit habe ich so viel an stellen gesetzt das der Überblick flöten gegangen ist.

danke dennoch für die Informationen bisher. Also wenn ich das Richtig verstanden habe Pro Rechner HKEY_LOCAL_MACHINE und pro User HKEY_CURRENT_USER.

@mkinzler : Komme mir wie ein Noboddy vor :) Immer bekomme ich antworten von dir. Egal in welchem Forum :roll:

gruss Sascha


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:45 Uhr.
Seite 2 von 5     12 34     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz