DLL Plugin system

This is a discussion on DLL Plugin system within the C++ Programming forums, part of the General Programming Boards category; Concerning design methods for my 3D Engine, I have tested several, but I think that a plugin system would be ...

  1. #1
    Registered User
    Join Date
    Jun 2002
    Posts
    132

    DLL Plugin system

    Concerning design methods for my 3D Engine, I have tested several, but I think that a plugin system would be excellent. However, I don't know from where to start! I have experience in making DLLs, but i don't know how to make a plugin system.

    If anyone can help me out here, I'd appreciate it a lot.
    Thanks!
    Y3K Network http://www.y3knetwork.com
    Bringing the software of the future on the net.

  2. #2
    pronounced 'fib' FillYourBrain's Avatar
    Join Date
    Aug 2002
    Posts
    2,297
    if you've ever messed with activeX or netscape plugins you would see a concept of standard interfaces.

    a standard interface is one that should be enough for any plugin. It's a series of function calls that your dll will have to implement in order to work. plus you may want to include a standard callback interface for the main app.
    "You are stupid! You are stupid! Oh, and don't forget, you are STUPID!" - Dexter

  3. #3
    Registered User
    Join Date
    Jun 2002
    Posts
    132
    Can you point me to some tutorials? Cause I've never worked with ActiveX or netscape plugins, just win32 DLLs.
    Y3K Network http://www.y3knetwork.com
    Bringing the software of the future on the net.

  4. #4
    pronounced 'fib' FillYourBrain's Avatar
    Join Date
    Aug 2002
    Posts
    2,297
    I am not familiar with any tutorials really but it's a simple concept.

    ask yourself, what you want a plugin to be allowed to do. Then define the interface it must have. an interface can be a series of exported functions in the dll or a pointer to a class interface or even (as in NS plugins) a pointer to a struct full of function pointers.
    "You are stupid! You are stupid! Oh, and don't forget, you are STUPID!" - Dexter

  5. #5
    pronounced 'fib' FillYourBrain's Avatar
    Join Date
    Aug 2002
    Posts
    2,297
    Then just have some registration process. A plugin is assiciated with some file type or something. Either that has to be "installed" or it can be done when the program loads. For instance a function called GetPluginInfo() can be called on every dll in the plugin directory when your main app loads.
    "You are stupid! You are stupid! Oh, and don't forget, you are STUPID!" - Dexter

  6. #6
    Registered User
    Join Date
    Jun 2002
    Posts
    132
    I surely can export a class out of a plugin (I don't know if i say this correctly), cause I need to.
    Do you have any sample plugin code? ANything smalla dns imple to get me started?

    Thanks
    Y3K Network http://www.y3knetwork.com
    Bringing the software of the future on the net.

  7. #7
    pronounced 'fib' FillYourBrain's Avatar
    Join Date
    Aug 2002
    Posts
    2,297
    here's the netscape plugin site
    http://devedge.netscape.com/central/plugins/
    "You are stupid! You are stupid! Oh, and don't forget, you are STUPID!" - Dexter

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Error C2664 - Trying to call an external Dll
    By jamez05 in forum C++ Programming
    Replies: 3
    Last Post: 08-08-2006, 06:07 AM
  2. Calling a DLL
    By jamez05 in forum C++ Programming
    Replies: 1
    Last Post: 01-05-2006, 10:13 AM
  3. DLL and std::string woes!
    By Magos in forum C++ Programming
    Replies: 7
    Last Post: 09-08-2004, 12:34 PM
  4. C++ .NET - "inconsistent dll linkage" - What's that?
    By BrianK in forum Windows Programming
    Replies: 2
    Last Post: 03-16-2004, 09:16 AM
  5. Using class with DLL
    By greg2 in forum C++ Programming
    Replies: 2
    Last Post: 09-12-2003, 05:24 AM

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21