Jump to content

This site uses cookies. By continuing to browse the site you are agreeing to our use of cookies. Find out more here. X
X


Photo

Plugins (deprecated)


  • Please log in to reply
221 replies to this topic

#181 JRowe

JRowe

    Chasing the white rabbits

  • Active Members
  • PipPipPipPipPipPip
  • 1,765 posts

Posted 18 March 2010 - 01:45 PM

Mostly. There are a few notable projects that use it, like au3Irrlicht.

I've never seen a problem with using it. It's a good tool.







#182 FinalVersion

FinalVersion

    0 ^ 1

  • Active Members
  • PipPipPipPipPipPip
  • 599 posts

Posted 18 March 2010 - 03:24 PM

I compiled the example, but Autoit gives the errors about the functions from the example.dll. And I'm using the example autoit script meant for the example.dll.

#183 JRowe

JRowe

    Chasing the white rabbits

  • Active Members
  • PipPipPipPipPipPip
  • 1,765 posts

Posted 18 March 2010 - 03:38 PM

We need more information if you want help. What errors are you getting? What did you compile with?

Actually, try using the preprocessor directive meant to disable the warnings thrown by unknown function names:



Put that at the top of your script, with the correct demo function names.

Edited by JRowe, 18 March 2010 - 04:04 PM.


#184 FinalVersion

FinalVersion

    0 ^ 1

  • Active Members
  • PipPipPipPipPipPip
  • 599 posts

Posted 18 March 2010 - 04:23 PM

No I just tried the example that comes with the SDK.

#185 jchd

jchd

    Whatever your capacity, resistance is futile.

  • MVPs
  • 5,334 posts

Posted 30 May 2010 - 11:04 PM

For some time I've been contemplating using the plugin architecture as a very convenient way to bring ad hoc fast functions with an easy to use syntax and low overhead.
I'm now at a point where I need to make a strategic choice: rely on plugins or not. Thus I'd appreciate to have informed opinions about:
1/ the perenity of plugins
2/ their ability to deal with in and out native Unicode strings.

As I understand it after spending good time reading this thread and looking at members' realizations, plugins are essentially stable and unlikely to disappear anytime soon. But their handling of Unicode is still to develop, is a non-trivial task and has low priority.
Given that what I intended to use plugins for is in large part for native strings handling, I suppose I need to stick to DllCalls.

Does that reflect the current situation?

SQLite official website with full documentation (may be newer than the SQLite library that comes standard with AutoIt)

A work-in-progress SQLite3 tutorial. Don't miss other LxyzTHW pages!

SQL tutorial (covers "generic" SQL, but most of it applies to SQLite as well)

An excellent eBook covering almost every aspect of SQLite3: a must-read for anyone doing serious work.

 

SQLite Expert (freeware Personal Edition or payware Pro version) is a very useful SQLite database manager.

SQLitespeed is another feature-rich premier SQLite manager (includes import/export). Well worth a try.

 

PCRE v8.33 regexp documentation latest available release and currently implemented in AutoIt beta.

RegExp tutorial: enough to get started

Another excellent RegExp tutorial. Don't forget downloading your copy of up-to-date pcretest.exe and pcregrep.exe here

This wonderful site allows debugging and testing regular expressions (many flavors available). An absolute must have in your bookmarks.


#186 JSThePatriot

JSThePatriot

    carpe diem. vita brevis.

  • MVPs
  • 3,692 posts

Posted 24 August 2010 - 01:33 PM

For some time I've been contemplating using the plugin architecture as a very convenient way to bring ad hoc fast functions with an easy to use syntax and low overhead.
I'm now at a point where I need to make a strategic choice: rely on plugins or not. Thus I'd appreciate to have informed opinions about:
1/ the perenity of plugins
2/ their ability to deal with in and out native Unicode strings.

As I understand it after spending good time reading this thread and looking at members' realizations, plugins are essentially stable and unlikely to disappear anytime soon. But their handling of Unicode is still to develop, is a non-trivial task and has low priority.
Given that what I intended to use plugins for is in large part for native strings handling, I suppose I need to stick to DllCalls.

Does that reflect the current situation?

I'm sure you've moved forward since this post, but your understanding of where plugins are does seem to be quite correct. They are in general a low priority. They do what they do currently quite well in my opinion. They are still lacking many features and functionality, but that's understandable considering they are a low priority of the language.

GL with your endeavors,
Jarvis

AutoIt Links

File-String Hash Plugin Updated! 04-02-2008 Plugins have been discontinued. I just found out.

ComputerGetInfo UDF's Updated! 11-23-2006

External Links

Vortex Revolutions Engineer / Inventor (Web, Desktop, and Mobile Applications, Hardware Gizmos, Consulting, and more)


#187 RickCHodgin

RickCHodgin

    Seeker

  • New Members
  • 2 posts

Posted 24 May 2011 - 04:19 AM

I've created a .dll using the example.c "template" file that comes with AutoIT3. It compiles properly and everything seems to be working with the DLL.

Where do I put this plugin to be loaded by AutoIT?

I was looking for something like a plugins\ directory, but couldn't find one. Also, I see in the include\ directory there is a SQLite.au3 and SQLite.dll.au3. Is there some post-process that has to be run to convert the DLL from its native Win32 form to something AutoIT uses?

Any help would be appreciated. Thanks.

#188 RickCHodgin

RickCHodgin

    Seeker

  • New Members
  • 2 posts

Posted 24 May 2011 - 05:30 AM

I'm also wondering if there's a feature (or could be) which allows AutoIT to parse a given line, such as:

foo_function($p1, $p2);


where "foo_function" is syntactically correct, but not found, and then have AutoIT automatically scan a plugins\ directory to look for .dlls that have the matching function name coded within the:

AU3_PLUGIN_FUNC g_AU3_Funcs[] = {     /* Function Name, Min, Max */     { "foo_function", 2, 2} };


structure? This would seem to be a desirable trait, rather than explicitly calling PluginOpen().

- Rick C. Hodgin

Edited by RickCHodgin, 24 May 2011 - 05:31 AM.


#189 wraithdu

wraithdu

    this noise inside my head

  • MVPs
  • 2,413 posts

Posted 24 May 2011 - 01:12 PM

Aside from what's provided with the SDK, PluginOpen and PluginClose are the AutoIt functions you need.

#190 devrandom

devrandom

    Seeker

  • Active Members
  • 39 posts

Posted 13 June 2011 - 10:04 AM

Hello, there is an error in the example plugin.
Line 155:
if ( AU3_GetType(&p_AU3_Params[0]) != AU3_PLUGIN_INT32 || AU3_GetType(&p_AU3_Params[0]) != AU3_PLUGIN_INT32 )

Should be:
if ( AU3_GetType(&p_AU3_Params[0]) != AU3_PLUGIN_INT32 || AU3_GetType(&p_AU3_Params[1]) != AU3_PLUGIN_INT32 )


#191 twitchyliquid64

twitchyliquid64

    Peace. Always.

  • Active Members
  • PipPipPipPipPipPip
  • 527 posts

Posted 18 July 2011 - 04:36 AM

In the first post Jon Mentioned the removal of the PluginOpen Command in Favour of a Preproccessor Directive.

That was over six years ago.



Therefore is it safe to assume that this will not be implemented, and it is unlikely for there to be any script breaking changes to the plugin system?
ongoing projects:-firestorm: Largescale P2P Social NetworkCompleted Autoit Programs/Scripts: Variable Pickler | Networked Streaming Audio (in pure autoIT) | firenet p2p web messenger | Proxy Checker | Dynamic Execute() Code Generator | P2P UDF | Graph Theory Proof of Concept - Breadth First search

#192 Valik

Valik

    Former developer.

  • Active Members
  • PipPipPipPipPipPip
  • 18,879 posts

Posted 18 July 2011 - 04:56 AM

That is not a safe assumption.

#193 twitchyliquid64

twitchyliquid64

    Peace. Always.

  • Active Members
  • PipPipPipPipPipPip
  • 527 posts

Posted 18 July 2011 - 05:00 AM

That is not a safe assumption.


As a developer, would you be able to tell me if any changes to this system are on the table? and if yes, what they are?
ongoing projects:-firestorm: Largescale P2P Social NetworkCompleted Autoit Programs/Scripts: Variable Pickler | Networked Streaming Audio (in pure autoIT) | firenet p2p web messenger | Proxy Checker | Dynamic Execute() Code Generator | P2P UDF | Graph Theory Proof of Concept - Breadth First search

#194 Valik

Valik

    Former developer.

  • Active Members
  • PipPipPipPipPipPip
  • 18,879 posts

Posted 18 July 2011 - 12:23 PM

There is nothing to mention. It's an experimental feature not in a finished state.

#195 Shaggi

Shaggi

    Universalist

  • Active Members
  • PipPipPipPipPipPip
  • 309 posts

Posted 22 July 2011 - 11:25 PM

Any chance arrays as return are on the way? I have a plugin func which has to return a dynamically sized array. Since this isn't possible, only way to do it is some string formatting or struct passing. But both require an interface from autoit, and doing the string thing really leaks memory.

Best was something like this...
struct ArrayReturn {     unsigned int amount;     void * elements; }; ...     DWORD * arr = new DWORD[nVec.size()+1];     for(unsigned int i = 0; i < nVec.size();++i)         arr[i] = nVec[i];     ArrayReturn _return;     _return.amount = nVec.size();     _return.elements = arr;     AU3_SetInt32(pMyResult,(int)&_return); ...

Ever wanted to call functions in another process? ProcessCall UDFConsole stuff: Console UDFC Preprocessor for AutoIt OMG

#196 twitchyliquid64

twitchyliquid64

    Peace. Always.

  • Active Members
  • PipPipPipPipPipPip
  • 527 posts

Posted 23 July 2011 - 12:26 PM

Any chance arrays as return are on the way? I have a plugin func which has to return a dynamically sized array. Since this isn't possible, only way to do it is some string formatting or struct passing. But both require an interface from autoit, and doing the string thing really leaks memory.

Best was something like this...

struct ArrayReturn {     unsigned int amount;     void * elements; }; ...     DWORD * arr = new DWORD[nVec.size()+1];     for(unsigned int i = 0; i < nVec.size();++i)         arr[i] = nVec[i];     ArrayReturn _return;     _return.amount = nVec.size();     _return.elements = arr;     AU3_SetInt32(pMyResult,(int)&_return); ...

I doubt it, cause as valik said, it's an experimental function not in a finished state, not to mention there has been no development on this functionality for several years.

Edited by hyperzap, 23 July 2011 - 12:27 PM.

ongoing projects:-firestorm: Largescale P2P Social NetworkCompleted Autoit Programs/Scripts: Variable Pickler | Networked Streaming Audio (in pure autoIT) | firenet p2p web messenger | Proxy Checker | Dynamic Execute() Code Generator | P2P UDF | Graph Theory Proof of Concept - Breadth First search

#197 Unsigned

Unsigned

    Wayfarer

  • Active Members
  • Pip
  • 70 posts

Posted 01 October 2011 - 11:38 PM

EDIT: devrandom beat me to it. :graduated:

Hello, there is an error in the example plugin.
Line 155:

if ( AU3_GetType(&p_AU3_Params[0]) != AU3_PLUGIN_INT32 || AU3_GetType(&p_AU3_Params[0]) != AU3_PLUGIN_INT32 )

Should be:
if ( AU3_GetType(&p_AU3_Params[0]) != AU3_PLUGIN_INT32 || AU3_GetType(&p_AU3_Params[1]) != AU3_PLUGIN_INT32 )


Also, I'd vote to keep PluginOpen() just because it allows dynamic loading of different plugins based on runtime conditions.

Edited by Unsigned, 01 October 2011 - 11:38 PM.

LA-based actor, part-time freelance security analyst and assembly/C/C++ kernel developer. (Extra cash is goooood.)

#198 1234hotmaster

1234hotmaster

    Seeker

  • Active Members
  • 13 posts

Posted 23 November 2011 - 09:27 PM

i also support PluginOpen because its useful and btw can the team please continue to work on it? :D

#199 sxyruz

sxyruz

    Seeker

  • Active Members
  • 5 posts

Posted 14 February 2012 - 10:34 AM

Great feature, as always. And will benefit all people, even those who will just be making the jump from not writing on C/C++.

AutoIt covers the basic needed features for any programming needs but in any case that you would ned to get a full blown language to work with you, C/C++ are always something to look forward to.

#200 acidman

acidman

    Universalist

  • Banned (NOT IN USE)
  • 266 posts

Posted 25 April 2012 - 05:17 PM

this plugin idea is a good one, considering not all of us has a background of making calls to .dll's so hell yea, go for it...
My dream is to have a dream...




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users