Explicit may only be specified along with a dstring formal parameter. The modifier makes the compiler check that an actual parameter is a non-indexed BDL string variable. Any other string notations are not allowed.
dll "some.dll" "DoExplicit" function DoExplicit(sVar : in dstring explicit); dcltrans transaction TMain var s1 : string; hMem : number; begin DoExplicit(s1); // ok DoExplicit(s1[2]); // compiler error DoExplicit(in hMem); // compiler error DoExplicit("hello"); // compiler error DoExplicit("\h110022"); // compiler error end TMain;