WoW:API LoadAddOn: Difference between revisions

From AddOn Studio
Jump to navigation Jump to search
m (updated the template)
Line 34: Line 34:


== Details ==
== Details ==
: Prior to the 1.8 patch, this could be used to load addons which were not on-demand if they were disabled at start up and then enabled during the play session. The 1.8 patch will restrict this to ONLY addons which are truly marked on demand in their .toc files (## LoadOnDemand: 1).
: Prior to the 1.8 patch, this could be used to load addons which were not on-demand if they were disabled at start up and then enabled during the play session. The 1.8 patch restricted this to ONLY addons which are truly marked on demand in their .toc files (## LoadOnDemand: 1).


----
----
__NOTOC__
__NOTOC__

Revision as of 20:44, 30 November 2006

WoW API < LoadAddOn

LoadAddOn

Request the loading of an On-Demand AddOn.

loaded, reason = LoadAddOn(index or "name")

Parameters

Arguments

(index or "name")
index
Integer - The index of the AddOn in the user's AddOn list. Note that you cannot access Blizzard-provided AddOns through this mechanism.
name
String - The name of the AddOn to be queries. You can access Blizzard-provided AddOns through this mechanism.

Returns

loaded, reason
loaded
Flag - Indicates if the AddOn was loaded, 1 if it is, nil if it is not.
reason
String - The reason why the AddOn cannot be loaded. This is nil if the addon was loaded, otherwise it contains a code indicating the reason. (Observed reason codes: "DISABLED", "NOT_DEMAND_LOADED", "MISSING", "CORRUPT", "INTERFACE_VERSION", "DEP_MISSING", "DEP_INTERFACE_VERSION" and I asume other DEP_ reasons)

Usage

local loaded,reason = LoadAddOn("MyOtherAddOn")
 if (not loaded) then
  if (reason == "DISABLED") then
   do stuff
  elseif (reason == "MISSING") then
   do other stuff
  elseif (reason == "CORRUPT") then
   do something else
  elseif (reason == "INTERFACE_VERSION") then
   do something different
  end
 else
  do something special
 end

Details

Prior to the 1.8 patch, this could be used to load addons which were not on-demand if they were disabled at start up and then enabled during the play session. The 1.8 patch restricted this to ONLY addons which are truly marked on demand in their .toc files (## LoadOnDemand: 1).