EPSON Printer Driver - Problem to use a LPBYTE parameter in delphi

Hi

I have a problem to use a C - DLL in Delphi 2007.


This is the C declaration :

typedef SA_RESULT (WINAPI* DLL_BiDirectIOEx)(int, DWORD, LPBYTE, LPDWORD, 
LPBYTE, DWORD, BOOL, BYTE);

nErr = BiDirectIOEx (nHandle, writeLen, writeCmd, readLen, readBuff, 
Timeout, nullTerminate,option )

nHandle: Specifies the handle. This is an INT type.

writeLen: Specifies the data length to write to the printer.
Does not write to the printer when "0". This is a DWORD type.

writeCmd: Specifies the data (ESC/POS command) to write to the printer.
This is a LPBYTE type.

http://snap3.uas.mx/RECURSO1/EPSON%20Advanced%20Printer%20Driver/Manual/ADT3_StmApiEM.pdf
Pag. 57 / 214   -   EpsStmApi.dll
......


How I can to declare (and to use) a LPBYTE parameter in Delphi?
------------------------------------------------------------------------

i have tried this but don't work  :

function BiDirectIOEx(iHandle: Integer;
                      writeLen: Integer;  writeCmd: Byte???? ; readLen: 
Integer;   readBuff: Byte????;
                      Timeout: integer; nullTerminate: boolean; option: 
byte): Integer; stdcall;

var
  BuffPointerW,BuffPointerR  : ??????????
begin
iErr := BiDirectIOEx(iHandle,SizeOf(BuffPointerW),BuffPointerW  ?????????? 
,
                                             SizeOf(BuffPointerR), 
BuffPointerR    ??????????   , 3000,True,0);
....
end;
0
Mauro
8/25/2008 3:52:25 PM
embarcadero.delphi.win32 2183 articles. 0 followers. Follow

3 Replies
1383 Views

Similar Articles

[PageSpeed] 30

> How I can to declare (and to use) a LPBYTE parameter in Delphi?

Use PByte (a pointer to a byte).  'LP' = 'Long Pointer', but all
pointers are 'long' in Win32/Win64.
0
Chris
8/25/2008 4:28:06 PM
<Mauro Botta> wrote in message news:6435@forums.codegear.com...

> This is the C declaration :

Here you go:

    function BiDirectIOEx(nHandle: Integer; writeLen: DWORD; writeCmd: 
PByte; var readLen: DWORD; readBuff: PByte; timeout: DWORD; nullTerminate: 
BOOL; option: BYTE): Integer; stdcall; external 'EpsStmApi.dll';

    var
        iHandle: Integer;
        BuffPointerW, BuffPointerR: array[0..1024] of Byte;
        BuffSizeR: DWORD;
    begin
        iHandle := ...;
        BuffSizeR := SizeOf(BuffPointerR);
        iErr := BiDirectIOEx(iHandle, SizeOf(BuffPointerW), 
@BuffPointerW[0], BuffSizeR, @BuffPointerR[0], 3000, True, 0);
        ...
    end;

Alternatively, you can replace PByte with Pointer in the function 
declaration:

    function BiDirectIOEx(nHandle: Integer; writeLen: DWORD; writeCmd: 
Pointer; var readLen: DWORD; readBuff: Pointer; timeout: DWORD; 
nullTerminate: BOOL; option: BYTE): Integer; stdcall; external 
'EpsStmApi.dll';


Gambit
0
Remy
8/25/2008 6:06:37 PM
Very Very Thank.
0
Mauro
8/26/2008 7:30:09 AM
Reply:

Similar Artilces:

delphi Win32 using delphi .NET dll
Hi, I'm trying to use a delphi.NET dll in delphi.WIN32. I am currently using CodeGear Delphi 2007 with version2(base version) of .NET I can get the dll to import into the WIN32 application the only problem is when i include things such as: "using Classes,DateUtils, SysUtils" in the .NET dll the win32 application will instantly hang when any of the dll functions are called. Any help would be great thanks. Also I have tried this example and it also crashes for me? http://cc.embarcadero.com/Item/22688 -Braden I also found this.. "The problem is that, wehn you instal...

Delphi.NET loading Delphi.Win32 Driver
Hi, What I'm trying to do is marshal an array of cardinal (or integer) back into managed memory from a win32 dll. I know how to pass managed memory into a win32 dll {code} var aa : array of Integer; Buffer : IntPtr; begin SetLength(aa,2); aa[0] := 1; aa[1] := 80; if not Supports(ExtractFilePath(Application.ExeName)+'Win32_Library\SDK_Driver.Win32.io', TypeOf(IMyFunctions), MyFunctions) then Exit; //loads the driver into memory. MyFunctions contains the method names found in the SDK_Driver. Buffer := Marshal.AllocHGlobal(2 * {Marshal.SystemDefaultC...

Using Delphi 7 and Delphi 2010
I had a project in Delphi 7. I worked on it in Delphi 2010. When I try to open the .dpr again in Delphi 7, the IDE toolbar widens across both monitors, and Delphi 7 locks up. It appears that Delphi 2010 modifies the .dpr in a way that makes Delphi 7 unable to open it again. All my forms & units appear to open fine in D7 after D2010, except for the warnings on the ExplicitHeight and ExplicitWidth properties being missing... I can easily recreate the .dpr, but is this expected behavior? Thanks. Tom Field wrote: > I had a project in Delphi 7. > > I worked o...

Converting Delphi for Win32 to Delphi .Net(Prism)
Hi, I am currently migrating a project from Delphi for Win32 to Delphi.net. Part of my code currently goes into a directory and pulls out a random file from this directory and loads the contents of the file for me. This code doesn't seem to work in Delphi.Net. It uses PString and a number of functions in SysUtils that don't seem to be present in Delphi.net's SysUtils file. If anyone can help me please, it would be greatly appreciated! Many thanks, Jonathan Mackey Jonathan Mackey a écrit : > I am currently migrating a project from Delphi for Win32 to &...

Migrate from Delphi 2007 for Win32 to Delphi XE
we use Delphi 2007 for Win32 to support legacy (32Bit) OWL-based pascal applications (yes i know it was a mistake not to switch to VCL 15 years ago). could our applications still be opened and compiled with Delphi XE? The existing projects are all plain Pascal-Code, coming back from the times of Turbo Pascal for Windows and later on Borland Pascal. Are there any improvements we could profit from (i.e IDE, Debugger)? Thanks Andrej > {quote:title=Andrej Dimic wrote:}{quote} > could our applications still be opened and compiled with Delphi XE? I'm not sure, but I guess ...

To use or not to use Delphi
Sadly, it seems to me that there is a sort of race between the two threads, for and against using Delphi in new projects, with more or less the same users posting in both threads. Arguments are fiercely debated in both camps. Borland had their own vision. As a community, now that Delphi has changed ownership I believe we should try to be more consistent, more clear, and more articulate in what we expect from Embercadero in terms of Delphi. We can contribute to keeping Delphi alive and moving in the right direction. "Laurent Cocea" schrieb: > Sadly, it seems to me that there ...

can i use delphi 2007 bpls in delphi 2009
can i use delphi 2007 bpls in delphi 2009 ? "Gaetan SIRY" skrev i meddelelsen news:8703@forums.codegear.com... > can i use delphi 2007 bpls in delphi 2009 ? No. -- Finn Tolderlund The compatiblity between D2006 and D2007 was unique. Normaly they can't be compatible because new version enhance/change the API. And D2009 defines String = Unicode where older version has String = Ansistring so D200x/Dx-BPL are 200% incompatible with D2009. ...

Delphi and Delphi for .Net
It seems that Delphi for .Net is slower than Delphi Win32 native applicaiton. I would like to know is it true all .Net application is slower than Win32 native applicaiton or it is Delphi for .Net only. Your information is great appreciated, Inung On 2011-06-21 18:20:17 +0100, Inung Huang said: > It seems that Delphi for .Net is slower than Delphi Win32 native applicaiton. > I would like to know is it true all .Net application is slower than > Win32 native applicaiton or it is Delphi for .Net only. If you are only running the code in the application once then, yes, yo...

Win32 program: Delphi 7 vs Delphi XE5
How is a D7 Win32 program compared to a Delphi XE5 one in terms of stability and performance? Is Delphi XE5 good enough for a big ERP project with several DLL's and hundreds of units and forms? Thanks in advance Am 26.12.2013 15:02, schrieb lior ilan: > How is a D7 Win32 program compared to a Delphi XE5 one in terms of stability > and performance? > Is Delphi XE5 good enough for a big ERP project with several DLL's and > hundreds of units and forms? > Thanks in advance > Hello, XE5 has increased functionality. Stability seems to be ok for most ...

How to use a delphi XE3 obj file in delphi 2007?
Hi, I'm migrating an application from delphi 2007 to delphi XE3 and I would like to do it in several steps. To do this I need to use a part of my new code (XE3) in the current delphi 2007 application. So I want to use the .obj file from my XE3 file. I know I have to use the {$L 'Filename'} and I know that I have to declare the functions that I want to use in external in my D2007 project. I wanted to make an easy and simple example to see how it works with only 1 function 'hello world' compiled in obj with XE3 but I can't find the way to use it in D2007. In D200...

Win32 Delphi language features introduced since Delphi 7
Hi, Am I right in thinking that the language features introduced since Delphi 7 fall into the categories: a) language features dictated by .Net compatibility. e.g. Namespaces, Inlining, records with methods, operator overloading, pure interfaces, generics, extended RTTI and reflection; b) Unicode strings and supporting procedures? c) 64-bit support What other language features, if any, have been introduced since D7? Had most of the post-D7 languages features, except for generics, Unicode strings, and 64-bit support, been introduced in or before Delphi 2005? How bug-free were ...

MOVED: Use Delphi XE TLB importer in Delphi 2007?
....to the ActiveX group: https://forums.embarcadero.com/thread.jspa?threadID=47170 -- Craig Stuntz · Vertex Systems Corp. · Columbus, OH Delphi/InterBase Weblog : http://blogs.teamb.com/craigstuntz/ ...

Communication with Printer Driver in Delphi [Edit]
hello.. How do I'm get the status printer from the EPSON STATUS MONITOR 3 ?, I've tried to detect the status direct from the driver, not from windows, but I just get the status from the windows, not from DRIVER, the difference : if from the windows after the printing is executed then the status is successful automatically, although printing not yet finished. Well, how can I'm communication with the printer driver I'm using printer EPSON LX-300+II, delphi2010, windows7. does anyone ever have problems like me ??? Please help me. thank... Edited by: aris widiantoro on O...

Trying to call a .DLL from Delphi XE (used to work with Delphi 6 :-) )
Hi everyone, I have a problem where perhaps some one could help point me in the right direction. In Delphi 6 I used a stand alone package to train a neural netowrk,. The trained neural network was stored as a .DEF file. The standalone software provided a .DLL and Delphi code to call the network and get the prediced values from your sw. (The .DLL was created in 2002 and apparently is 32 bit.) I have'nt used it for years but am now coming back to it.... I now use Delphi XE on Windows 7 (32 bit) The old .exe's I had compiled from that time work fine. However in Delphi XE ...

Debugging in Delphi XE2 using another Delphi BDS process as host
Hi I've been using delphi a long time And I always had the possibility of debbuging Packages using another Delphi process as host. This is very useful to test the design-time side of packages. Now with XE 2 I can whether running with options - Debugger - Host Application or Attach to process Any ideas? Thanks Plp Pedro wrote: > Now with XE 2 I can whether running with options - Debugger - Host > Application or Attach to process What exactly are you having trouble with? Error messages, unexpected behavior, etc. -- Remy Lebeau (TeamB) Hi Remy ...

Web resources about - EPSON Printer Driver - Problem to use a LPBYTE parameter in delphi - embarcadero.delphi.win32

Parameter - Wikipedia, the free encyclopedia
A parameter (from the Ancient Greek παρά , "para", meaning "beside, subsidiary" and μέτρον , "metron", meaning "measure"), in its common meaning, ...

fb_source Parameter - Facebook-Entwickler
This document lists the complete list of values for the fb_source parameter that is returned with th...

Google Webmaster Tools Parameter Handling - Flickr - Photo Sharing!
You aren't signed in Sign In Help Home The Tour Sign Up Explore Explore Home Last 7 Days Interesting Popular Tags Calendar Most Recent Uploads ...

Cat 8: TIA performance standards committee chairman previews parameters of forthcoming twisted-pair cable ...
Category 8, the next-generation twisted-pair cabling specification, is still in development, but the outlook looks quite positive that it will ...

Philippine president asks for 'parameters' of Mayon Volcano tours
Philippine president asks for 'parameters' of Mayon Volcano tours People's Daily Online ... 26, 27, 28, 29, 30, 31. Jan, Feb, Mar, Apr, May, ...

Alternatives to boolean parameters
... ) { PrintLine ( item . Name ); if ( printDetails ) { PrintLine ( item . Description ); } } } Aha! Now can see that the boolean parameter ...

Exporting Error (Error in Parameter...: Apple Support Communities
This site contains user submitted content, comments and opinions and is for informational purposes only. Apple disclaims any and all liability ...

Apple tech monitors device aging, adjusts operating parameters to ensure optimal performance
... describing a method of monitoring the aging of a device's electronics, comparing the data with a global average and modifying operating parameters ...

Is it poor programming practice to pass parameters as objects?
... a free, community-powered network of 100+ Q&A sites . Risser asked: So, we've got a guy who likes to write methods that take Objects as parameters, ...

Parameter Short Film Competition sponsored by Grolsch
Grolsch presents Parameter The A.V. Club Short Film Competition Please Enter Your Date of Birth Ineligible entry Enter For people over the age ...

Resources last updated: 12/15/2015 5:21:58 AM