Metody klasy w osobnych unitach?

0

Witam. Pracuje nad dość dużym projektem, w skrócie powiem tylko iż chodzi o aplikacje serwerową która ma obsługiwać dużą liczbe klientów naraz (powiedzmy jakieś 500-1000). Całym jądrem obsługi pakietów odebranych od klienta jest jedna duża klasa wątku (zawarta w osobnym unicie), która liczy już blisko 1500 linii kodu. Zwarzywszy na ilość linii w tymże unicie, z biegiem czasu, praca z tym modułem staje się coraz bardziej uciążliwa. Wpadłem zatem na taki pomysł, i tutaj właśnie rodzi się pytanie:
Czy da rade poprzerzucać każdą metode do osobnego unitu? CHodziło by mi głównie o to że ten unit który już mam, zawierał by jedynie samą deklaracje klasy (private, public itd) a same metody tejże klasy były by w osobnych unitach.

Z góry dziękuje za rady.
Pozdrawiam

0

Hmm... przydaloby Ci sie cos w rodzaju #include "plik" znanego z C/C++. Ale niestety nie wiem, czy Delphi posiada podobny mechanizm wklejania plikow. Poszukaj - moze cos znajdziesz.

Nie myslales o uzyciu jakiegos wydajeniejszego jezyka, skoro ma to byc wydajna aplikacja ?

0

Heh, [losowa nazwa] mnie ubiegł(a) :) Otóż można w Delphi robić include'y, bo nie wiem czy to co chcesz
osiągnąć można zrobić inaczej. Po prostu w jakimś pliku zrób deklaracje klasy, a jej definicje w plikach np.
ja zrobiłem tak jak poniżej i w plikach cosik1.pas oraz cosik2.pas mam resztę klasy i wszystko się kompiluje.

unit Unit2;

interface

uses
  Windows, Messages, Classes, Controls, Forms, Graphics;

type
  TCanvasedScrollBox = class(TScrollBox)
  private
    FBmp: TBitmap;
    FCanvas: TCanvas;
    procedure SetBitmap(Value: TBitmap);
  protected
    procedure WMPaint(var Message: TMessage); message WM_PAINT;
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
    property Bitmap: TBitmap read FBmp write SetBitmap;
    property Canvas: TCanvas read FCanvas;
  end;

implementation

{$INCLUDE cosik1.pas}

{$INCLUDE cosik2.pas}

end.
0
[losowa nazwa] napisał(a)

Nie myslales o uzyciu jakiegos wydajeniejszego jezyka, skoro ma to byc wydajna aplikacja ?

W C++ z pewnością dało by rade zrobić taki przekręt, jednakże tylko Object Pascal'a znam na tyle by móc taki projekt zmalować ;)
A jeśli chodzi o C++ to moja wiedza jest dość skromna ;]

EDIT:
@olesio
O takie coś mi właśnie chodzilo :D
Tymczasem ide spać, jutro na pewno wypróbuje :-)

Dzięki ;-P

0

W .NET od wersji (bodajże) 3.5 jest słowo kluczowe partial, które umożliwia osiągnięcie tego właśnie celu, może w Delphiku też się doczekamy (a może w najnowszych wersja już jest ?) O jest jakaś dyskusja o tym:

https://forums.codegear.com/message.jspa?messageID=24630

b

1 użytkowników online, w tym zalogowanych: 0, gości: 1