Re: [lazarus] Parameter not used ...

2006-02-25 Thread Vincent Snijders

Vincent Snijders wrote:

Geno Roupsky wrote:

There are very few situations where the sender is nil and still if you 
expect such a case you can always write something like:


Assert((Sender = nil) or (Sender  nil));



I will try to implement an option in the IDE to ignore this hint 
(similar to the unit not used hint).




Done.

Vincent

_
To unsubscribe: mail [EMAIL PROTECTED] with
   unsubscribe as the Subject
  archives at http://www.lazarus.freepascal.org/mailarchives


Re: [lazarus] Bugfix 1777

2006-02-25 Thread Mattias Gaertner
On Sat, 25 Feb 2006 12:30:24 +0100
Darius Blaszijk [EMAIL PROTECTED] wrote:

 Here a fix for the resourcestrings in the debugoptionsfrm. I have also
 improved anchoring.

Applied. Thanks.

Mattias

_
 To unsubscribe: mail [EMAIL PROTECTED] with
unsubscribe as the Subject
   archives at http://www.lazarus.freepascal.org/mailarchives


Re: [lazarus] Parameter not used ...

2006-02-25 Thread Alexsander Rosa
Assert(True) will raise another hint?2006/2/25, Vincent Snijders [EMAIL PROTECTED]:
Vincent Snijders wrote: Geno Roupsky wrote: There are very few situations where the sender is nil and still if you expect such a case you can always write something like:
 Assert((Sender = nil) or (Sender  nil)); I will try to implement an option in the IDE to ignore this hint (similar to the unit not used hint).Done.
Vincent_ To unsubscribe: mail [EMAIL PROTECTED] withunsubscribe as the Subject
 archives at http://www.lazarus.freepascal.org/mailarchives-- Atenciosamente,Alexsander da Rosa



Re: [lazarus] TSqlite3Dataset

2006-02-25 Thread Luiz Americo Pereira Camara

Bogusław Brandys escreveu:

Hello,

First: I'm using FPC SVN 2.0.3 from 2006-02-24 TSqlite3Dataset version.
I know that there is some version newer then this but I'd like to 
stick with SVN.

Platform: Windows XP Home,Lazarus SVN rev.8817


I already sent a patch to fpc maillist. I'm waiting for the commit.
Why is impossible to use Edit,Post,ApplyUpdates,Refresh functions  for 
TSqlite3Dataset in SQLMode ? I have defined PrimaryKey which is 
INTEGER PRIMARY KEY but is it skipped (for example ApplyUpdates has 
check for :

  if (FPrimaryKeyNo  -1) and not FSqlMode then (...)
)

So that code does not update database table at all (in SQLMode):

DB.Edit;
DB.FieldByName('Test').AsString := 'Test';
DB.Post;
DB.ApplyUpdates;
DB.Refresh;


For me it's strange because update/delete SQL should work flawless 
with SQlMode when PrimaryKey is set (even if table has not define 
primary key there is ROWID variable to obtain record ID which may be 
used for update/delete statement)


SqlMode is intended only when you want to use queries that retrieves 
data from more than one table or use field aliases. It prevines data 
corruption when using ApplyUpdates. When using queries that retrieve 
data from only one table, without using aliases, even complex ones, 
ApplyUpdates will work and SqlMode should be set to false. Notice that 
only ApplyUpdates is affected by SqlMode. All other functions you cited 
does not.


This situation is mostly caused by lack of documentation. I will do it ASAP.

About ROWID: to use it would be necessary to parse the Sql, since is not 
possible to retrieve directly, which could bring a lot of complexity. 
The current schema keeps the code simple with small cost (user must 
declare what is the primary key)
Currently I'm populating dbGrid and let user change default value for 
one record using separate ExecSql function - this require RefetchData 
and dbGrid row selection is lost.


tSqlite3Dataset is in SQLMode because I need rows ordered so SQL is 
really simple : select test from table order by test desc

See above.


Also please do not throw exception when field type is unknown (not in 
supported list) - just treat it as ftString field of size 10.



Already fixed.
You could insist that it's better to use supported field types 
(INTEGER,NUMERIC,FLOAT,VARCHAR,CHAR) but would would you do for such 
query:

Me?


select Test || '(default)' as Name from table where Def='T'
union
select Test as Name from table where Def'T'
order by Test


Exception : Field type '' not recognized on concatenated field

BTW: Please notice that this issue is not Lazarus related. Only fpc 
related. Maybe would be better to discuss in fpc maillist.


Luiz

_
To unsubscribe: mail [EMAIL PROTECTED] with
   unsubscribe as the Subject
  archives at http://www.lazarus.freepascal.org/mailarchives


[lazarus] A new language patch for the Dutch translations

2006-02-25 Thread Matthijs Willemstein
Hi,

a patch for lazaruside.nl.po and objinspstrconsts.nl.po.

Matthijs
-- 
Matthijs Willemstein [EMAIL PROTECTED]
Index: lazaruside.nl.po
===
--- lazaruside.nl.po	(revision 8821)
+++ lazaruside.nl.po	(working copy)
@@ -456,11 +456,11 @@
 
 #: lazarusidestrconsts:dlglabelgoto
 msgid Allow LABEL and GOTO
-msgstr Laat LABEL en GOTO toe
+msgstr Sta LABEL en GOTO toe
 
 #: lazarusidestrconsts:lisallowsearchingformultiplelines
 msgid Allow searching for multiple lines
-msgstr Laat het zoeken naar meerdere lijnen toe
+msgstr Sta het zoeken naar meerdere lijnen toe
 
 #: lazarusidestrconsts:dlgalphabetically
 msgid Alphabetically
@@ -484,7 +484,7 @@
 
 #: lazarusidestrconsts:dlgalwaysvisiblecaret
 msgid Always visible caret
-msgstr 
+msgstr Altijd zichtbaar invoegteken
 
 #: lazarusidestrconsts:lisa2pambiguousancestortype
 msgid Ambiguous Ancestor Type
@@ -632,7 +632,7 @@
 
 #: lazarusidestrconsts:lisautomaticfeatures
 msgid Automatic features
-msgstr 
+msgstr Automatische kenmerken
 
 #: lazarusidestrconsts:lispckoptsautomaticallyincrementversiononbuild
 msgid Automatically increment version on build
@@ -896,7 +896,7 @@
 
 #: lazarusidestrconsts:dlgcaretskipsselection
 msgid Caret skips selection
-msgstr 
+msgstr Invoegteken slaat selectie over
 
 #: lazarusidestrconsts:lisdiffdlgcaseinsensitive
 msgid Case Insensitive
@@ -960,7 +960,7 @@
 
 #: lazarusidestrconsts:lischeckchangesondiskwithloading
 msgid Check changes on disk with loading
-msgstr 
+msgstr Controleer wijzigingen op schijf tijdens het laden
 
 #: lazarusidestrconsts:dlgcheckconsistency
 msgid Check consistency
@@ -1476,7 +1476,7 @@
 
 #: lazarusidestrconsts:liscopyallandhiddenmessagestoclipboard
 msgid Copy all and hidden messages to clipboard
-msgstr 
+msgstr Kopieer alle (ook verborgen) berichten naar het klembord
 
 #: lazarusidestrconsts:liscopyallmessagestoclipboard
 msgid Copy all messages to clipboard
@@ -2004,11 +2004,11 @@
 
 #: lazarusidestrconsts:lispodonotsaveanysessioninfo
 msgid Do not save any session info
-msgstr 
+msgstr Geen sessie info opslaan
 
 #: lazarusidestrconsts:lisdonotshowsplashscreen
 msgid Do not show splash screen
-msgstr Laat splashscherm niet zien
+msgstr Splashscherm niet tonen
 
 #: lazarusidestrconsts:dlgnotsplitlinefront
 msgid Do not split line In front of:
@@ -2360,11 +2360,11 @@
 
 #: lazarusidestrconsts:srkmecexttool
 msgid External tool %d
-msgstr Externe tool %d
+msgstr Extern gereedschap %d
 
 #: lazarusidestrconsts:lisexttoolexternaltools
 msgid External tools
-msgstr 
+msgstr Externe gereedschappen
 
 #: lazarusidestrconsts:srkmecexttoolsettings
 msgid External tools settings
@@ -2964,7 +2964,7 @@
 
 #: lazarusidestrconsts:lishelpselectordialog
 msgid Help selector
-msgstr 
+msgstr Help selecteren
 
 #: lazarusidestrconsts:dlghideideonrun
 msgid Hide IDE windows on run
@@ -3168,7 +3168,7 @@
 
 #: lazarusidestrconsts:dlgindentcodeto
 msgid Indent code to
-msgstr Laat code Inspringen tot
+msgstr Laat code inspringen tot
 
 #: lazarusidestrconsts:lismenuindentselection
 msgid Indent selection
@@ -3644,7 +3644,7 @@
 
 #: lazarusidestrconsts:rslanguagejapanese
 msgid Japanese
-msgstr 
+msgstr Japans
 
 #: lazarusidestrconsts:lismenujumpback
 msgid Jump back
@@ -3932,7 +3932,7 @@
 
 #: lazarusidestrconsts:lislibraryafreepascallibrarydllunderwindowssounderlin
 msgid Library%sA freepascal library (.dll under windows, .so under linux, .dylib under macosx). The library source file is automatically maintained by Lazarus.
-msgstr 
+msgstr Biblitheek%sEen freepascal bibliotheek (.dll onder windows, .so onder linux, dylib onder macosx). De broncode bestanden worden bijgehouden door Lazarus.
 
 #: lazarusidestrconsts:lispckoptslicense
 msgid License:
@@ -4324,7 +4324,7 @@
 
 #: lazarusidestrconsts:dlgmultiselect
 msgid Multi Select
-msgstr 
+msgstr Meervoudige selectie
 
 #: lazarusidestrconsts:fdinvalidmutliselectiontext
 msgid Multiselected components must be of a single form.
@@ -4612,7 +4612,7 @@
 
 #: lazarusidestrconsts:lisdiffdlgopendiffineditor
 msgid Open Diff in editor
-msgstr Laat verschillen zien in editor
+msgstr Toon verschillen in editor
 
 #: lazarusidestrconsts:lisopenpackagefile
 msgid Open Package File
@@ -5756,15 +5756,15 @@
 
 #: lazarusidestrconsts:lisposaveinlpifil
 msgid Save in .lpi file
-msgstr 
+msgstr Opslaan in .lpi bestand
 
 #: lazarusidestrconsts:lisposaveinlpsfileinprojectdirectory
 msgid Save in .lps file in project directory
-msgstr 
+msgstr Opslaan in .lps bestand in project directorie
 
 #: lazarusidestrconsts:lisposaveinideconfigdirectory
 msgid Save in IDE config directory
-msgstr 
+msgstr Opslaan in IDE configuratie directorie
 
 #: lazarusidestrconsts:lissaveinfoofclosededitorfiles
 msgid Save info of closed editor files
@@ -5772,7 +5772,7 @@
 
 #: lazarusidestrconsts:lismvsavemessagestofiletxt
 msgid Save messages to file (*.txt)
-msgstr 
+msgstr Berichten opslaan in bestand (*.txt)
 
 #: 

[lazarus] Alert, virus Netsky

2006-02-25 Thread Charles




Hello everybody,

Here is the message (In French) I have just received from lazarus at
miraclec dot com:

=
Important
data!

Antivirus avast! : message Entrant INFECTE :
\Data.zip#766092788 (Win32:Netsky-Z2 [Wrm]) a ete supprime du message.

Base de donnees virale (VPS) : 0608-1, 23/02/2006
Analyse le : 25/02/06 15:06:30
avast! - copyright (c) 1988-2005 ALWIL Software.

=
In English:
Antivirus avast! : Incoming message infected:
\Data.zip#766092788 (Win32:Netsky-Z2 [Wrm]) has been removed from the
message.
Virus database (VPS) : 0608-1, 23/02/2006
Analysis : 25 Feb 2006 15:06:30
=

I hope none of your computers have been infected.

Have a nice week-end,

Charles






_
 To unsubscribe: mail [EMAIL PROTECTED] with
"unsubscribe" as the Subject
   archives at http://www.lazarus.freepascal.org/mailarchives


Re: [lazarus] cannot find -lgdk-x11-2.0

2006-02-25 Thread Panagiotis Sidiropoulos
 installing libgtk2.0-dev and libgdk-pixbuf2 should do the trick

It is OK now, thank you.

Panagiotis

 
 Στις 24-02-2006, ημέρα Παρ, και ώρα 18:12 +0200, ο/η Geno Roupsky
 έγραψε:
 installing libgtk2.0-dev and libgdk-pixbuf2 should do the trick
 
 Geno Roupsky
 
 2006/2/24, Panagiotis Sidiropoulos [EMAIL PROTECTED]:
  Are you building Lazarus for GTK 2 ?
 
 Yes.
 
  IIRC gdk-x11-2.0 comes with the gdk2 packages.
 
 I failed to find gdk2 packages neither through Synaptic or
 packages.debian.org.
 Please feel free to correct me ine case of using wrong
 terminoly, my
 experience on Linux is limited.
 
 Any ideas?
 
 Panagiotis
 
 
 -Original Message-
 From: Marc Weustink [mailto:[EMAIL PROTECTED]
 Sent: Friday, February 24, 2006 11:43 AM
 To: lazarus@miraclec.com
 Subject: Re: [lazarus] cannot find -lgdk-x11-2.0
 
 
 Panagiotis Sidiropoulos wrote: 
  While rebuilding Lazarus, I get error messge:
  - /usr/bin/ld: cannot find -lgdk-x11-2.0
 
 Are you building Lazarus for GTK 2 ?
 
 IIRC gdk-x11-2.0 comes with the gdk2 packages.
 
 Marc
 
 
 
  I tried to update gtk library using Synaptic. It found 32
 files to
  update but on 30th file following messages appeared:
  http://pkg-kde.alioth.debian.org/kde-3.4.0/./Packages.gz:
 404 Not
  Found
  http://pkg-kde.alioth.debian.org/kde-3.4.1/./Packages.gz:
 404 Not
 Found
 
  After this whie opening Synaptic, I get error messages: 
  E: Dynamic MMap ran out of room
  E: Dynamic MMap ran out of room
  E: Problem processing xgalaga (NewVersion1)
  E: Problem with
  MergeList
 
 
 /var/lib/apt/lists/ftp.de.debian.org_pub_debian_dists_testing_main_binar 
 y-i386_Packages
  E: Can't analyze or open list of packages.
 
  While rebuilding Lazarus, I still get error messge:
  - /usr/bin/ld: cannot find -lgdk-x11-2.0
 
  Any advice would be most appreciated. 
 
  Regards, Panagiotis
 
 
 _
   To unsubscribe: mail [EMAIL PROTECTED] with
  unsubscribe as the Subject
 archives at
 http://www.lazarus.freepascal.org/mailarchives
 
 
 _ 
  To unsubscribe: mail [EMAIL PROTECTED] with
 unsubscribe as the Subject
archives at http://www.lazarus.freepascal.org/mailarchives
 
 _
  To unsubscribe: mail [EMAIL PROTECTED] with
 unsubscribe as the Subject
archives at http://www.lazarus.freepascal.org/mailarchives
 

_
 To unsubscribe: mail [EMAIL PROTECTED] with
unsubscribe as the Subject
   archives at http://www.lazarus.freepascal.org/mailarchives


Re: [lazarus] TSqlite3Dataset

2006-02-25 Thread Bogusław Brandys

Luiz Americo Pereira Camara wrote:

Bogusław Brandys escreveu:

Hello,

First: I'm using FPC SVN 2.0.3 from 2006-02-24 TSqlite3Dataset version.
I know that there is some version newer then this but I'd like to 
stick with SVN.

Platform: Windows XP Home,Lazarus SVN rev.8817


I already sent a patch to fpc maillist. I'm waiting for the commit.
Why is impossible to use Edit,Post,ApplyUpdates,Refresh functions  for 
TSqlite3Dataset in SQLMode ? I have defined PrimaryKey which is 
INTEGER PRIMARY KEY but is it skipped (for example ApplyUpdates has 
check for :

  if (FPrimaryKeyNo  -1) and not FSqlMode then (...)
)

So that code does not update database table at all (in SQLMode):

DB.Edit;
DB.FieldByName('Test').AsString := 'Test';
DB.Post;
DB.ApplyUpdates;
DB.Refresh;


For me it's strange because update/delete SQL should work flawless 
with SQlMode when PrimaryKey is set (even if table has not define 
primary key there is ROWID variable to obtain record ID which may be 
used for update/delete statement)


SqlMode is intended only when you want to use queries that retrieves 
data from more than one table or use field aliases. It prevines data 
corruption when using ApplyUpdates. When using queries that retrieve 
data from only one table, without using aliases, even complex ones, 
ApplyUpdates will work and SqlMode should be set to false. Notice that 
only ApplyUpdates is affected by SqlMode. All other functions you cited 
does not.


This situation is mostly caused by lack of documentation. I will do it 
ASAP.


About ROWID: to use it would be necessary to parse the Sql, since is not 
possible to retrieve directly, which could bring a lot of complexity. 
The current schema keeps the code simple with small cost (user must 
declare what is the primary key)
Currently I'm populating dbGrid and let user change default value for 
one record using separate ExecSql function - this require RefetchData 
and dbGrid row selection is lost.


tSqlite3Dataset is in SQLMode because I need rows ordered so SQL is 
really simple : select test from table order by test desc

See above.


Also please do not throw exception when field type is unknown (not in 
supported list) - just treat it as ftString field of size 10.



Already fixed.
You could insist that it's better to use supported field types 
(INTEGER,NUMERIC,FLOAT,VARCHAR,CHAR) but would would you do for such 
query:

Me?


select Test || '(default)' as Name from table where Def='T'
union
select Test as Name from table where Def'T'
order by Test


Exception : Field type '' not recognized on concatenated field

BTW: Please notice that this issue is not Lazarus related. Only fpc 
related. Maybe would be better to discuss in fpc maillist.


Luiz



Thank you.That explain all situation.


Regards
Boguslaw

_
To unsubscribe: mail [EMAIL PROTECTED] with
   unsubscribe as the Subject
  archives at http://www.lazarus.freepascal.org/mailarchives


[lazarus] My experience as a member of this list

2006-02-25 Thread Panagiotis Sidiropoulos
I'm not familiar with lists terms of behaviour, I just need to express
my appreciation to all members, and especially Micha and Jesus, helped
me to get over a diversity of problems and look the future with more
confidence :-). After two months of hard work I had many moments
thinking that I will never make it. Just today solved last major problem
and needed to express my feelings.

Thank you, Panagiotis

_
 To unsubscribe: mail [EMAIL PROTECTED] with
unsubscribe as the Subject
   archives at http://www.lazarus.freepascal.org/mailarchives


Re: [lazarus] Program plugin

2006-02-25 Thread Marc Weustink

L505 wrote:

If you choose for a dll system, I would choose Interfaces (and indeed,
don't pass strings, dyn arrays or classes)

Marc




I don't have much experience with interfaces and would like to learn more about
them. Can you import/export one to and from other languages? i.e. c++/c/etc.


Yes, Interfaces are language independent. They only define what 
functions/procedures are available within an interface (and what calling 
convention). An Interface itself has no data or code. I' is only a 
contract that those functions are avalable.

The actual code is implemented by a delphi/FPC/C++ class.

As an example lets look at IStream:

Its methods are described at 
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/stg/stg/istream.asp


and for FPC it is declared in packages\extra\winunits\activex.pp


IStream = interface(ISequentialStream)
   ['{000C---C000-0046}']
   function Seek(dlibMove : Large_integer; dwOrigin: Longint;
out libNewPosition : Large_Integer): HResult; stdcall;
  ...rest skipped...
end;

This declaration defines only the interface. There is no code involved 
here. You also see that this interface is derived from ISequentialStream 
(just like you can have with classes) and this interface is identified 
by the GUID 000C---C000-0046

Each interface should have its own GUID.

Now suppose you have some external function in some API/dll/whatever like:

  function GiveMeAStream: IStream; stdcall; external;


then you can use it like:

var
  Stream: IStream;
begin
  Stream := GiveMeAStream;

  if Stream.Seek()  S_OK then ReportSomeError;
end.

You can call interface methods just like you call class methods, 
independent on how it is implemented. The only thing you have to know is 
that you can call it.



This is one side of the story. Now suppose you have an external function 
in some API/dll/whatever like:


  procedure PassMeAStream(aStream: IStream); stdcall; external;

Now are you the one who need to supply an interface. Luckely for us 
there is a class which implements IStream (in classes.pp, unfortunately 
comented out):


  TStreamAdapter = class(TInterfacedObject, IStream)
  
  end;

This looks like a normal class definition, only we tell now the compiler 
that we also implement IStream. This means that all methods defined in 
IStream have to exist in this class (or parent class) (remember contract)


In this example the TStreamAdapter is a wrapper around a normal FCL 
stream. So when we need to pass an IStream we can do something like:


var
  FCLStream: TStream;
  InterfaceStream: IStream;
begin
  FCLStream := TMemoryStream.Create(...);
  InterfaceStream := TStreamAdapter.Create(FCLStream);

  PassMeAStream(InterfaceStream);
end.

this is equal to:

var
  FCLStream: TStream;
  Adapter: TStreamAdapter;
begin
  FCLStream := TMemoryStream.Create(...);
  Adapter := TStreamAdapter.Create(FCLStream);

  PassMeAStream(Adapter);
end.


What you see here is that a class which implements an interface can be 
stored in a variable of the classtype *or* of the interface type.
However, you have only access to the methods defined by the class *or* 
the the interface.



For now I'll leave it here.

Marc

_
To unsubscribe: mail [EMAIL PROTECTED] with
   unsubscribe as the Subject
  archives at http://www.lazarus.freepascal.org/mailarchives


Re: Why is this throwing an exception - ANSWER

2006-02-25 Thread Mattias Gaertner
On Thu, 23 Feb 2006 18:05:07 +0200
A.J. Venter [EMAIL PROTECTED] wrote:

 It's a bug in ipro.
 I checked the code at the stack trace and found this:
 function TIpHtmlInternalPanel.HtmlPanel: TIpHtmlCustomPanel;
 begin
 Result := TIpHtmlPanel(Parent);
   while (Result.ClassType  TIpHtmlPanel) do
 Result := TIpHtmlPanel(Result.Parent);
 end;
 
 The exception gets thrown in the while line.

It means, the TIpHtmlInternalPanel expects to have a TIpHtmlCustomPanel
parent.
It should be

   while not (Result is TIpHtmlPanel) do

 
 Now WHY they do it this way I do not know, but it means you get a real
 problem  if you derive a component from it.
 I commented out the lines in the function like so:
 function TIpHtmlInternalPanel.HtmlPanel: TIpHtmlCustomPanel;
 begin
 //Result := TIpHtmlPanel(Parent);
 //  while (Result.ClassType  TIpHtmlPanel) do
 //Result := TIpHtmlPanel(Result.Parent);
 end;
 
 And now my test program works as beautifully as you could wish.

?
But now the Result is undefined.

 
 From the context I get the idea this is somehow used if you wish to embed
 two  htmlpanels inside one another, which doesn't affect me - but the
 method they  are using is NOT good because it causes crashes if you derive
 anything (which  changes the classtype of course).
 
 So do I report a bug ? Or how does this get fixed ?

Please check above fix. If it works, I will change it.

Mattias

_
 To unsubscribe: mail [EMAIL PROTECTED] with
unsubscribe as the Subject
   archives at http://www.lazarus.freepascal.org/mailarchives


Re: Why is this throwing an exception - ANSWER

2006-02-25 Thread A.J. Venter

 
  So do I report a bug ? Or how does this get fixed ?

 Please check above fix. If it works, I will change it.

Well I have since redesigned my entire component so it is no longer descended 
from TIpHtmlPanel, and it is in a fully working state based on a very 
different approach. However I do think the fix should be applied because I am 
doubtlessly not the last person to try and descend the class :)

Ciao
A.J.
-- 
A.J. Venter
Chief Software Architect
OpenLab International
www.getopenlab.com
www.silentcoder.co.za
+27 82 726 5103

_
 To unsubscribe: mail [EMAIL PROTECTED] with
unsubscribe as the Subject
   archives at http://www.lazarus.freepascal.org/mailarchives


Re: [lazarus] Program plugin

2006-02-25 Thread Marc Santhoff
Am Samstag, den 25.02.2006, 18:30 +0100 schrieb Marc Weustink:
 Yes, Interfaces are language independent. They only define what 
 functions/procedures are available within an interface (and what
 calling 
 convention). An Interface itself has no data or code. I' is only a 
 contract that those functions are avalable.
 The actual code is implemented by a delphi/FPC/C++ class.

This is the main advantage of interfaces (which I like(d) very much in
Java):

Interfaces give you compiler checked multiple inheritance. You define
the API, the compiler does check if the actual implementations fulfill
it. This allows things one would have done by adding member fields to
classes before (class xxx is a yyy).

Another nice thing about interfaces is you can swap implementations on
the go (mostly ;), e.g. have different implementations for special
needs. If you like to read a stream buffered or get it over the network,
no problem - the interface is always the same.

Marc


_
 To unsubscribe: mail [EMAIL PROTECTED] with
unsubscribe as the Subject
   archives at http://www.lazarus.freepascal.org/mailarchives


[lazarus] transparent forms

2006-02-25 Thread xpete
Hi

I'm trying to port to lazarus 0.9.12 some apps that i have done in
delphi 7 but i need some simple missing features.

One of them is:

property ScanLine[Row: Integer]: Pointer;

from TBitmap with is present in JCL (http://www.delphi-jedi.org) so i
don't think it's difficult to implement.

But the most important features that i need are:

property TransparentColor: Boolean;
property TransparentColorValue: TColor;

from TCustomForm
It makes any area of the form with that color become transparent.
i tried to use a component  called FormForma from here

http://sites.uol.com.br/brunobl/

Removing DesignEditors, DesignIntf and some related features i can
compile it in lazarus but it didn't work.
This Component creates shaped forms and works great in delphi.

Felipe Monteiro de Carvalho has already done something like that
in Virtual Magnifying Glass maybe he knows how to implement this.

With gtk2 source code also come a example on how to do this, maybe you
could take a look at it.

other missing feature is

CreateParams (var Params: TCreateParams); override;

but it's not so important.

I want to put my apps working in windows and linux, could someone
implement this for everybody. I neither have time neither knowledge to
do that.

Witch is the last version of delphi that lazarus is full compatible
with?

when plugger will come bundle with lazarus?

Sorry for my bad english but i'm portuguese.

Thanks

xpete

http://www.xpete.pt.to - Personal web Page
http://www.alphamatrix.org  - Portuguese Free Software
http://wyger.nl/usr/joli/ - MOSEL - OpenSource Movement from ESTG Leiria

_
 To unsubscribe: mail [EMAIL PROTECTED] with
unsubscribe as the Subject
   archives at http://www.lazarus.freepascal.org/mailarchives


Re: [lazarus] transparent forms

2006-02-25 Thread Vincent Snijders

xpete wrote:


Felipe Monteiro de Carvalho has already done something like that
in Virtual Magnifying Glass maybe he knows how to implement this.



The magnifier uses a borderless form with the size of a the desktop, and 
before showing the form it copies the background from the screen. The 
background is frozen after that.


Vincent.

_
To unsubscribe: mail [EMAIL PROTECTED] with
   unsubscribe as the Subject
  archives at http://www.lazarus.freepascal.org/mailarchives


[lazarus] After upgrading to gtk2

2006-02-25 Thread Panagiotis Sidiropoulos
After upgrading to gtk2, I first compiled Lazarus and then my project. I
had a couple of side effects:

1.
Visual components on forms such buttons, labels etc do not display
properly or other do no display at all while in design time but are
there, existing on the form.

Same components paint normaly while in run time. Same components display
roperly in design time in new projects.

TToolbar buttons do display in design time as a square only, empty of
contents but no display during run time, not even newly created ones.

2.
There is another strange behaviour in main menu painting. Menu options
are not painting on the same base line, some painted upwards and some
downwords. Please compare base line of first three main menu options in
screenshot following:
- http://www.magentadb.gr/ftp/paint-problem.png

These only happen when captions are not latin 1 characters.

3.
OwnerDraw behaviour of TlistBox is not activated. Setting a
ListBox.Style as lbOwnerDrawVariable, Custom method OndrawItem is not
called. Font name and size of List box cannot be changed.

if anyone is familiar to this kind of problems please advise.

Regards, Panagiotis

_
 To unsubscribe: mail [EMAIL PROTECTED] with
unsubscribe as the Subject
   archives at http://www.lazarus.freepascal.org/mailarchives


Re: [lazarus] After upgrading to gtk2

2006-02-25 Thread Felipe Monteiro de Carvalho
Here is how I do it:

I compile only LCL with gtk2, I use the IDE and everything else in Gtk1.

then the IDE cannot understand utf-8, and gtk2 only understands Gtk2.
So I add code to my software at a apropriate place to write the Text
and Caption properties of all visual components and set them to utf-8
values. I use kate or other utf-8 capable editors to do this, since
Gtk1 IDE doesn't understand utf-8.

Now I compile with the IDE and I have a utf-8 Gtk2 software =)

--
Felipe Monteiro de Carvalho

_
 To unsubscribe: mail [EMAIL PROTECTED] with
unsubscribe as the Subject
   archives at http://www.lazarus.freepascal.org/mailarchives