I am working on learning Enterprise CDF development. I developed a simple example. I am working with packages for I can encode my codes eventually. When I use Needs command and save the package in one of the folder in the Path I dont have a problem.
But when I use the following approach and save the package in the same folder as the .nb file I get an error.
Manipulate[DynamicModule[{f = Sin[x], xR = 1, xL = 0, Res = 0.4596976941318603`16}, Column[{Style["1D Definite Integral Calculator", "Function"] logo,
Row[{"Lower Limit ", InputField[Dynamic[xL], Number]}, Spacer[5]],
Row[{"Upper Limit ", InputField[Dynamic[xR], Number]},
Spacer[5]],
Row[{"Function ", InputField[Dynamic[f]]}, Spacer[20]],
Button[Style["Calculate", Green, Bold],
Dynamic[Res = TFPackage`WD1Int[f, xR, xL, np, nw];]],
Row[{"Result", InputField[Dynamic[Res], Enabled -> False]},
Spacer[51]],
Row[{"Plot the Function ",
Checkbox[Dynamic[fp], {False, True}]}],
If[fp == True,
InputField[
Dynamic[Plot[f, {x, xL, xR}, Dynamic[PlotLabel -> f],
ImageSize -> Full]], FieldSize -> {30, 15}]],
Button[Mouseover[Style["http://www.wolfram.com", "Hyperlink"],
Style["http://www.wolfram.com", "HyperlinkActive"]],
NotebookLocate[{URL["http://www.wolfram.com"], None}],
Appearance -> None]}]], {{np, 16, "NumberFormat"}, ControlPlacement -> Bottom}, {{nw, 16, "WorkingPrecision"}, ControlPlacement -> Bottom}, Initialization :> (Get[
FileNameJoin[{NotebookDirectory[EvaluationNotebook[]],
"TFPackage.m"}]];)]
and the package is
BeginPackage["TFPackage`"];WD1Int::usage="";Begin["`Private`"];WD1Int[f_,xR_,xL_,np_,nw_]:=Module[{xLcheck,xRcheck},xLcheck=NumberQ[xL];xRcheck=NumberQ[xR];If[xLcheck==True&&xRcheck==True,WResultTF=SetPrecision[NIntegrate[f,{x,xL,xR},WorkingPrecision>Re[IntegerPart[nw]]],Re[IntegerPart[np]]],"Enter numeric inputs for Lower and Upper Limits"]];SetAttributes[WD1Int,{ReadProtected,Protected,Locked}];End[];EndPackage[];
and this is error
$Path
forNeeds
to find it. So you have to modify$Path
beforeNeeds
or put the .m file in appropriate place e.g. $UserBaseDirectory / Applications. You can also inject encoded package to the cdf, but you need: package into a CDF file and, for password protected package, [Encode->Import->StringToStream->Get ](mathematica.stackexchange.com/a/78428/5478) $\endgroup$$Path
. Are your notebook and the package on path too? Where are you opening your CDF? In FreePlayer? I suspect you are grenerating Enterprise CDFs but you don't have that info in each of your recent questions. With addition to those things, please tell us how do you export your cdf, programmatically or via menu? $\endgroup$