diff --git a/uppsrc/Core/srcdoc.tpp/DLI$en-us.tpp b/uppsrc/Core/srcdoc.tpp/DLI$en-us.tpp index b1e3deee9..f1c7234d1 100644 --- a/uppsrc/Core/srcdoc.tpp/DLI$en-us.tpp +++ b/uppsrc/Core/srcdoc.tpp/DLI$en-us.tpp @@ -1,108 +1,81 @@ -TITLE("Runtime dynamic linking using .dli files") -COMPRESSED -120,156,221,86,219,114,219,200,17,253,149,41,211,73,81,50, -164,157,43,48,32,182,182,86,38,233,88,85,20,229,210,165, -242,192,82,45,135,192,80,196,26,4,24,96,40,217,185,248, -219,115,6,0,101,105,229,84,158,19,82,36,133,193,116,247, -233,211,167,123,176,224,228,237,91,26,208,1,253,47,175,209, -196,174,205,190,112,119,139,130,107,157,228,140,113,154,24,22, -37,151,113,242,237,219,183,83,38,169,78,188,51,6,103,140, -74,193,56,195,26,149,60,98,42,166,177,210,76,83,17,73, -174,34,170,70,59,83,155,237,221,194,104,145,28,95,133,176, -226,129,26,8,38,24,101,33,151,216,69,5,229,146,113,197, -180,150,44,82,90,196,97,56,74,205,206,229,85,121,183,88, -121,59,9,51,1,51,26,233,80,50,24,73,197,69,164,36, -140,165,4,60,129,192,81,24,69,35,151,187,194,222,45,114, -143,27,104,199,30,165,12,194,1,208,241,8,150,146,203,80, -10,205,5,211,156,135,177,144,177,4,108,198,71,185,179,0, -185,146,60,49,248,120,51,133,120,82,73,38,192,136,140,148, -192,182,8,191,146,198,140,35,168,166,74,33,158,253,114,160, -105,5,130,60,73,222,54,68,72,30,41,111,161,165,102,34, -210,92,242,144,3,4,141,144,168,71,160,70,153,109,82,216, -10,206,18,7,88,201,248,87,149,48,24,71,65,52,224,52, -166,60,140,98,4,5,96,228,44,226,152,9,141,160,146,41, -202,196,40,173,50,228,185,226,138,138,4,54,26,149,8,225, -184,101,69,133,12,152,185,208,136,24,49,33,240,173,164,142, -70,141,245,181,112,85,125,183,56,254,117,72,79,233,41,87, -234,200,227,141,97,174,133,20,66,134,177,100,84,32,10,124, -72,79,89,72,81,77,166,184,30,173,76,131,144,14,75,81, -50,246,213,247,90,2,243,66,43,129,200,33,190,80,85,164, -39,192,14,143,165,22,66,211,81,90,152,166,233,41,242,244, -28,251,20,25,11,24,27,68,158,89,37,184,140,61,53,130, -131,98,30,170,152,129,99,21,74,202,71,181,253,219,62,175, -237,214,150,32,57,135,56,146,67,129,122,37,2,75,39,68, -30,48,14,41,170,48,164,158,45,5,57,112,161,64,55,101, -90,2,17,222,40,178,235,181,184,106,83,104,13,69,192,196, -32,230,82,0,73,44,37,8,128,3,22,51,198,168,198,27, -153,129,150,86,29,172,151,85,31,190,51,151,1,147,131,8, -34,70,157,98,233,195,199,194,211,199,193,62,15,169,66,25, -120,103,206,61,233,252,45,104,103,92,251,207,145,183,87,1, -67,51,0,33,83,10,105,11,16,205,53,82,87,96,94,180, -250,102,145,30,205,237,99,51,49,206,246,106,57,30,191,237, -100,198,194,128,133,3,234,237,149,142,81,62,38,61,125,66, -202,152,199,66,40,30,43,17,82,208,216,116,221,236,141,125, -63,181,189,248,228,36,10,88,132,206,66,170,74,33,249,214, -12,137,71,204,67,225,58,14,61,9,189,147,229,73,145,151, -30,7,116,145,116,82,56,30,191,99,44,242,142,52,58,70, -235,144,138,24,92,128,2,170,32,115,76,3,141,58,163,204, -28,61,224,199,65,250,217,220,219,229,73,223,170,222,208,203, -79,9,165,189,104,97,8,228,192,0,55,49,165,33,86,180, -70,39,141,238,205,238,73,125,30,55,167,1,167,208,16,102, -143,66,67,34,20,196,71,99,63,71,48,21,192,63,198,80, -172,58,253,45,79,74,219,56,155,161,244,138,182,89,115,22, -112,6,234,160,62,165,180,148,33,224,34,118,228,199,146,47, -32,154,87,69,98,244,201,160,89,254,241,219,191,254,52,157, -159,220,94,147,69,195,19,114,181,47,93,190,181,36,251,90, -154,109,158,18,48,242,57,47,239,201,190,241,223,167,89,145, -147,117,94,216,230,207,119,139,134,38,228,188,36,183,5,12, -80,191,229,187,229,59,242,181,218,147,212,148,216,110,191,111, -38,174,34,102,239,42,236,202,255,110,201,189,45,45,58,181, -247,87,144,199,218,236,118,182,38,213,234,119,155,186,230,148, -220,84,36,173,45,92,146,102,159,110,250,245,214,245,198,60, -180,222,118,117,245,144,103,150,44,223,248,32,203,55,93,152, -199,220,109,72,90,149,14,45,5,224,159,45,25,154,212,237, -77,65,236,23,179,221,97,71,222,144,117,85,147,89,229,246, -13,153,87,206,54,36,45,114,191,221,35,57,26,245,89,249, -159,40,33,31,230,195,191,94,94,77,2,66,200,229,245,172, -50,217,181,171,129,58,32,195,143,23,151,147,219,217,148,108, -46,170,108,95,216,128,92,223,156,221,128,194,110,195,24,227, -43,32,233,198,212,100,121,92,91,247,126,191,94,219,58,32, -222,25,233,46,102,182,188,119,155,163,163,31,69,186,169,77, -217,20,72,31,129,90,147,167,133,139,239,142,215,173,243,243, -178,247,122,94,118,30,95,220,189,220,187,254,54,254,123,29, -177,195,28,116,60,156,151,185,155,126,1,115,153,205,16,55, -7,37,166,190,79,123,127,112,182,60,198,245,195,143,236,47, -175,63,25,183,153,91,55,174,202,198,213,251,20,81,135,125, -246,159,170,218,205,205,246,59,29,215,182,126,176,245,179,165, -14,234,7,212,239,197,62,208,214,122,197,218,15,49,95,127, -152,172,46,119,22,249,247,177,58,63,7,155,128,76,222,127, -60,155,79,80,163,245,193,223,102,242,254,63,186,26,23,85, -99,189,175,39,179,231,187,79,191,191,158,41,4,63,203,19, -130,131,35,79,77,81,124,13,136,219,64,95,248,107,170,173, -125,220,24,7,121,214,254,84,106,108,6,137,110,172,201,160, -242,86,169,94,132,94,113,208,250,198,150,100,87,152,212,190, -212,222,32,179,107,12,35,50,153,205,62,156,207,166,243,179, -139,41,220,149,165,175,149,183,92,190,121,181,241,188,23,37, -33,243,203,155,233,245,235,251,31,167,103,147,233,21,238,255, -220,186,249,233,224,44,255,229,117,208,241,217,108,70,252,107, -54,255,116,251,126,118,62,62,108,201,203,180,216,163,245,126, -30,87,181,253,201,119,223,111,93,102,167,155,95,94,146,131, -62,77,171,237,182,42,95,164,110,202,236,255,49,83,95,115, -114,154,238,118,93,150,21,218,61,95,183,51,171,180,54,131, -52,76,55,99,200,239,251,198,145,188,36,126,158,22,207,76, -130,231,179,243,127,149,161,87,204,32,209,54,195,225,161,55, -252,67,207,131,41,252,200,173,214,173,240,253,57,176,170,48, -185,205,170,194,116,127,48,117,110,74,215,120,82,189,233,209, -31,90,238,198,59,234,142,135,134,220,23,213,10,227,125,189, -47,83,255,64,221,37,59,60,34,232,246,125,93,122,207,110, -99,15,7,72,142,233,100,202,212,118,197,216,152,134,160,109, -187,162,28,28,52,196,63,183,214,249,10,37,243,208,159,78, -176,142,140,140,192,40,7,182,45,166,73,149,225,168,186,64, -226,64,237,171,221,185,172,118,182,125,10,69,74,85,209,69, -242,53,93,89,95,214,204,39,5,220,142,60,110,224,193,118, -67,192,211,178,195,19,8,56,249,195,1,212,14,182,205,114, -193,85,184,188,75,250,197,124,61,236,211,60,140,167,147,127, -246,11,167,207,143,169,225,95,172,235,142,167,143,232,185,194, -14,231,183,179,217,81,64,166,87,87,195,114,90,215,85,141, -11,28,24,254,49,57,121,193,177,32,119,255,6,217,45,206, -87, \ No newline at end of file +topic "Runtime dynamic linking using .dli files"; +[2 $$0,0#00000000000000000000000000000000:Default] +[l288;i1120;a17;O9;~~~.1408;2 $$1,0#10431211400427159095818037425705:param] +[a83;*R6 $$2,5#31310162474203024125188417583966:caption] +[b83;*4 $$3,5#07864147445237544204411237157677:title] +[i288;O9;C2 $$4,6#40027414424643823182269349404212:item] +[b42;a42;2 $$5,5#45413000475342174754091244180557:text] +[l288;b17;a17;2 $$6,6#27521748481378242620020725143825:desc] +[l321;t246;C@5;1 $$7,7#20902679421464641399138805415013:code] +[b2503;2 $$8,0#65142375456100023862071332075487:separator] +[*@(0.0.255)2 $$9,0#83433469410354161042741608181528:base] +[t4167;C2 $$10,0#37138531426314131251341829483380:class] +[l288;a17;*1 $$11,11#70004532496200323422659154056402:requirement] +[i417;b42;a42;O9;~~~.416;2 $$12,12#10566046415157235020018451313112:tparam] +[b167;C2 $$13,13#92430459443460461911108080531343:item1] +[i288;a42;O9;C2 $$14,14#77422149456609303542238260500223:item2] +[*@2$(0.128.128)2 $$15,15#34511555403152284025741354420178:NewsDate] +[l321;*C$7;2 $$16,16#03451589433145915344929335295360:result] +[l321;b83;a83;*C$7;2 $$17,17#07531550463529505371228428965313:result`-line] +[l160;t4167;*C+117 $$18,5#88603949442205825958800053222425:package`-title] +[2 $$19,0#53580023442335529039900623488521:gap] +[t4167;C2 $$20,20#70211524482531209251820423858195:class`-nested] +[b50;2 $$21,21#03324558446220344731010354752573:Par] +[{_}%EN-US +[s2; Runtime dynamic linking using .dli files&] +[s0; In Ultimate`+`+ you can use .dli file to automatize generating +.dll wrapper objects. To create such object you have to provide +`".dli`" file with content like (actual example is for Lotus +Notes client .dll):&] +[s0; &] +[s7; FN(WORD, OSLoadString, (HMODULE hModule, STATUS StringCode, +char `*retBuffer, WORD BufferLength))&] +[s7; FN(WORD, OSTranslate, (WORD TranslateMode, char far `*In, +WORD InLength, char far `*Out, WORD OutLength))&] +[s7; FN(STATUS, NotesInitExtended, (int argc, char `*`*argv))&] +[s7; FN(STATUS, OSPathNetConstruct, (char `*PortName, char `*ServerName, +char far `*FileName, char `*retPathName))&] +[s7; FN(STATUS, NSFDbOpen, (char far `*PathName, DBHANDLE far `*rethDB))&] +[s7; FN(STATUS, NSFDbClose, (DBHANDLE hDB))&] +[s7; ...........&] +[s0; &] +[s0; `- basically, this is somewhat `"reparsed`" header file for +.dll. Then place&] +[s0; &] +[s7; #define DLLFILENAME `"nnotes.dll`"&] +[s7; #define DLIMODULE NOTES&] +[s7; #define DLIHEADER &] +[s7; #define DLLCALL LNPUBLIC&] +[s7; #include &] +[s0; &] +[s0; to common header file and&] +[s0; &] +[s7; #define DLLFILENAME `"nnotes.dll`"&] +[s7; #define DLIMODULE NOTES&] +[s7; #define DLIHEADER &] +[s7; #define DLLCALL LNPUBLIC&] +[s7; #include &] +[s0; &] +[s0; to some .cpp file or, if you need that .dll just in single .cpp +file, you can use&] +[s0; &] +[s7; #define DLLFILENAME `"nnotes.dll`"&] +[s7; #define DLIMODULE NOTES&] +[s7; #define DLIHEADER &] +[s7; #define DLLCALL LNPUBLIC&] +[s7; #include &] +[s0; &] +[s0; in .cpp (this is equivalent of placing both above variants to +.cpp).&] +[s0; &] +[s0; This creates global function NOTES() returning the object instance +that has all .dll functions described in .dli file defined as +its methods. Moreover, it has operator bool that can be used +to test whether .dll is present:&] +[s0; &] +[s7; char h`[256`];&] +[s7; if(NOTES())&] +[s7; -|NOTES().OSLoadString(GetModuleHandle(NULL), ERR(nError), h, +255);&] +[s0; &] +[s0;3 ]] \ No newline at end of file