Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 2012-10

Indy & WinCE

9 messages · 5 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Antonio Fortuny

Hi All.

I'm testing last Indy release (10.5.9) with Lazarus. The "indylaz.lpk" compiles OK for Win32 (did not install in IDE though) I've made a test and it runs well so far.
Next step is to compile for WinCE and there there are some problems:
1. IdWinsock2.pas
added {$IFNDEF WINCE} to exclude some non WinCE functions: solved
2. IdStackWindows.pas
NOT solved: line 1685: if AEnabled and (Win32MajorVersion >= 5) then Win32MajorVersion is not known

Some ideas ?

Antonio.

Reply by email

Felipe Monteiro de Carvalho
to Antonio Fortuny
NOT solved: line 1685: if AEnabled and (Win32MajorVersion >= 5) then Win32MajorVersion is not known

It checks if it is WinXP or newer. My best guess would be to substitute (Win32MajorVersion >= 5) with False for WinCE.

You can either substitute it for False or for True. I think that False is the more likely correct answer, but this is only a guess since I don't know what the code does...

Felipe Monteiro de Carvalho

Reply by email

Antonio Fortuny
to Antonio Fortuny: Hi All. I'm testing last Indy release (10.5.9) with Lazarus. The "indylaz.lpk" compiles…

Hi ALL.

I got rid of the compilation problems of Indy. I've made a little test for WinCE and, good news, it works !
However some minor changes have to be made on a few units to have a clean compilation for WinCE:

IdRegisterCore.pas,
IdIMAP4.pas,
idStackWindows.pas,
IdWinsock2.pas

Server: Vista32
Client; WinCE

Compiled on Vista32, Lazarus 1.1 37816 (29/06/2012) indylaz.lpk compiled but not yet installed in the IDE

Server uses a TIdTCPServer and connetions are handled within separated threads, one per new connection, as usual with Indy.

Client uses a TIdTCPClient, connection is handled synchronously.

Both client and server use the standard IoHandler Stream reader and writer and any binary data runs thru the streams without problem. Of course, I have to take care of string translations between Win32 (WIN1252 code page) and WinCE (Unicode) or whatever goes trhu (specifically from databases).

In case you need some more explantions feel free to ask me.

Antonio

Reply by email

Tommi Prami
to Antonio Fortuny

Hello,

Donate your changes back to the Project ;)

-Tee-

Antonio Fortuny wrote 39 lines
Hi ALL. I got rid of the compilation problems of Indy. I've made a little test for WinCE and, good news, it works ! However some minor changes have to be made on a few units to have a clean compilation for WinCE: IdRegisterCore.pas, IdIMAP4.pas, idStackWindows.pas, IdWinsock2.pas Server: Vista32 Client; WinCE Compiled on Vista32, Lazarus 1.1 37816 (29/06/2012) indylaz.lpk compiled but not yet installed in the IDE Server uses a TIdTCPServer and connetions are handled within separated threads, one per new connection, as usual with Indy. Client uses a TIdTCPClient, connection is handled synchronously. Both client and server use the standard IoHandler Stream reader and writer and any binary data runs thru the streams without problem. Of course, I have to take care of string translations between Win32 (WIN1252 code page) and WinCE (Unicode) or whatever goes trhu (specifically from databases). In case you need some more explantions feel free to ask me. Antonio -- _______________________________________________ Lazarus mailing list http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply by email

Antonio Fortuny
to Tommi Prami

Le 31/10/2012 12:03, Tommi Prami a ?crit :

Hello, Donate your changes back to the Project ;)

No problem. I know that Marco VDV was playing around with some Indy guys. What would be the best ?
I can easily spot where the changes are but I'd like to have some other guy used to post changes

Antonio.

Show quoted text 51 lines
-Tee- On 31.10.2012 11:42, Antonio Fortuny wrote: > Hi ALL. > > I got rid of the compilation problems of Indy. I've made a little test > for WinCE and, good news, it works ! > However some minor changes have to be made on a few units to have a > clean compilation for WinCE: > > IdRegisterCore.pas, > IdIMAP4.pas, > idStackWindows.pas, > IdWinsock2.pas > > Server: Vista32 > Client; WinCE > > Compiled on Vista32, Lazarus 1.1 37816 (29/06/2012) > indylaz.lpk compiled but not yet installed in the IDE > > Server uses a TIdTCPServer and connetions are handled within separated > threads, one per new connection, as usual with Indy. > > Client uses a TIdTCPClient, connection is handled synchronously. > > Both client and server use the standard IoHandler Stream reader and > writer and any binary data runs thru the streams without problem. Of > course, I have to take care of string translations between Win32 > (WIN1252 code page) and WinCE (Unicode) or whatever goes trhu > (specifically from databases). > > In case you need some more explantions feel free to ask me. > > Antonio > > > -- > _______________________________________________ > Lazarus mailing list > > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus -- _______________________________________________ Lazarus mailing list http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply by email

Antonio Fortuny
to Antonio Fortuny: Hi All. I'm testing last Indy release (10.5.9) with Lazarus. The "indylaz.lpk" compiles…

Hi All.

For those who are interested in the paches I've made so far, check on the attached file.

The Folder "D:\Programmes\LazPk\Indy10_5_8\Lib\" is the one which has been changed.
the folder "D:\Packages\Indy10SVN\Lib\" is the one dosnloaded from the Indy SVN server

Antonio.
-------------- next part --------------

Left file: D:\Programmes\LazPk\Indy10_5_8\Lib\Core\IdRegisterCore.pas Right file: D:\Packages\Indy10SVN\Lib\Core\IdRegisterCore.pas 272c272
< ,TIdTraceRoute
---

,TIdTraceRoute*

Left file: D:\Programmes\LazPk\Indy10_5_8\Lib\Protocols\IdIMAP4.pas Right file: D:\Packages\Indy10SVN\Lib\Protocols\IdIMAP4.pas 902c902
< {Retrieve a specific individual part of a message where part is an integer or sub-part like '2.3'...} ---

{Retrieve a specific individual part of a message to a stream (part/sub-part like '2' or '2.3')...}

904,907c903,905
< //var ABuffer: {$IFDEF DOTNET}TIdBytes{$ELSE}PByte{$ENDIF}; < var ABuffer: PByte;
< var ABufferLength: Integer; AContentTransferEncoding: string = 'text'): Boolean; overload; {Do not Localize} < {Retrieve a specific individual part of a message to a stream (part/sub-part like '2' or '2.3')...} ---

ADestStream: TStream; AContentTransferEncoding: string = 'text'): Boolean; overload; {Do not Localize} {Retrieve a specific individual part of a message where part is an integer or sub-part like '2.3'...}

908,909c907,908
< ADestStream: TStream; AContentTransferEncoding: string = 'text'): Boolean; overload; {Do not Localize} ---

var ABuffer: {$IFDEF DOTNET}TIdBytes{$ELSE}PByte{$ENDIF}; var ABufferLength: Integer; AContentTransferEncoding: string = 'text'): Boolean; overload; {Do not Localize}
912,913c910,911
<           //var ABuffer: {$IFDEF DOTNET}TIdBytes{$ELSE}PByte{$ENDIF};
<           var ABuffer: PByte;
---
var ABuffer: {$IFDEF DOTNET}TIdBytes{$ELSE}PByte{$ENDIF};
3207,3213d3204
< function TIdIMAP4.RetrievePart(const AMsgNum: Integer; const APartNum: string;
<   var ABuffer: PByte;
<   var ABufferLength: Integer; AContentTransferEncoding: string): Boolean;
< begin
<   Result := False
< end;
<
3218,3219c3208,3209
<   //LDummy1: {$IFDEF DOTNET}TIdBytes{$ELSE}PByte{$ENDIF};
<   LDummy1: PByte;
---
LDummy1: {$IFDEF DOTNET}TIdBytes{$ELSE}PByte{$ENDIF};
3231,3232c3220,3221
<   //var ABuffer: {$IFDEF DOTNET}TIdBytes{$ELSE}PByte{$ENDIF};
<   var ABuffer: PByte;
---
var ABuffer: {$IFDEF DOTNET}TIdBytes{$ELSE}PByte{$ENDIF};
3240,3246c3229,3235
< //function TIdIMAP4.RetrievePart(const AMsgNum: Integer; const APartNum: string;
< //  var ABuffer: {$IFDEF DOTNET}TIdBytes{$ELSE}PByte{$ENDIF};
< //  var ABufferLength: Integer; AContentTransferEncoding: string): Boolean;
< //begin
< //  IsNumberValid(AMsgNum);
< //  Result := InternalRetrievePart(AMsgNum, APartNum, False, False, nil, ABuffer, ABufferLength, '', AContentTransferEncoding);  {Do not Localize}
< //end;
---
Show quoted text 7 lines
function TIdIMAP4.RetrievePart(const AMsgNum: Integer; const APartNum: string; var ABuffer: {$IFDEF DOTNET}TIdBytes{$ELSE}PByte{$ENDIF}; var ABufferLength: Integer; AContentTransferEncoding: string): Boolean; begin IsNumberValid(AMsgNum); Result := InternalRetrievePart(AMsgNum, APartNum, False, False, nil, ABuffer, ABufferLength, '', AContentTransferEncoding); {Do not Localize} end;

3960c3949
< function TIdIMAP4.InternalRetrieveHeaders(AMsgList: TIdMessageCollection; ACount: LongInt): Boolean; ---

function TIdIMAP4.InternalRetrieveHeaders(AMsgList: TIdMessageCollection; ACount: Integer): Boolean;

Left file: D:\Programmes\LazPk\Indy10_5_8\Lib\System\IdStackWindows.pas Right file: D:\Packages\Indy10SVN\Lib\System\IdStackWindows.pas 1685,1686c1685
< //if AEnabled and (Win32MajorVersion >= 5) then < if AEnabled then
---

if AEnabled and (Win32MajorVersion >= 5) then

Left file: D:\Programmes\LazPk\Indy10_5_8\Lib\System\IdWinsock2.pas Right file: D:\Packages\Indy10SVN\Lib\System\IdWinsock2.pas 6282,6283d6281
<
< {$IFNDEF WINCE}
6326d6323
< {$endif}

Reply by email

Frank Church
to Antonio Fortuny
Antonio Fortuny wrote 14 lines
Hi All. For those who are interested in the paches I've made so far, check on the attached file. The Folder "D:\Programmes\LazPk\Indy10_5_**8\Lib\" is the one which has been changed. the folder "D:\Packages\Indy10SVN\Lib\" is the one dosnloaded from the Indy SVN server Antonio. --

Which commit id are you using , where did you download it?

I downloaded and installed yesterday and the commit id is 4682 dated 07/09/2011 (European date I suspect)

Mine installed in the IDE without any problems after I inserted {$UNDEF HAS_TSelection} at the right places, and edited the lpk file to point at the right places.

Reply by email

Antonio Fortuny
to Frank Church
Which commit id are you using , where did you download it?

/svn/Indy10/!svn/ver/4852/trunk

Show quoted text 30 lines
I downloaded and installed yesterday and the commit id is 4682 dated 07/09/2011 (European date I suspect) Mine installed in the IDE without any problems after I inserted {$UNDEF HAS_TSelection} at the right places, and edited the lpk file to point at the right places. _______________________________________________ Lazarus mailing list <mailto:> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus -- Frank Church ======================= http://devblog.brahmancreations.com -- _______________________________________________ Lazarus mailing list http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply by email

sanmiolade
to Antonio Fortuny: Hi ALL. I got rid of the compilation problems of Indy. I've made a little test for WinCE…

I am a beginner when it comes to Lazarus and INDY 10

I am writing some applications for WINCE

My larazus is installed on WinXP

Please do you have any documentation that shows STEP BY STEP way to install INDY for Lazarus/WINCE

View this message in context: http://free-pascal-lazarus.989080.n3.nabble.com/Lazarus-Indy-WinCE-tp4027464p4035446.html Sent from the Free Pascal - Lazarus mailing list .

Reply by email