Einzelnen Beitrag anzeigen

Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#14

AW: TClientSocket auf Datenmodul

  Alt 24. Jan 2012, 15:20
Zitat von Medium:
Mal eine ganz andere Frage: Soweit ich weiss, arbeiten Sockets (zumindest die Delphi-Dinger) mit Fensterhandles bzw. Messages. Wenn man sowas auf ein DM steckt, kommen dann die Events und alles überhaupt an?
Ich bin gerade nicht ganz sicher, aber irgendwo habe ich sogar gelesen, das man die Sockets auf ein Datenmodul legen kann. Außerdem hat es bisjetzt mit D2007 ja auch wunderbar funktioniert.

Der Vorteil ist, ich kann von jedem Formular geziehlt auf die TClientSocket zugreifen. Wenn ich diese ins MainForm lege, müsste ich ja mit Querverweisen arbeiten.


Delphi-Quellcode:
uses
  IrgendeineForm;
....

implementation //von Irgendeiner Form

uses
  MainForm;
Beim Datenmodul,kann ich jeweils auf diese zugreifen, kann vor dem Programmstart schon die Serververbindung herstellen.
Daher gesehen, sollte nichts dagegen sprechen.

Ich versteh allerdings nicht, warum ich die Komponenten nicht auf das Datenmodul gelegt bekomme.

Allerdings, nach dem ich die genannten Tips umgesetzt habe, funktioniert es.

Bevor ich einen neuen Thread starte, mal kurz eine andere Frage.
Die Verlegung auf ein Datenmodul ist durch eine zukünftig gewollte Authentifizierung auf dem Server entstanden.
Ich muss also vor dem Start der Anwendung erst prüfen, ob meine Benutzerdaten dem Server bekannt sind. Daher habe ich das ganze auf ein DM verschoben und erstelle dieses vor meinem Anmeldebildschirm. Daher kann ich die Userabfrage direkt auf dem Server machen.

Delphi-Quellcode:
begin
  Application.CreateForm(TDataModule5, DataModule5);
  if Login.Execute then
    begin
      Application.Initialize;
      Application.MainFormOnTaskbar := True;
      Application.CreateForm(TForm4, Form4);
      Application.Run;
    end
  else
    ShowMessage('Fehler bei der Anmeldung, Programm wird beendet!');
end.
Mir stellt sich nun die Frage, ob ich eventuell grundsätzlich eine andere Komponente als die TServer und ClientSocket verwenden sollt. Gibt es irgendeine Komponente die den direkten Uservergleich kann. Oder muss ich das immer selber schreiben.

So mit Protokolldatei etc...

Ich weiß wie das geht, aber wenn ich z.B. beim Start des Servers der TServerSocket(Ähnliche Kompo) die Authentifizierungsdaten zur Verfügung stellen könnte, z.B. UserName = User Password = Password und beim Connect dieses geprüft würde, wäre das für meinen Fall völlig ausreichend und nicht so aufwendig. Gibt es so eine Komponente?

Gruß Jens
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat