Click here to Skip to main content
15,887,214 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
AnswerRe: RichEdit control in Dialog: "Retrun" does'nt Work ! Pin
Code-o-mat1-Aug-10 8:14
Code-o-mat1-Aug-10 8:14 
GeneralRe: RichEdit control in Dialog: "Retrun" does'nt Work ! Pin
stephen_young1-Aug-10 12:26
stephen_young1-Aug-10 12:26 
GeneralRe: RichEdit control in Dialog: "Retrun" does'nt Work ! Pin
Code-o-mat1-Aug-10 21:54
Code-o-mat1-Aug-10 21:54 
QuestionHow do I dock panes stacked on top of each other? Pin
Mattias G1-Aug-10 3:11
Mattias G1-Aug-10 3:11 
AnswerRe: How do I dock panes stacked on top of each other? Pin
Mattias G1-Aug-10 3:15
Mattias G1-Aug-10 3:15 
GeneralRe: How do I dock panes stacked on top of each other? Pin
Iain Clarke, Warrior Programmer3-Aug-10 2:12
Iain Clarke, Warrior Programmer3-Aug-10 2:12 
QuestionPlugin Abstract Interface idea Pin
saiyuk6=731-Jul-10 23:23
saiyuk6=731-Jul-10 23:23 
AnswerRe: Plugin Abstract Interface idea PinPopular
Moak1-Aug-10 0:55
Moak1-Aug-10 0:55 
Hi, I suggest to simplify. Smile | :)

There is no need to mix templates, virtual methods and a global factory function. Wouldn't it be simpler to let polymorphism do the work, inherit from the plugin interface and that's it. This works because virtual methods Function1()/Function2() will be called in the specific implementation (even when called via base class pointer IPlugin).

The problem with plugins is typically memory handling, at least that is the first thing that comes in my mind. You need to make sure that dynamic memory allocation/deallocation happens in the same heap (STL strings and containers can't be used out-of-the-box). Of course, you can use allocators to get better control of memory allocation/deallocation over library boundaries. There is also a nice book called Imperfect C++ which describes these kind of problems and possible solutions.

Not sure if I answered your questions, but I hope I could give some help.
/M

PS: There is a typo TestPlugin1::Function2() and TestPlugin2::Function2() in the printf text string, that's why the debug output is other than expected.

GeneralRe: Plugin Abstract Interface idea Pin
saiyuk6=71-Aug-10 8:47
saiyuk6=71-Aug-10 8:47 
GeneralRe: Plugin Abstract Interface idea Pin
Aescleal1-Aug-10 11:40
Aescleal1-Aug-10 11:40 
AnswerRe: Plugin Abstract Interface idea Pin
Aescleal1-Aug-10 6:58
Aescleal1-Aug-10 6:58 
GeneralRe: Plugin Abstract Interface idea Pin
saiyuk6=71-Aug-10 8:34
saiyuk6=71-Aug-10 8:34 
GeneralRe: Plugin Abstract Interface idea Pin
Aescleal1-Aug-10 11:24
Aescleal1-Aug-10 11:24 
AnswerRe: Plugin Abstract Interface idea Pin
KarstenK1-Aug-10 20:51
mveKarstenK1-Aug-10 20:51 
GeneralRe: Plugin Abstract Interface idea Pin
saiyuk6=71-Aug-10 22:43
saiyuk6=71-Aug-10 22:43 
QuestionChild Dialog Pin
john563231-Jul-10 0:31
john563231-Jul-10 0:31 
AnswerRe: Child Dialog Pin
Cool_Dev31-Jul-10 0:54
Cool_Dev31-Jul-10 0:54 
AnswerRe: Child Dialog Pin
Richard MacCutchan31-Jul-10 0:55
mveRichard MacCutchan31-Jul-10 0:55 
GeneralRe: Child Dialog Pin
Cool_Dev31-Jul-10 1:11
Cool_Dev31-Jul-10 1:11 
GeneralRe: Child Dialog Pin
Richard MacCutchan31-Jul-10 1:57
mveRichard MacCutchan31-Jul-10 1:57 
GeneralRe: Child Dialog Pin
Cool_Dev31-Jul-10 2:06
Cool_Dev31-Jul-10 2:06 
GeneralRe: Child Dialog Pin
Richard MacCutchan31-Jul-10 3:06
mveRichard MacCutchan31-Jul-10 3:06 
GeneralRe: Child Dialog Pin
Gary R. Wheeler31-Jul-10 10:25
Gary R. Wheeler31-Jul-10 10:25 
GeneralRe: Child Dialog Pin
Richard MacCutchan31-Jul-10 21:23
mveRichard MacCutchan31-Jul-10 21:23 
GeneralRe: Child Dialog Pin
Gary R. Wheeler31-Jul-10 23:43
Gary R. Wheeler31-Jul-10 23:43 

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.