Hi, try to define the variable as a Type: I googled this: Type TOneArg = Procedure (Var X : integer); on https://www.freepascal.org/docs-html/ref/refse17.html
On 07/11/22 01:18, Aitor Santamaría wrote: > Hello, > > I am trying to recompile FD-KEYB using 16-bit DOS FreePascal, in order > to see if I can produce a FPC version and thus avoid using TPC for > compiling. > > I am not being very lucky with compiling itself, and I haven't raised > too much attention in the FPC lists, either because it is difficult, > or most probably, compiling for an old 16-bit OS does not raise too > much interest. > > So I am trying this list here, in case some of you have ever mangled > 16-bit FPC and know the answer. > > The biggest problem I am having is with the procedural type variables. > Whereas TPC would swallow this: > > VAR > v: procedure; > > procedure P; > begin > ... > end; > > v := P; > > FPC does not like it, as it is trying to assign the RESULT of P > (untyped) to v. > > KEYB.PAS(2960,21) Error: Incompatible types: got "untyped" expected > "<procedure variable type of procedure;Pascal>" > > The documentation tells me to use > > v := @P; > > but it does not work, it gives: > > KEYB.PAS(2960,21) Error: Illegal type conversion: "<address of > procedure;far;Pascal>" to "<procedure variable type of procedure;Pascal>" > > which puzzles me, because to my mind, they are the same thing. > > > Using -MTP compiler option does not help, I get lots of new errors, > unless I avoid it by > > TYPE > SimpleProc = procedure; far; { parameter-less callable > function } > > (which is NOT standard TP language at all), but would in turn give me: > > KEYB.PAS(2960,21) Error: Illegal type conversion: "<address of > procedure;far;Pascal>" to "NearCsPointer" > > You can read the full thread here: > Far pointer versus Pointer in 16-bit DOS (freepascal.org) > <https://forum.lazarus.freepascal.org/index.php/topic,60973.0.html> > > > Any hints on how to circumvent this problem? > > Thanks in advance, > Aitor > > > > > _______________________________________________ > Freedos-devel mailing list > Freedos-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/freedos-devel
_______________________________________________ Freedos-devel mailing list Freedos-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-devel