![]() |
Unit spielt verrückt
Hallo.
Ich habe folgendes Problem: Ich benutze Delphi 2009. Und da ich die Socketkomponente nicht nutzen konnte, also TClientSocket und TServerSocket. Also. Ich hab dann die Sockets.dcu eingefügt und aufgerufen. Jetzt hab ich ein programm geschrieben, das ist nur ein kleiner LAN-Chat. was aber passiert, wenn ich ihn compilen will[Code]:
Code:
Ich ab also die sockets aus den Uses genommen, dann kam aber folgendes:
DCC Fataler Fehler Sockets.pas(6): F2092 Das Programm oder die Unit 'Sockets' ruft sich selbst wieder auf
Code:
Dann hab ich die Sockets in die Implementation unter Uses genommen, und dann kommen wieder endlose Fehler:
DCC Fehler Sockets.pas(9): E2003 Undeklarierter Bezeichner: 'TTcpClient'
DCC Warnung Sockets.pas(16): W1055 PUBLISHED verursachte, dass RTTI ($M+) zu Typ 'TClientSocket' hinzugefügt wurde DCC Fehler Sockets.pas(26): E2010 Inkompatible Typen: 'TComponentClass' und 'Class reference' DCC Fataler Fehler Chat.pas(8): F2063 Verwendete Unit 'Sockets.pas' kann nicht compiliert werden
Code:
Hier ist der Quelltext der Unit Sockets:
DCC Fehler Sockets.pas(9): E2003 Undeklarierter Bezeichner: 'TTcpClient'
DCC Warnung Sockets.pas(16): W1055 PUBLISHED verursachte, dass RTTI ($M+) zu Typ 'TClientSocket' hinzugefügt wurde DCC Fataler Fehler Sockets.pas(24): F2092 Das Programm oder die Unit 'Sockets' ruft sich selbst wieder auf
Delphi-Quellcode:
unit Sockets;
interface uses SysUtils, Classes, Sockets; type TClientSocket = class(TTcpClient) private { Private-Deklarationen } protected { Protected-Deklarationen } public { Public-Deklarationen } published { Published-Deklarationen } end; procedure Register; implementation procedure Register; begin RegisterComponents('Standard', [TClientSocket]); end; end. |
Re: Unit spielt verrückt
Die Sockets-Unit die du benutzt ist eine externe, wenn ich das richtig verstehe?
Dann solltest du dein Programm (also deine Unit) nicht auch Sockets nennen... |
Re: Unit spielt verrückt
Zitat:
Allerdings verstehe ich nicht, was du machen willst... Willst du eine eigene TClientSocket-Variante entwicklen? Dann solltest du auch diese Komponente nicht so nennen wie eine bereits existierende. Eventuell solltest du auch erst einmal beschreiben, warum du das Problem hast: Zitat:
Ciao, Ralf |
Re: Unit spielt verrückt
Nee in RAD Stdio 2009 wird TClientSocket nicht mitinstalliert.....
|
Re: Unit spielt verrückt
Da ich nie D2009 benutzt habe wusste ich das nicht (ist eigentlich eine Delphi Standard-Komponente). Aber schau mal hier:
![]() Natürlich musst du in dem entsprechenden Ordner für D2009 nachsehen und die Version der "dclsocketsXXX.BPL" auswählen die D2009 entspricht (ist das dann dclsockets112.bpl??? - sollte eigentlich) (und in meinem D2007 muss ich das Package irgenwann mal manuell installiert haben...) |
Re: Unit spielt verrückt
Umbenennen hat geholfen ;)
Danke. Aber ich habe ncoh eben eine Frage, für die ich keinen neuen Thread aufmachen wollte.
Delphi-Quellcode:
Was will mir das sagen?
begin
try if Edit3.Text = '' then begin end except begin Dialogs.MessageDlg('Bitte geben Sie einen gültigen Benutzernamen an!', mtError, mbOK); // Funktion überladen, kann nicht mit diesen Argumenten aufgerufen werden. end end; |
Re: Unit spielt verrückt
Zitat:
|
Re: Unit spielt verrückt
Hallo,
MessageDlg('Bitte geben Sie einen gültigen Benutzernamen an!', mtError, mbOK, 0); (die ,0 fehlt), Und lass bitte das Dialogs weg. Oder hast du wieder eine eigene gleichnamige Methode geschrieben ??? ;) Früher hiess eine solche Meldung auch anders. "Argument fehlt" Seit Delphi aber Funktinonen überladen kann (gleicher Name, aber andere Parameter), bringt Delphi halt diese Meldung. Heiko |
Re: Unit spielt verrückt
Zitat:
Zitat:
Delphi-Quellcode:
Dialogs.MessageDlg('Bitte geben Sie einen gültigen Benutzernamen an!', mtError, [mbOK], 0);
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:05 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz