AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi [D9PE | Komponente erstellen] - Events unterteilen ?!?
Thema durchsuchen
Ansicht
Themen-Optionen

[D9PE | Komponente erstellen] - Events unterteilen ?!?

Ein Thema von Amnon82 · begonnen am 13. Jul 2006 · letzter Beitrag vom 16. Jul 2006
 
Benutzerbild von Amnon82
Amnon82

Registriert seit: 5. Jan 2005
186 Beiträge
 
FreePascal / Lazarus
 
#7

DesignIntf - D9PE ?!?

  Alt 16. Jul 2006, 08:01
Ich hab mir nochmal diesen Thread durchgelesen.

Für "RegisterPropertyInCategory" braucht man die DesignIntf.dcu

[Fatal Error] DA_IrcClient.pas(12): F1026 File not found: 'DesignIntf.dcu' Hier nochmal der Part mit der Registrierung in englischer Form:

Delphi-Quellcode:
{******************************************************************}
{                                                                  }
{ Delhiarea-IRC-Components 0.1.2 by Amnon82 (C)2006 AMSOFT         }
{                                                                  }
{******************************************************************}

unit DA_IrcClient;

interface

uses
  Windows, SysUtils, Classes, ScktComp, WinSock, DA_CutBreak{, DesignIntf, DesignEditors};

type
  TDA_IrcClient = class;
  Tstr200max = String[200];
  TManualAuto = (Manual, Auto);
  TIDOnUnknownCTCPAnswer = procedure(Sender: TDA_IrcClient; LongNick: string; Nick: string; CTCPOrder: string; CTCPRequest: string; var CTCPAnswer: string; RawData: string) of object;
  TIDOnCTCPAction = procedure(Sender: TDA_IrcClient; LongNick: string; Nick: string; MSGToSend: string; Action: string; RawData: string) of object;
  TIDPing = procedure(Sender: TDA_IrcClient; AutoAnswer: string; RawData: string) of object;
  TDccGet = procedure(Sender: TDA_IrcClient; LongNick: string; Nick: string; FileName, SenderIPAddresse: string; Port: integer; BytesToGet: Longint) of object;
  TDccResume = procedure(Sender: TDA_IrcClient; LongNick: string; Nick: string; FileName: string; Port: integer; BytesToGet: Longint) of object;
  TDccChat = procedure(Sender: TDA_IrcClient; LongNick: string; Nick: string; SenderIPAddress: string; Port: integer) of object;
  TIDRawData = procedure(Sender: TDA_IrcClient; RawData: string) of object;
  TIDKickMSG = procedure(Sender: TDA_IrcClient; LongNick: string; Nick: string; Channel: string; KickMSG: string; RawData: string) of object;
  TIDTopicMSG = procedure(Sender: TDA_IrcClient; LongNick: string; Nick: string; Channel: string; MSG: string; RawData: string) of object;
  TIDChannelMSG = procedure(Sender: TDA_IrcClient; LongNick: string; Nick: string; Channel: string; MSG: string; RawData: string) of object;
  TIDPrivateMSG = procedure(Sender: TDA_IrcClient; LongNick: string; Nick: string; Priv: string; MSG: string; RawData: string) of object;
  TIDOnNoticePrivateMSG = procedure(Sender: TDA_IrcClient; LongNick: string; Nick: string; Notice: string; MSG: string; RawData: string) of object;
  TIDOnNoticePublicMSG = procedure(Sender: TDA_IrcClient; LongNick: string; Nick: string; Notice: string; MSG: string; RawData: string) of object;
  TIDOnJoinMSG = procedure(Sender: TDA_IrcClient; LongNick: string; Nick: string; Channel: string; RawData: string) of object;
  TIDOnPartMSG = procedure(Sender: TDA_IrcClient; LongNick: string; Nick: string; Channel: string; RawData: string) of object;
  TIDOnCloseMSG = procedure(Sender: TDA_IrcClient; LongNick: string; Nick: string; CloseMSG: string; RawData: string) of object;
  TIDOnNickChange = procedure(Sender: TDA_IrcClient; OldLongNick: string; OldShortNick: string; NewNick: string; RawData: string) of object;
  TIDOnVersionRequest = procedure(Sender: TDA_IrcClient; LongNick: string; Nick: string; RawData: string) of object;
  TIDOnTimeRequest = procedure(Sender: TDA_IrcClient; LongNick: string; Nick: string; Var TimeAnswer: string; RawData: string) of object;

  TIDChannelNames = procedure(Sender: TDA_IrcClient; LongNick: string; chan: string; NickName: string; RawData: string) of object;
  TIDChannelNamesEnd = procedure(Sender: TDA_IrcClient; Channel: string; RawData: string) of object;
  TIDChannelTopic = procedure(Sender: TDA_IrcClient; Channel: string; Topic: string; RawData: string) of object;
  TIDNickInUse = procedure(Sender: TDA_IrcClient; NickInUse: string; RawData: string) of object;
  TIDUnknownNumbers = procedure(Sender: TDA_IrcClient; Number: string; RawData: string) of object;

// type TSocketNotifyEvent = procedure (Sender: TObject; Socket: TCustomWinSocket) of object;

TDA_IrcClient = class(TComponent)
 Private
  { Private declarations }
  CutBreak1: TDA_CutBreak;
  CutBreak2: TDA_CutBreak;
  tmplist: TStringList;
  destroyb: Boolean;
  procedure TriggerOnDataAvailable(Sender: TObject; Socket: TCustomWinSocket);
  procedure TriggerOnDataSend(Sender: TObject; Socket: TCustomWinSocket);
  procedure TriggerOnConnection(Sender: TObject; Socket: TCustomWinSocket);
  procedure TriggerOnDisconnection(Sender: TObject; Socket: TCustomWinSocket);
  procedure TriggerOnErrorMSG(Sender: TObject; Socket: TCustomWinSocket; FehlerEvent: TErrorEvent; var FehlerCode: Integer);
  procedure WorkOnMSG(Sender: TDA_IrcClient; MSGList: Tstringlist; RawData: String);
  procedure WorkOnCTCPMSG(Sender: TDA_IrcClient; LongNick : String; Nick: String; Source: String; MSGList: TStringList; RawData: String);
  procedure WorkOnUndefinierteMSG(Sender: TDA_IrcClient; numerisch: Word; MSGList : Tstringlist; RawData: String);
  function isInteger(szString: String):Boolean;
  function CopyFrom(const S: String; const Start: Integer): String;
  function CopyAt(const S: String; const SearchFor: String; const Start: Integer): String;
  function CopyLeft(const S: String; const Count: Integer): String;
 protected
  { Protected declarations }
  FInBuf: String;
  FUserName: String;
  FRealName: String;
  FIRCHost: String;
  FIRCPort: Integer;
  FEmail: String;
  FNickname: String;
  FAltNick: String;
  FIrcPassword: String;
  FPingAnswer: TManualAuto;
  FChangeAltNick: TManualAuto;
  FOnPing: TIDPing;
  FOnCTCPAction: TIDOnCTCPAction;
  FOnRawData: TIDRawData;
  FOnMainServerChannelMSG: TIDChannelMSG;
  FOnLocalServerChannelMSG: TIDChannelMSG;
  FOnMainServerTopicMSG: TIDTopicMSG;
  FOnLocalServerTopicMSG: TIDTopicMSG;
  FOnMainServerNoticeMSG: TIDOnNoticePublicMSG;
  FOnLocalServerNoticeMSG: TIDOnNoticePublicMSG;
  FOnPrivateMSG: TIDPrivateMSG;
  FOnNoticePrivateMSG: TIDOnNoticePrivateMSG;
  FOnJoinMSG: TIDOnJoinMSG;
  FOnPartMSG: TIDOnPartMSG;
  FOnCloseMSG: TIDOnCloseMSG;
  FMainServerKickMSG: TIDKickMSG;
  FLocalServerKickMSG: TIDKickMSG;
  FOnNickChange: TIDOnNickChange;
  FOnVersionRequest: TIDOnVersionRequest;
  FOnTimeRequest: TIDOnTimeRequest;
  FDccGet: TDccGet;
  FDccAccept: TDccResume;
  FDccResume: TDccResume;
  FDccChat: TDccChat;
  FOnUnknownCTCPAnswer: TIDOnUnknownCTCPAnswer;
  FOnNames: TIDChannelNames;
  FOnNamesList: TIDChannelNamesEnd;
  FOnTopic: TIDChannelTopic;
  FOnNickInUse: TIDNickInUse;
  FOnUnknownNumbers: TIDUnknownNumbers;
  FCloseMSG: Tstr200max;
  FVersionAnswer: Tstr200max;
  FTag: integer;
  FOnDataAvailable: TSocketNotifyEvent;
  FOnDataSend: TSocketNotifyEvent;
  FOnConnection: TSocketNotifyEvent;
  FOnDisconnection: TSocketNotifyEvent;
  FOnError: TSocketErrorEvent;
 public
  { Public declarations }
  ConnectIt: TClientSocket;
  constructor Create(AOwner: TComponent); override;
  destructor Destroy; override;
  procedure Close;
  procedure Connect;
  procedure SelfInvisible;
  procedure SelfVisible;
  procedure KickUser(Channel, NickName, Grund: String);
  procedure DeBanUser(Channel, UserHostMask: String);
  procedure BanUser(Channel, UserHostMask: String);
  procedure DeVoiceUsers(Channel, UserNickname: String);
  procedure VoiceUsers(Channel, UserNickname: String);
  procedure DeopUsers(Channel, UserNickname: String);
  procedure OpUsers(Channel, UserNickname: String);
  procedure ChannelMode(Channel, Mode, Param: String);
  procedure UserMode(Mode: String);
  procedure ChangeNick(Nickname: String);
  procedure Join(Channel: String);
  procedure Part(Channel: String);
  procedure SendPrivateMSG(Nickname, MSG: String);
  procedure SendRawData(ZuSenddeMSG: String);
  function LongIPtoPointIP(value: LongWord): String;
  function PointIPtoLongIP(str: PChar): LongWord;
  function SendChannelMSG(Chan, MSG: String): Boolean;
 published
  { Published declarations }
  property VersionAnswer: Tstr200max read FVersionAnswer write FVersionAnswer;
  property UserName: String read FUserName write FUserName;
  property RealName: String read FRealName write FRealName;
  property Email: String read FEmail write FEmail;
  property NickName: String read FNickname write FNickname;
  property AltNickName: String read FAltNick write FAltNick;
  property IRCHost: String read FIRCHost write FIRCHost;
  property IrcPort: Integer read FIRCPort write FIRCPort;
  property IrcPassword: String read FIrcpassword write FIrcpassword;
  property PingAnswer: TManualAuto read FPingAnswer write FPingAnswer;
  property ChangeAltNick: TManualAuto read FChangeAltNick write FChangeAltNick;
  property CloseMSG: Tstr200max read FCloseMSG write FCloseMSG;
  property Tag: Integer read FTag write FTag;
  property OnConnection: TSocketNotifyEvent read FOnConnection write FOnConnection;
  property OnDisconnection : TSocketNotifyEvent read FOnDisconnection write FOnDisconnection ;
  property OnError: TSocketErrorEvent read FOnError write FOnError;
  property OnPing: TIDPing read FOnPing write FOnPing;
  property OnLocalServerKick: TIDKickMSG read FLocalServerKickMSG write FLocalServerKickMSG;
  property OnMainServerKick: TIDKickMSG read FMainServerKickMSG write FMainServerKickMSG;
  property OnCTCPAction: TIDOnCTCPAction read FOnCTCPAction write FOnCTCPAction;
  property OnRawData: TIDRawData read FOnRawData write FOnRawData;
  property OnMainServerChannelMSG: TIDChannelMSG read FOnMainServerChannelMSG write FOnMainServerChannelMSG;
  property OnLocalServerChannelMSG: TIDChannelMSG read FOnLocalServerChannelMSG write FOnLocalServerChannelMSG;
  property OnMainServerNoticeMSG: TIDOnNoticePublicMSG read FOnMainServerNoticeMSG write FOnMainServerNoticeMSG;
  property OnLocalServerNoticeMSG: TIDOnNoticePublicMSG read FOnLocalServerNoticeMSG write FOnLocalServerNoticeMSG;
  property OnPrivateMSG: TIDPrivateMSG read FOnPrivateMSG write FOnPrivateMSG;
  property OnNoticePrivateMSG: TIDOnNoticePrivateMSG read FOnNoticePrivateMSG write FOnNoticePrivateMSG;
  property OnNickChange: TIDOnNickChange read FOnNickChange write FOnNickChange;
  property OnJoinMSG: TIDOnJoinMSG read FOnJoinMSG write FOnJoinMSG;
  property OnPartMSG: TIDOnPartMSG read FOnPartMSG write FOnPartMSG;
  property OnCloseMSG: TIDOnCloseMSG read FOnCloseMSG write FOnCloseMSG;
  property OnDccGet: TDccGet read FDccGet write FDccGet;
  property OnDccAccept: TDccResume read FDccAccept write FDccAccept;
  property OnDccResume: TDccResume read FDccResume write FDccResume;
  property OnDccChat: TDccChat read FDccChat write FDccChat;
  property OnVersionRequest: TIDOnVersionRequest read FOnVersionRequest write FOnVersionRequest;
  property OnTimeRequest: TIDOnTimeRequest read FOnTimeRequest write FOnTimeRequest;
  property OnTopic: TIDChannelTopic read FOnTopic write FOnTopic;
  property OnNames: TIDChannelNames read FOnNames write FOnNames;
  property OnNamesList: TIDChannelNamesEnd read FOnNamesList write FOnNamesList;
  property OnNickInUse: TIDNickInUse read FOnNickInUse write FOnNickInUse;
  property OnUnknownNumbers: TIDUnknownNumbers read FOnUnknownNumbers write FOnUnknownNumbers;
  property OnUnknownCTCPAnswer: TIDOnUnknownCTCPAnswer read FOnUnknownCTCPAnswer write FOnUnknownCTCPAnswer;
  property OnMainServerTopicMSG: TIDTopicMSG read FOnMainServerTopicMSG write FOnMainServerTopicMSG;
  property OnLocalerServerTopicMSG: TIDTopicMSG read FOnLocalServerTopicMSG write FOnLocalServerTopicMSG;
  end;

procedure Register;

const
 CR = #13;
 LF = #10;
 CRLF = #13#10;
 Version = 'TDA_IrcClient 0.1.2 - (C) 2006 by AMSOFT and DELPHIAREA';

var
 CuttedMSG:String;

implementation

// Komponente registrieren

procedure Register;
begin
 RegisterComponents('Delphiarea', [TDA_IrcClient]);
 //Mal ein Beispiel, was noch nicht klappt:
 //RegisterPropertyInCategory('DCC', TDA_IrcClient, 'OnDccAccept');
end;
Ich würde gerne die Properties ordnen. Zum Beispiel alles was mit DCC zu tun hat in eine Kategorie 'DCC'. Muss man eine CustomCategory definieren oder reicht zum Beispiel:

RegisterPropertyInCategory('DCC', TDA_IrcClient, 'OnDccAccept'); ... hoffe es klappt trotz D9PE ...

Im Anhang ein Screenshot mit allem was ich unter "Design" gefunden hab ...

Delphi-Quellcode:
package DA_IRCComponents;

{$R *.res}
{$ALIGN 8}
{$ASSERTIONS ON}
{$BOOLEVAL OFF}
{$DEBUGINFO ON}
{$EXTENDEDSYNTAX ON}
{$IMPORTEDDATA ON}
{$IOCHECKS ON}
{$LOCALSYMBOLS ON}
{$LONGSTRINGS ON}
{$OPENSTRINGS ON}
{$OPTIMIZATION ON}
{$OVERFLOWCHECKS OFF}
{$RANGECHECKS OFF}
{$REFERENCEINFO ON}
{$SAFEDIVIDE OFF}
{$STACKFRAMES OFF}
{$TYPEDADDRESS OFF}
{$VARSTRINGCHECKS ON}
{$WRITEABLECONST OFF}
{$MINENUMSIZE 1}
{$IMAGEBASE $400000}
{$DESCRIPTION 'AMSOFT|DELPHIAREA - IRC Components 0.1.2 - Alpha build'}
{$IMPLICITBUILD OFF}

requires
  rtl,
  vcl,
  designide;

contains
  DA_IrcClient in 'DA_IrcClient.pas',
  DA_CutBreak in 'DA_CutBreak.pas';

end.
designide.dcp bringt auch nichts:

Delphi-Quellcode:
[Error] DA_IrcClient.pas(1257): E2003 Undeclared identifier: 'RegisterPropertyInCategory'
[Fatal Error] DA_IRCComponents.dpk(35): F2063 Could not compile used unit 'DA_IrcClient.pas'
Angehängte Grafiken
Dateityp: png d9pedesign_146.png (25,3 KB, 15x aufgerufen)
  Mit Zitat antworten Zitat
 


Forumregeln

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

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

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:16 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