this happens because windows API code usually have two versions: an Ascii version where chars are 8-bit ASCII (with the suffix A, and used mainly in 9x code) and other where the chars are 2-byte unicode chars with the W suffix, used mainly in 2000/XP stuff (guess W means wide in the sense of widestring)
<br><br>
<div><span class="gmail_quote">On 11/14/06, <b class="gmail_sendername">Gabor Boros</b> <<a href="mailto:gaborboros@yahoo.com">gaborboros@yahoo.com</a>> wrote:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Many thanks Felipe, the problem is the exported name(s).<br>The exported names is SCAN_AllocateBuffer_A and SCAN_AllocateBuffer_W.
<br><br>Thanks again!<br><br>Gabor<br><br>Felipe Monteiro de Carvalho írta:<br>> Can you show us the c declaration of the function you are calling? It<br>> should be on a .h file.<br>><br>> Also, you should put an way to verify if the calls are working, like:
<br>><br>>    DLL_Handle:=LoadLibrary('SCNAPI32.DLL');<br>><br>>    if DLL_Handle = nil then raise EException.Create('Could not load<br>> library');<br>><br>>    Pointer(SCAN_AllocateBuffer):=GetProcedureAddress(DLL_Handle,
<br>> 'SCAN_AllocateBuffer');<br>><br>>    if Pointer(SCAN_AllocateBuffer) = nil then raise<br>> EException.Create('Could not load procedure');<br>><br>> One possibility is that this C library uses name mangling, and the
<br>> function has a different name from the canonical one. You can check<br>> all function names exported by the function using this software:<br>><br>> <a href="http://wiki.lazarus.freepascal.org/Libview">http://wiki.lazarus.freepascal.org/Libview
</a><br>><br><br>_______________________________________________<br>fpc-pascal maillist  -  <a href="mailto:fpc-pascal@lists.freepascal.org">fpc-pascal@lists.freepascal.org</a><br><a href="http://lists.freepascal.org/mailman/listinfo/fpc-pascal">
http://lists.freepascal.org/mailman/listinfo/fpc-pascal</a><br></blockquote></div><br><br clear="all"><br>-- <br>Daniel<br><br>"Let us change our traditional attitude to the construction of programs. Instead of imagining that our main task is to instruct a computer what to do, let us concentrate rather on explaining to human beings what we want a computer to do." (Donald Knuth)
<br><br>"Yes, technogeeks can be funny, even if only to each other." (<a href="http://www.boogieonline.com/revolution/science/humor/">http://www.boogieonline.com/revolution/science/humor/</a>)"<br><br>"Man is driven to create; I know I really love to create things. And while I'm not good at painting, drawing, or music, I can write software." (Yukihiro Matsumoto, 
a.k.a. ``Matz'')