Click here to Skip to main content
15,885,546 members

Lim Bio Liong - Professional Profile



Summary

    Blog RSS
64,897
Author
1,663
Authority
588
Debator
112
Organiser
1,019
Participant
0
Editor
0
Enquirer
Lim Bio Liong is a Specialist at a leading Software House in Singapore.

Bio has been in software development for over 10 years. He specialises in C/C++ programming and Windows software development.

Bio has also done device-driver development and enjoys low-level programming. Bio has recently picked up C# programming and has been researching in this area.

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.


 
GeneralDeclaring an Interop Struct that contains a character array. Pin
Lim Bio Liong8-Jan-11 4:04
Lim Bio Liong8-Jan-11 4:04 
GeneralCOM SAFEARRAYs - How to use it in C# Pin
Lim Bio Liong25-Sep-10 13:25
Lim Bio Liong25-Sep-10 13:25 
GeneralTroubleshooting Exceptions: System.BadImageFormatException Pin
Lim Bio Liong17-Sep-10 20:53
Lim Bio Liong17-Sep-10 20:53 
GeneralCreating ActiveX Controls in an MFC Application Pin
Lim Bio Liong10-Jan-10 19:26
Lim Bio Liong10-Jan-10 19:26 
GeneralCareful to allocate BSTRs using ::SysAllocString(). Pin
Lim Bio Liong31-Dec-09 19:08
Lim Bio Liong31-Dec-09 19:08 
GeneralAbout X.509 Certificates Pin
Lim Bio Liong31-Dec-09 18:25
Lim Bio Liong31-Dec-09 18:25 
GeneralSome General Points on Array Initialization Part 1 Pin
Lim Bio Liong22-Dec-09 20:25
Lim Bio Liong22-Dec-09 20:25 
GeneralSome Comments on Copy Constructors Pin
Lim Bio Liong20-Dec-09 23:19
Lim Bio Liong20-Dec-09 23:19 
GeneralDefault and Customized Constructors Pin
Lim Bio Liong20-Dec-09 22:54
Lim Bio Liong20-Dec-09 22:54 
GeneralDefault and Customized Constructors (Part 2) Pin
Lim Bio Liong20-Dec-09 23:16
Lim Bio Liong20-Dec-09 23:16 
GeneralGeneric Test HTML Code For Testing ActiveX Objects Pin
Lim Bio Liong19-Dec-09 14:05
Lim Bio Liong19-Dec-09 14:05 
GeneralEnsuring a Safe ActiveX Object to be used inside a Web Page Pin
Lim Bio Liong19-Dec-09 14:02
Lim Bio Liong19-Dec-09 14:02 
GeneralCOM Objects that are created via <object> tags</object> Pin
Lim Bio Liong19-Dec-09 13:59
Lim Bio Liong19-Dec-09 13:59 
GeneralInternet Explorer with Tabs : Debugging a COM Object or an ActiveX inside a Web Page [modified] Pin
Lim Bio Liong19-Dec-09 13:23
Lim Bio Liong19-Dec-09 13:23 
GeneralThe Significance of the "CLSID:" Symbol for the OBJECT Tag's CLASSID Attribute Pin
Lim Bio Liong8-Dec-09 23:24
Lim Bio Liong8-Dec-09 23:24 
GeneralCool use of the #import inject_statement() attribute Pin
Lim Bio Liong4-Dec-09 0:29
Lim Bio Liong4-Dec-09 0:29 
GeneralFailure of javascript usage of MFC ActiveX Control - Part 1 Pin
Lim Bio Liong3-Dec-09 16:31
Lim Bio Liong3-Dec-09 16:31 
GeneralFailure of javascript usage of MFC ActiveX Control - Part 2 Pin
Lim Bio Liong3-Dec-09 16:33
Lim Bio Liong3-Dec-09 16:33 
GeneralFailure of javascript usage of MFC ActiveX Control - Part 3 Pin
Lim Bio Liong3-Dec-09 16:35
Lim Bio Liong3-Dec-09 16:35 
GeneralFailure of javascript usage of MFC ActiveX Control - Part 4 Pin
Lim Bio Liong3-Dec-09 16:36
Lim Bio Liong3-Dec-09 16:36 
GeneralInteresting Info On delete and delete [] Pin
Lim Bio Liong25-Nov-09 17:27
Lim Bio Liong25-Nov-09 17:27 
GeneralInteresting Problem Related to a Temporary VARIANT - Personal Findings - Part 1 Pin
Lim Bio Liong12-Aug-09 22:41
Lim Bio Liong12-Aug-09 22:41 
GeneralTwo Ways To Reference External Types Into An IDL. Pin
Lim Bio Liong16-Jun-09 1:11
Lim Bio Liong16-Jun-09 1:11 
GeneralThe Interface Map of CCmdTarget. Pin
Lim Bio Liong6-May-09 20:52
Lim Bio Liong6-May-09 20:52 
GeneralHandling COM Events in an MFC Client. [modified] Pin
Lim Bio Liong6-May-09 20:28
Lim Bio Liong6-May-09 20:28 
1. The API to use for connecting to the event source of an object to a sink in a client application is AfxConnectionAdvise().

2. Assuming an event source interface that is purely IDispatch-based, we can implement an event sink (using MFC) via a CCmdTarget-derived class.

3. Listed below are the basic requirements of a sink :

3.1 It must implement IDispatch.

3.2 It must acknowledge the support of the DIID (dispatch ID) of the outgoing event interface.

3.3 It must implement the methods of the outgoing source interface.

4. Based on the requirements listed above, we can proceed to create an eventsink that is based on code provided by MFC. The following are the salient points of such a class :

4.1 It must derive from CCmdTarget. This is due to the CCmdTarget class' internal support of the IDispatch interface (as per requirement 3.1). The CCmdTarget's IDispatch implementation is achieved via a tiny embedded class named XDispatch. An instance of this emdedded class (m_xDispatch) is declared inside CCmdTarget. m_xDispatch must first be initialized via the CCmdTarget::EnableAutomation() function. This should be called inside the constructor of the sink class.

4.2 It must include the DECLARE_INTERFACE_MAP() macro in its class definition. This indicates to the MFC framework that this class will have a custom interface map. Through the interface map, we declare the various interfaces (including any source Dispatch interface) supported by the sink class (as per requirement 3.2). Via the macros BEGIN_INTERFACE_MAP(), INTERFACE_PART() and END_INTERFACE_MAP(), we declare that the sink class implements the source Dispatch interface.

4.3 It must include the DECLARE_DISPATCH_MAP() macro in its class definition. This macro indicates to the framework that this class will provide a dispatch map to expose IDispatch-based methods and properties. Through the diapatch map, we declare the various methods and properties exposed by the sink class. The methods must of course correspond with the methods of the source IDispatch interface (as per requirement 3.3).
The macros used are : BEGIN_DISPATCH_MAP(), DISP_FUNCTION(), DISP_PROPERTY(), END_DISPATCH_MAP().

5. In a call to AfxConnectionAdvise(), the 3rd parameter must be the IUnknown interface pointer to the event sink. To get this IUnknown interface pointer, the entry point function is the CCmdTarget::GetIDispatch() function. Call this function using the sink object. From the IDispatch interface pointer returned from CCmdTarget::GetIDispatch(), we can QueryInterface() it for an IUnknown interface pointer.

modified on Tuesday, June 16, 2009 7:11 AM

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.