Click here to Skip to main content
15,890,407 members

Ilka Guigova - Professional Profile



Summary

    Blog RSS
3,733
Author
60
Authority
328
Debator
193
Editor
5
Enquirer
346
Organiser
888
Participant

Reputation

Weekly Data. Recent events may not appear immediately. For information on Reputation please see the FAQ.

Privileges

Members need to achieve at least one of the given member levels in the given reputation categories in order to perform a given action. For example, to store personal files in your account area you will need to achieve Platinum level in either the Author or Authority category. The "If Owner" column means that owners of an item automatically have the privilege. The member types column lists member types who gain the privilege regardless of their reputation level.

ActionAuthorAuthorityDebatorEditorEnquirerOrganiserParticipantIf OwnerMember Types
Have no restrictions on voting frequencysilversilversilversilver
Bypass spam checks when posting contentsilversilversilversilversilversilvergoldSubEditor, Mentor, Protector, Editor
Store personal files in your account areaplatinumplatinumSubEditor, Editor
Have live hyperlinks in your profilebronzebronzebronzebronzebronzebronzesilverSubEditor, Protector, Editor
Have the ability to include a biography in your profilebronzebronzebronzebronzebronzebronzesilverSubEditor, Protector, Editor
Edit a Question in Q&AsilversilversilversilverYesSubEditor, Protector, Editor
Edit an Answer in Q&AsilversilversilversilverYesSubEditor, Protector, Editor
Delete a Question in Q&AYesSubEditor, Protector, Editor
Delete an Answer in Q&AYesSubEditor, Protector, Editor
Report an ArticlesilversilversilversilverSubEditor, Mentor, Protector, Editor
Approve/Disapprove a pending ArticlegoldgoldgoldgoldSubEditor, Mentor, Protector, Editor
Edit other members' articlesSubEditor, Protector, Editor
Create an article without requiring moderationplatinumSubEditor, Mentor, Protector, Editor
Approve/Disapprove a pending QuestionProtector
Approve/Disapprove a pending AnswerProtector
Report a forum messagesilversilverbronzeProtector, Editor
Approve/Disapprove a pending Forum MessageProtector
Have the ability to send direct emails to members in the forumsProtector
Create a new tagsilversilversilversilver
Modify a tagsilversilversilversilver

Actions with a green tick can be performed by this member.


 
GeneralRe: Working with durations in MSSQL server Pin
Grunge Boy31-Jan-10 23:29
Grunge Boy31-Jan-10 23:29 
GeneralRe: Working with durations in MSSQL server Pin
Ilka Guigova1-Feb-10 7:17
Ilka Guigova1-Feb-10 7:17 
GeneralThe hidden __arglist keyword Pin
Ilka Guigova9-Aug-09 14:38
Ilka Guigova9-Aug-09 14:38 
GeneralServices Pin
Ilka Guigova9-Aug-09 14:27
Ilka Guigova9-Aug-09 14:27 
GeneralTerminal Services Pin
Ilka Guigova9-Aug-09 14:24
Ilka Guigova9-Aug-09 14:24 
GeneralSerial com ports Pin
Ilka Guigova9-Aug-09 14:18
Ilka Guigova9-Aug-09 14:18 
GeneralScrollable GridView Pin
Ilka Guigova9-Aug-09 13:58
Ilka Guigova9-Aug-09 13:58 
GeneralHow to instantiate a class from a class name Pin
Ilka Guigova9-Aug-09 11:08
Ilka Guigova9-Aug-09 11:08 
(Originally posted: 2007-09-26)

There are two Delphi functions defined in Classes that are employed in order to allow for a class to be instantiated given its class name:

. function GetClass(const ClassName: string): TPersistentClass;
. procedure RegisterClass(AClass: TPersistentClass);

The Class must be registered before GetClass can find it. Form classes and component classes that are referenced in a form declaration (instance variables) are automatically registered when the form is loaded. Other classes can be registered by calling RegisterClass or RegisterClasses.

Details:
Delphi help files

Application:
The UPOS Specification[^] is followed in an attempt to standardize the implementation of Vivonet POS Devices. Thus each POS device is derived from the TUPOSDeviceControl and TUPOSDeviceService family. A generic interface is provided to create the POS device instances (such as MSR and PinPad) based on their names (supplimented by an ini configuration file that provides the class names for the device in question):

unit uUPOSFactory;

interface
uses
  uUPOSDeviceControl,
  uUPOSDeviceService;

const
  POSDEVICESINIFILE = 'C:\Program Files\Vivonet\iPOS\Client\PosDevices.ini';

function CreateDeviceService(DeviceName: string): TUPOSDeviceService;
function CreateDeviceControl(DeviceName: string): TUPOSDeviceControl;

implementation

uses
  IniFiles,
  Classes;

function GetClassName(DeviceName: string; DeviceObject: string):string;
var
  iniFile: TIniFile;
begin
  iniFile := TIniFile.Create(POSDEVICESINIFILE);
  Result := iniFile.ReadString(DeviceName, DeviceObject, 'T' + DeviceName + DeviceObject);
  iniFile.Free;
end;

function CreateDeviceService(DeviceName: string): TUPOSDeviceService;
var
  DeviceClass: TPersistentClass;
begin
  try
    DeviceClass := GetClass(GetClassName(DeviceName, 'Service'));
    Result := TUPOSDeviceService(DeviceClass.Create);
  except
    Result := nil;
  end;
end;

function CreateDeviceControl(DeviceName: string): TUPOSDeviceControl;
var
  DeviceClass: TPersistentClass;
begin
  try
    DeviceClass := GetClass(GetClassName(DeviceName, 'Control'));
    Result := TUPOSDeviceControl(DeviceClass.Create);
  except
    Result := nil;
  end;
end;
end.


Inspiration:
Factory Method design pattern

See Also:
Abstract Factory and Builder design patterns
GeneralDebugging COM+ Components in Visual Studio Pin
Ilka Guigova9-Aug-09 10:41
Ilka Guigova9-Aug-09 10:41 
GeneralRetrieving the COM+ class factory for component failed Pin
Ilka Guigova29-Jul-10 12:10
Ilka Guigova29-Jul-10 12:10 
GeneralDebugging COM+ Components in Delphi Pin
Ilka Guigova9-Aug-09 9:27
Ilka Guigova9-Aug-09 9:27 
GeneralCOM Surrogate error Pin
Ilka Guigova9-Aug-09 9:07
Ilka Guigova9-Aug-09 9:07 
GeneralC++ conversion - text to currency Pin
Ilka Guigova9-Aug-09 8:54
Ilka Guigova9-Aug-09 8:54 
GeneralApplication.ProcessMessages() without the Forms unit Pin
Ilka Guigova9-Aug-09 8:38
Ilka Guigova9-Aug-09 8:38 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.