<?xml version="1.0" encoding="ISO-8859-1"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title>Forum du club des développeurs et IT Pro - Composants VCL</title>
		<link>https://www.developpez.net/forums/</link>
		<description>Utilisation des différents composants VCL (Visual Component Library)</description>
		<language>fr</language>
		<lastBuildDate>Fri, 17 Apr 2026 10:04:59 GMT</lastBuildDate>
		<generator>vBulletin</generator>
		<ttl>15</ttl>
		<image>
			<url>https://forum.developpez.be/images/misc/rss.png</url>
			<title>Forum du club des développeurs et IT Pro - Composants VCL</title>
			<link>https://www.developpez.net/forums/</link>
		</image>
		<item>
			<title>Problème pour installer GLScene</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2182957&amp;goto=newpost</link>
			<pubDate>Tue, 31 Mar 2026 15:00:43 GMT</pubDate>
			<description><![CDATA[Bonjour. 
J'ai réinstaller...]]></description>
			<content:encoded><![CDATA[<div>Bonjour.<br />
J'ai réinstaller Windows XP et Delphi 6 (pas le choix).<br />
<br />
Pour finir et utiliser un programme de digitalisation de films Super 8, je doit réinstaller GLSCene --&gt; GLAVIRecorder.<br />
J'ai tous les sources, à priori pas de problème. Mais ça plante au moment de l'installation/Compilation des composants avec le message suivant :<br />
<br />
<b> Erreur  : [Erreur fatale] GLScene.pas(1): Le programme ou l'unité 'GLScene.pas' s'utilise récursivement lui-même</b><br />
<br />
Après recherche j'ai ouvert le fichier <b>Glscene.inc</b><br />
<br />
Je suppose que cela s'applique à des options de compilation selon l'EDI utilisé.<br />
<br />
<br />
Qu'elle est celle qui s'applique à DELPHI 6 ?<br />
<br />
<br />
Si quelqu'un peut m'aider merci.<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="40"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br />57<br />58<br />59<br />60<br />61<br />62<br />63<br />64<br />65<br />66<br />67<br />68<br />69<br />70<br />71<br />72<br />73<br />74<br />75<br />76<br />77<br />78<br />79<br />80<br />81<br />82<br />83<br />84<br />85<br />86<br />87<br />88<br />89<br />90<br />91<br />92<br />93<br />94<br />95<br />96<br />97<br />98<br />99<br />100<br />101<br />102<br />103<br />104<br />105<br />106<br />107<br />108<br />109<br />110<br />111<br />112<br />113<br />114<br />115<br />116<br />117<br />118<br />119<br />120<br />121<br />122<br />123<br />124<br />125<br />126<br />127<br />128<br />129<br />130<br />131<br />132<br />133<br />134<br />135<br />136<br />137<br />138<br />139<br />140<br />141<br />142<br />143<br />144<br />145<br />146<br />147<br />148<br />149<br />150<br />151<br />152<br />153<br />154<br />155<br />156<br />157<br />158<br />159<br />160<br />161<br />162<br />163<br />164<br />165<br />166<br />167<br />168<br />169<br />170<br />171<br />172<br />173<br />174<br />175<br />176<br />177<br />178<br />179<br />180<br />181<br />182<br />183<br />184<br />185<br />186<br />187<br />188<br />189<br />190<br />191<br />192<br />193<br />194<br />195<br />196<br />197<br />198<br />199<br />200<br />201<br />202<br />203<br />204<br />205<br />206<br />207<br />208<br />209<br />210<br />211<br />212<br />213<br />214<br />215<br />216<br />217<br />218<br />219<br />220<br />221<br />222<br />223<br />224<br />225<br />226<br />227<br />228<br />229<br />230<br />231<br />232<br />233<br />234<br />235<br />236<br />237<br />238<br />239<br />240<br />241<br />242<br />243<br />244<br />245<br />246<br />247<br />248<br />249<br />250<br />251<br />252<br />253<br />254<br />255<br />256<br />257<br />258<br />259<br />260<br />261<br />262<br />263<br />264<br />265<br />266<br />267<br />268<br />269<br />270<br />271<br />272<br />273<br />274<br />275<br />276<br />277<br />278<br />279<br />280<br />281<br />282<br />283<br />284<br />285<br />286<br />287<br />288<br />289<br />290<br />291<br />292<br />293<br />294<br />295<br />296<br />297<br />298<br />299<br />300<br />301<br />302<br />303<br />304<br />305<br />306<br />307<br />308<br />309<br />310<br />311<br />312<br />313<br />314<br />315<br />316<br />317<br />318<br />319<br />320<br />321<br />322<br />323<br />324<br />325<br />326<br />327<br />328<br />329<br />330<br />331<br />332<br />333<br />334<br />335<br />336<br />337<br />338<br />339<br />340<br />341<br />342<br />343<br />344<br />345<br />346<br /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
based <span style="color: #0000ff;">on</span> Delphi Free Stuff Include <span style="color: #0000ff;">File</span>
<span style="color: #808080;">//                  by Brad Stowers: bstowers@pobox.com</span>
<span style="color: #808080;">//                  Delphi Free Stuff: http://www.delphifreestuff.com/</span>
<span style="color: #808080;">//</span>
<span style="color: #808080;">// 08/03/06 - ur - added Delphi 2006 detection</span>
<span style="color: #808080;">// 08/07/04 - LR - BCB5 and BCB6 detection</span>
<span style="color: #808080;">// 30/08/02 - EG - Delphi 7 detection</span>
<span style="color: #808080;">// 24/01/02 - EG - Linux/Kylix changes (Puthoon)</span>
<span style="color: #808080;">// 28/12/01 - EG - Added GLS_Graphics32_SUPPORT</span>
<span style="color: #808080;">// 27/07/01 - EG - Renamed and made GLScene-specific</span>
<span style="color: #808080;">// 26/06/01 - EG - Added Delphi6 stuff</span>
<span style="color: #808080;">//</span>
&nbsp;
<span style="color: #808080;">{$DEFINE GLSCENE}</span>
&nbsp;
<span style="color: #808080;">//</span>
<span style="color: #808080;">// Additionnal support &amp; dependencies</span>
<span style="color: #808080;">//</span>
&nbsp;
<span style="color: #808080;">// Activate support for Alex Denissov's Graphics32 library (http://www.g32.org)</span>
<span style="color: #808080;">{.$DEFINE GLS_Graphics32_SUPPORT}</span>
&nbsp;
<span style="color: #808080;">// De-Activate assembly routine</span>
<span style="color: #808080;">{.$DEFINE GEOMETRY_NO_ASM}</span>
&nbsp;
<span style="color: #808080;">//</span>
<span style="color: #808080;">// Platform Detection</span>
<span style="color: #808080;">//</span>
&nbsp;
<span style="color: #808080;">{$IFDEF WIN32}</span>
  <span style="color: #808080;">{$DEFINE GLS_WIN32}</span>
  <span style="color: #808080;">{$DEFINE MSWINDOWS}</span>
<span style="color: #808080;">{$ELSE}</span>
  <span style="color: #808080;">{$IFNDEF LINUX}</span>
    <span style="color: #808080;">{$DEFINE GLS_WIN16}</span>
    <span style="color: #808080;">{$DEFINE MSWINDOWS}</span>
  <span style="color: #808080;">{$ENDIF LINUX}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF MSWINDOWS}</span>
  <span style="color: #808080;">{$DEFINE GLS_VCL}</span>
<span style="color: #808080;">{$ELSE}</span>
  <span style="color: #808080;">{$DEFINE GLS_CLX}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF LINUX}</span>
  <span style="color: #808080;">{$DEFINE GEOMETRY_NO_ASM}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF FPC}</span>
  <span style="color: #808080;">{$DEFINE GEOMETRY_NO_ASM}</span>
  <span style="color: #808080;">{$TYPEINFO ON}</span>
  <span style="color: #808080;">{$INLINE ON}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF CLR}</span>
  <span style="color: #808080;">{$DEFINE GEOMETRY_NO_ASM}</span>
  <span style="color: #808080;">{$UNSAFECODE ON}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$ifdef VER180}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_10}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_10}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI}</span>       
<span style="color: #808080;">{$endif}</span>
&nbsp;
<span style="color: #808080;">{$ifdef VER170}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_9}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_9}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI}</span>       
<span style="color: #808080;">{$endif}</span>
&nbsp;
<span style="color: #808080;">{$ifdef VER160}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_8}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_8}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI}</span>       
<span style="color: #808080;">{$endif}</span>
&nbsp;
<span style="color: #808080;">{$ifdef VER150}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_7}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_7}</span>
  <span style="color: #808080;">{$WARN UNSAFE_TYPE OFF}</span>
  <span style="color: #808080;">{$WARN UNSAFE_CODE OFF}</span>
  <span style="color: #808080;">{$WARN UNSAFE_CAST OFF}</span>
<span style="color: #808080;">{$endif}</span>
&nbsp;
<span style="color: #808080;">{$ifdef VER140}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_6}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_6}</span>
  <span style="color: #808080;">{$IFDEF BCB}</span>
    <span style="color: #808080;">{$DEFINE GLS_CPPB}</span>
    <span style="color: #808080;">{$DEFINE GLS_CPPB_6}</span>
  <span style="color: #808080;">{$ELSE}</span>      
    <span style="color: #808080;">{$DEFINE GLS_DELPHI}</span>       
  <span style="color: #808080;">{$ENDIF}</span>
<span style="color: #808080;">{$endif}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF VER130}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_5}</span> 
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_5}</span>
  <span style="color: #808080;">{$IFDEF BCB}</span>
    <span style="color: #808080;">{$DEFINE GLS_CPPB}</span>
    <span style="color: #808080;">{$DEFINE GLS_CPPB_5}</span>
  <span style="color: #808080;">{$ELSE}</span>      
    <span style="color: #808080;">{$DEFINE GLS_DELPHI}</span>       
  <span style="color: #808080;">{$ENDIF}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF VER125}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_4}</span>
  <span style="color: #808080;">{$DEFINE GLS_CPPB}</span>
  <span style="color: #808080;">{$DEFINE GLS_CPPB_4}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF VER120}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_4}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_4}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF VER110}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_3}</span>
  <span style="color: #808080;">{$DEFINE GLS_CPPB}</span>
  <span style="color: #808080;">{$DEFINE GLS_CPPB_3}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF VER100}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_3}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_3}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF VER93}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_2}</span>  <span style="color: #808080;">{ C++B v1 compiler is really v2 }</span>
  <span style="color: #808080;">{$DEFINE GLS_CPPB}</span>
  <span style="color: #808080;">{$DEFINE GLS_CPPB_1}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF VER90}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_2}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_2}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF VER80}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_1}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_1}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFNDEF GLS_CPPB}</span>
  <span style="color: #808080;">{$IFNDEF GLS_DELPHI}</span>
    <span style="color: #808080;">{ Don't know what the hell it is.  Could be new version, or could be old BP. }</span>
    <span style="color: #808080;">{$DEFINE GLS_UNKNOWN_COMPILER}</span>
  <span style="color: #808080;">{$ENDIF}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF GLS_COMPILER_1}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_1_UP}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF GLS_COMPILER_2}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_1_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_2_UP}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF GLS_COMPILER_3}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_1_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_2_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_3_UP}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF GLS_COMPILER_4}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_1_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_2_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_3_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_4_UP}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF GLS_COMPILER_5}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_1_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_2_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_3_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_4_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_5_UP}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF GLS_COMPILER_6}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_1_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_2_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_3_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_4_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_5_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_6_UP}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF GLS_COMPILER_7}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_1_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_2_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_3_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_4_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_5_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_6_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_7_UP}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF GLS_COMPILER_8}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_1_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_2_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_3_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_4_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_5_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_6_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_7_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_8_UP}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF GLS_COMPILER_9}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_1_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_2_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_3_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_4_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_5_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_6_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_7_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_8_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_9_UP}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF GLS_COMPILER_10}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_1_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_2_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_3_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_4_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_5_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_6_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_7_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_8_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_9_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_10_UP}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF GLS_DELPHI_2}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_2_UP}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF GLS_DELPHI_3}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_2_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_3_UP}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF GLS_DELPHI_4}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_2_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_3_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_4_UP}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF GLS_DELPHI_5}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_2_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_3_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_4_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_5_UP}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF GLS_DELPHI_6}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_2_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_3_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_4_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_5_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_6_UP}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF GLS_DELPHI_7}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_2_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_3_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_4_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_5_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_6_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_7_UP}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF GLS_DELPHI_8}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_2_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_3_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_4_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_5_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_6_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_7_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_8_UP}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF GLS_DELPHI_9}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_2_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_3_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_4_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_5_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_6_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_7_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_8_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_9_UP}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF GLS_DELPHI_10}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_2_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_3_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_4_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_5_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_6_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_7_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_8_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_9_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_10_UP}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF GLS_CPPB_3}</span>
  <span style="color: #808080;">{$DEFINE GLS_CPPB_3_UP}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF GLS_CPPB_4}</span>
  <span style="color: #808080;">{$DEFINE GLS_CPPB_3_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_CPPB_4_UP}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF GLS_CPPB_5}</span>
  <span style="color: #808080;">{$DEFINE GLS_CPPB_3_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_CPPB_4_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_CPPB_5_UP}</span>  
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF GLS_CPPB_6}</span>
  <span style="color: #808080;">{$DEFINE GLS_CPPB_3_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_CPPB_4_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_CPPB_5_UP}</span>  
  <span style="color: #808080;">{$DEFINE GLS_CPPB_6_UP}</span> 
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF GLS_COMPILER_3_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_NO_COM_CLEANUP}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF GLS_CPPB_3_UP}</span>
  <span style="color: #808080;">// C++Builder requires this if you use Delphi components in run-time packages.</span>
  <span style="color: #808080;">{$ObjExportAll On}</span>
<span style="color: #808080;">{$ENDIF}</span></pre></td></tr></table></code><hr />
</div></div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f778/environnements-developpement/delphi/composants-vcl/">Composants VCL</category>
			<dc:creator>varilux56</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2182957/environnements-developpement/delphi/composants-vcl/probleme-installer-glscene/</guid>
		</item>
		<item>
			<title>Dossier caché est ignoré par TOpenDialog.InitialDir</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2182393&amp;goto=newpost</link>
			<pubDate>Mon, 02 Mar 2026 06:22:35 GMT</pubDate>
			<description>Bonjour à tous, 
 
J’ai un...</description>
			<content:encoded><![CDATA[<div>Bonjour à tous,<br />
<br />
J’ai un comportement étrange : lorsque je définis TOpenDialog.InitialDir sur un dossier caché (par exemple AppData\Roaming), la boîte de dialogue ne s’ouvre pas dans ce dossier et revient systématiquement ailleurs (souvent le dernier dossier utilisé).<br />
<br />
Le dossier existe bien et DirectoryExists renvoie True, mais InitialDir semble être ignoré dès qu’il s’agit d’un répertoire caché.<br />
<br />
Lorsque je saisis manuellement le chemin dans la zone Fichier du TOpenDialog et que je valide, j'ouvre bien le dossier caché. <br />
En revanche, lorsque je définis ce même chemin dans InitialDir, le dialogue l’ignore complètement.&#8239;<br />
<br />
<img src="https://www.developpez.net/forums/attachments/p674655d1772433487/environnements-developpement/delphi/composants-vcl/dossier-cache-ignore-topendialog-initialdir/capture-d-ecran-2026-03-02-073744.png/" border="0" alt="Nom : Capture d'écran 2026-03-02 073744.png
Affichages : 67
Taille : 84,7 Ko"  style="float: CONFIG" /><br />
<br />
Savez&#8209;vous pourquoi Delphi/Windows ignore un dossier caché dans TOpenDialog.InitialDir et comment forcer l’ouverture dans ce dossier ?<br />
<br />
Merci d’avance pour vos éclaircissements. ;)</div>


	<div style="padding:10px">

	

	
		<fieldset class="fieldset">
			<legend>Images attachées</legend>
				<div style="padding:10px">
				<img class="attach" src="https://www.developpez.net/forums/attachments/p674655d1772433487/environnements-developpement/delphi/composants-vcl/dossier-cache-ignore-topendialog-initialdir/capture-d-ecran-2026-03-02-073744.png/" alt="" />&nbsp;
			</div>
		</fieldset>
	

	

	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f778/environnements-developpement/delphi/composants-vcl/">Composants VCL</category>
			<dc:creator>XeGregory</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2182393/environnements-developpement/delphi/composants-vcl/dossier-cache-ignore-topendialog-initialdir/</guid>
		</item>
		<item>
			<title>Comment créer les composants de TWebView4Delphi programmatiquement ?</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2182392&amp;goto=newpost</link>
			<pubDate>Mon, 02 Mar 2026 00:25:36 GMT</pubDate>
			<description>Je suis sous W11 avec Delphi...</description>
			<content:encoded><![CDATA[<div>Je suis sous W11 avec Delphi 6 Personal Edition, service packs 1 à 3 installés<br />
<br />
Je viens d'apprendre à créer et utiliser (petitement...) WebView4Delphi dans un programme D6.<br />
J'arrive à naviguer, et j'arrive à afficher un fichier SVG et à déplacer la ViewBox à volonté.<br />
<br />
Tout cela fonctionne bien si je place les composants dans ma fiche dans l'EDI, puis je les utilise dans mon code Delphi.<br />
<br />
Maintenant, je veux créer ces composants dynamiquement, et je veux faire cela dans une DLL de service.<br />
Et ça ne marche pas - rien ne s'affiche.<br />
<br />
J'ai joint un fichier ZIP qui contient 3 projets, complets avec codes source, exécutables et fichiers de données:<br />
<div style="margin-left:40px">1. le projet opérationnel avec les composants posés directement dans une fiche à partir de l'EDI : projet <b>FirstTest</b><br />
2. le projet définissant la DLL de service, avec juste 1 seule fonction CreerWebView : projet <b>WebView4Delphi</b><br />
3. le projet contenant un programme Delphi appelant la fonction CreerWebView de la DLL : projet <b>Test_Avec_DLL</b></div><br />
C'est ce dernier (3) qui n'affiche rien, et je ne comprends pas. Voici le code de la dll WebView4Delphi:<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br />57<br />58<br />59<br />60<br />61<br />62<br />63<br />64<br />65<br />66<br />67<br />68<br />69<br />70<br />71<br />72<br />73<br /></div></td><td valign="top"><pre style="margin: 0">library WebView4Delphi;
&nbsp;
<span style="color: #808080;">{</span>
<span style="color: #808080;">&nbsp; WebView4Delphi</span>
<span style="color: #808080;">}</span>
&nbsp;
<span style="color: #0000ff;">uses</span>
  SysUtils,Classes, Forms, Windows, Dialogs, Controls,
&nbsp;
  uWVBrowserBase, uWVBrowser, uWVWinControl, uWVWindowParent,
  uWVTypes, uWVConstants, uWVTypeLibrary,
  uWVLibFunctions, uWVLoader, uWVInterfaces, uWVCoreWebView2Args;
&nbsp;
<span style="color: #0000ff;">type</span>
  TDummy = <span style="color: #0000ff;">class</span>
    <span style="color: #0000ff;">private</span>
    <span style="color: #0000ff;">published</span>
      <span style="color: #0000ff;">class</span> <span style="color: #0000ff;">procedure</span> AfterCreated<span class="br0">&#40;</span>Sender: <span style="color: #0080ff;">TObject</span><span class="br0">&#41;</span>;
  <span style="color: #0000ff;">end</span>;
&nbsp;
<span style="color: #0000ff;">var</span>
  WVWindowParent1: TWVWindowParent;
  WVBrowser1: TWVBrowser;
&nbsp;
&nbsp;
<span style="color: #808080;">{$R *.res}</span>
&nbsp;
&nbsp;
<span style="color: #0000ff;">function</span> CreateWebView<span class="br0">&#40;</span>aDest: HWND<span class="br0">&#41;</span>: <span style="color: #0080ff;">integer</span>; <span style="color: #0000ff;">stdcall</span>; export;
<span style="color: #0000ff;">begin</span>
  result := <span style="color: #cc66cc;">0</span>;
  <span style="color: #0000ff;">try</span>
    <span style="color: #0000ff;">if</span> assigned<span class="br0">&#40;</span>WVWindowParent1<span class="br0">&#41;</span> <span style="color: #0000ff;">then</span> exit;
    <span style="color: #0000ff;">if</span> assigned<span class="br0">&#40;</span>WVBrowser1<span class="br0">&#41;</span> <span style="color: #0000ff;">then</span> exit;
&nbsp;
    <span style="color: #808080;">// J'essaie de simuler ce qui se passe lors de la cr&eacute;ation d'une form contenant ces objets</span>
    WVWindowParent1 := TWVWindowParent.CreateParented<span class="br0">&#40;</span>aDest<span class="br0">&#41;</span>;
    WVWindowParent1.ParentWindow := aDest;
    WVWindowParent1.Left := <span style="color: #cc66cc;">10</span>;
    WVWindowParent1.Top := <span style="color: #cc66cc;">50</span>;
    WVWindowParent1.Width := <span style="color: #cc66cc;">1000</span>;
    WVWindowParent1.Height := <span style="color: #cc66cc;">500</span>;
    WVBrowser1 := TWVBrowser.Create<span class="br0">&#40;</span>WVWindowParent1<span class="br0">&#41;</span>;
    WVBrowser1.DefaultURL := <span style="color: #FF0000;">'https://google.fr'</span>;
    WVBrowser1.OnAfterCreated := TDummy.AfterCreated;
    WVWindowParent1.Browser := WVBrowser1;
&nbsp;
    <span style="color: #0000ff;">if</span> GlobalWebView2Loader.InitializationError <span style="color: #0000ff;">then</span>
      showmessage<span class="br0">&#40;</span>GlobalWebView2Loader.ErrorMessage<span class="br0">&#41;</span>
     <span style="color: #0000ff;">else</span>
      <span style="color: #0000ff;">if</span> GlobalWebView2Loader.Initialized <span style="color: #0000ff;">then</span>
        WVBrowser1.CreateBrowser<span class="br0">&#40;</span>WVWindowParent1.Handle<span class="br0">&#41;</span>;
&nbsp;
    result := <span style="color: #0080ff;">integer</span><span class="br0">&#40;</span>WVWindowParent1<span class="br0">&#41;</span>;
  <span style="color: #0000ff;">except</span>
    showmessage<span class="br0">&#40;</span><span style="color: #FF0000;">'Error in CreateWebView'</span><span class="br0">&#41;</span>;
  <span style="color: #0000ff;">end</span>;
<span style="color: #0000ff;">end</span>;
exports CreateWebView;
&nbsp;
<span style="color: #0000ff;">class</span> <span style="color: #0000ff;">procedure</span> TDummy.AfterCreated<span class="br0">&#40;</span>Sender: <span style="color: #0080ff;">TObject</span><span class="br0">&#41;</span>;
<span style="color: #0000ff;">begin</span>
  WVWindowParent1.UpdateSize;
  WVBrowser1.Navigate<span class="br0">&#40;</span>WVBrowser1.DefaultURL<span class="br0">&#41;</span>;
<span style="color: #0000ff;">end</span>;
&nbsp;
<span style="color: #0000ff;">begin</span>
  GlobalWebView2Loader                := TWVLoader.Create<span class="br0">&#40;</span><span style="color: #0000ff;">nil</span><span class="br0">&#41;</span>;
  GlobalWebView2Loader.UserDataFolder := ExtractFileDir<span class="br0">&#40;</span>Application.ExeName<span class="br0">&#41;</span> + <span style="color: #FF0000;">'\CustomCache'</span>;
  GlobalWebView2Loader.StartWebView2;
&nbsp;
&nbsp;
<span style="color: #0000ff;">end</span>.</pre></td></tr></table></code><hr />
</div>Est-ce que vous pouvez me montrer où j'ai fauté ?</div>


	<div style="padding:10px">

	

	

	

	
		<fieldset class="fieldset">
			<legend>Fichiers attachés</legend>
			<ul>
			<li>
	<img class="inlineimg" src="https://forum.developpez.be/images/attach/zip.gif" alt="Type de fichier : zip" />
	<a href="https://www.developpez.net/forums/attachments/p674653d1772411094/environnements-developpement/delphi/composants-vcl/creer-composants-twebview4delphi-programmatiquement/webview4delphi.zip/">WebView4Delphi.zip</a> 
(852,4 Ko)
</li>
			</ul>
		</fieldset>
	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f778/environnements-developpement/delphi/composants-vcl/">Composants VCL</category>
			<dc:creator>KlausGunther</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2182392/environnements-developpement/delphi/composants-vcl/creer-composants-twebview4delphi-programmatiquement/</guid>
		</item>
		<item>
			<title>Coment utiliser TWebView4Delphi ?</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2182379&amp;goto=newpost</link>
			<pubDate>Sat, 28 Feb 2026 11:53:45 GMT</pubDate>
			<description>Je suis sous W11 avec Delphi...</description>
			<content:encoded><![CDATA[<div>Je suis sous W11 avec Delphi 6 Personal Edition.<br />
<br />
J'ai fait l'installation des Service packs 2 et 3 avec succès.<br />
J'ai installé WebVew4Delphi avec succès.<br />
<br />
Je fais mon premier projet pour afficher Google.fr dans mon écran, et rien ne s'affiche. <br />
J'ai placé WebView2Loader.dll en version 32 bits dans le dossier de mon projet.<br />
J'ai placé un contrôle WvWindowParent dans la form 0 ==&gt; WVWindowParent1<br />
J'ai ajouté un WebView4Delphi dans la form 0 ==&gt; WVBrowser1<br />
J'ai mis WVBrowser1 dans la propriété Bowser de WVWindowParent1<br />
J'ai mis 'htpps://google.fr' dans la propriété DefaultURL de WVWindowParent1<br />
<br />
Résultat: rien ne s&quot;affiche.<br />
<br />
J'ai créé un bouton TButton1, et dans l'évènement On_Click, je charge Navigate avec mon URL:<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code">WVBrowser1.Navigate<span class="br0">&#40;</span><span style="color: #FF0000;">'https://google.fr'</span><span class="br0">&#41;</span>;</code><hr />
</div>Résultat: rien ne s'affiche.<br />
<br />
J'ai dû manquer quelque chose de fondamental. Pourriez-vous me mettre sur la piste ? Merci d'avance !<br />
Je projet complet est dans le fichier ZIP ci-joint.</div>


	<div style="padding:10px">

	

	

	

	
		<fieldset class="fieldset">
			<legend>Fichiers attachés</legend>
			<ul>
			<li>
	<img class="inlineimg" src="https://forum.developpez.be/images/attach/zip.gif" alt="Type de fichier : zip" />
	<a href="https://www.developpez.net/forums/attachments/p674633d1772279617/environnements-developpement/delphi/composants-vcl/coment-utiliser-twebview4delphi/firsttest.zip/">FirstTest.zip</a> 
(337 octets)
</li>
			</ul>
		</fieldset>
	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f778/environnements-developpement/delphi/composants-vcl/">Composants VCL</category>
			<dc:creator>KlausGunther</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2182379/environnements-developpement/delphi/composants-vcl/coment-utiliser-twebview4delphi/</guid>
		</item>
		<item>
			<title>mail avec 365</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2182204&amp;goto=newpost</link>
			<pubDate>Thu, 19 Feb 2026 13:15:05 GMT</pubDate>
			<description>Bonjour, 
 
Nous allons...</description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
<br />
Nous allons passer à office 365.<br />
<br />
Je me pose des questions sur mes code source qui envoie des mail avec Indy.<br />
A mon avis ça ne sera plus compatible, car on m'a parlé de TLS1.2 ?<br />
<br />
J'utilise Delphi XE5: est ce que Indy sur cette version pourra envoyer des mail avec un compte office 365 ?<br />
<br />
Cordialement</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f778/environnements-developpement/delphi/composants-vcl/">Composants VCL</category>
			<dc:creator>looping</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2182204/environnements-developpement/delphi/composants-vcl/mail-365-a/</guid>
		</item>
		<item>
			<title><![CDATA[Etat physique des touches d'un clavier]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2181348&amp;goto=newpost</link>
			<pubDate>Wed, 07 Jan 2026 08:20:53 GMT</pubDate>
			<description>Bonjour. Existe-t-il un moyen...</description>
			<content:encoded><![CDATA[<div>Bonjour. Existe-t-il un moyen de connaitre l'état physique d'enfoncement des touches d'un clavier ?<br />
L'API32 de Windows permet de connaitre l'état logique des touches avec getKeyState ou getAsyncKeyState mais cet état logique ne correspond pas toujours à l'état physique réel d'enfoncement d'un touche. Par exemple, avec les deux touches CTRL gauche et droite, il est quasi impossible de savoir si les deux touches sont enfoncées simultanément !</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f778/environnements-developpement/delphi/composants-vcl/">Composants VCL</category>
			<dc:creator>f6dqm1</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2181348/environnements-developpement/delphi/composants-vcl/etat-physique-touches-d-clavier/</guid>
		</item>
		<item>
			<title>Comment savoir si une opération TPicture LoadFromFile a terminé ?</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2181036&amp;goto=newpost</link>
			<pubDate>Fri, 19 Dec 2025 01:18:35 GMT</pubDate>
			<description>Je suis sous W11 avec Delphi...</description>
			<content:encoded><![CDATA[<div>Je suis sous W11 avec Delphi 6 Personal Edition.<br />
<br />
Je travaille sur un contrôle composé contenant un TPicture et un TPanel. <br />
Je veux charger un fichier BMP dans le TPicture, puis afficher l'image dans le canvas du TPanel.<br />
<br />
Le chargement du fichier par LoadFromFile ne pose pas de problème.<br />
J'utilise une version dérivée de TPanel afin d'avoir accès à la méthode Paint du panel.<br />
Là, j'utilise CopyRect sur ce canvas pour y déposer la bitmap chargée dans le TPicture.<br />
<br />
La difficulté est de savoir QUAND l'opération de chargement du fichier est terminée et la bitmap est disponible pour la méthode Canvas.CopyRect sur le panel.<br />
<br />
Si je fais un délai de 500 ms entre le LoadFromFile et le CopyRect, l'image s'affiche sans problème.<br />
Sans ce délai, l'image ne s'affiche pas - manifestement, la bitmap n'est pas encore disponible.<br />
<br />
J'ai utilisé l'évènement OnChange du TPicture dans lequel j'appelle la méthode Paint du panel dérivé, dans laquelle je fais le CopyRect sur le canvas.<br />
<br />
L'évènement se déclenche bien, mais apparemment, il se déclenche dès que le LoadFromFile commence au lieu de se déclencher lorsque l'opération est terminée.<br />
Et donc, même dans ce cas, la bitmap n'est pas disponible.<br />
<br />
Question: comment savoir quand l'opération LoadFromFile est terminée ?<br />
<br />
A tout hasard, voici les parties significatives du code:<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br />57<br />58<br />59<br />60<br />61<br />62<br />63<br />64<br />65<br />66<br />67<br />68<br />69<br />70<br />71<br />72<br />73<br />74<br />75<br />76<br /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
<span style="color: #0000ff;">type</span> TKPicture = <span style="color: #0000ff;">class</span>
  <span style="color: #0000ff;">private</span>
    fOwner: TComponent;
    fPicture: TPicture;
    fPanel: TKPanel;
    fTag: <span style="color: #0080ff;">integer</span>;
    <span style="color: #0000ff;">procedure</span> PictureChanged<span class="br0">&#40;</span>Sender: <span style="color: #0080ff;">TObject</span><span class="br0">&#41;</span>;
  <span style="color: #0000ff;">published</span>
    <span style="color: #0000ff;">constructor</span> CreateNew<span class="br0">&#40;</span>aOwner: TComponent; aDest: HWND<span class="br0">&#41;</span>;
    <span style="color: #0000ff;">destructor</span> Destroy; <span style="color: #0000ff;">override</span>;
    <span style="color: #0000ff;">property</span> Tag: <span style="color: #0080ff;">integer</span> read fTag write fTag;
    <span style="color: #0000ff;">property</span> Owner: TComponent read fOwner write fOwner;
&nbsp;
    <span style="color: #0000ff;">procedure</span> Localize<span class="br0">&#40;</span>aX, aY, aW, aH: <span style="color: #0080ff;">integer</span><span class="br0">&#41;</span>;
    <span style="color: #0000ff;">procedure</span> LoadPicture<span class="br0">&#40;</span>aFile: <span style="color: #0080ff;">string</span><span class="br0">&#41;</span>;
<span style="color: #0000ff;">end</span>;
&nbsp;
<span style="color: #0000ff;">constructor</span> TKPicture.CreateNew<span class="br0">&#40;</span>aOwner: TComponent; aDest: HWND<span class="br0">&#41;</span>;
<span style="color: #0000ff;">begin</span>
  <span style="color: #0000ff;">inherited</span>;
  Owner := aOwner;
  Tag := <span style="color: #cc66cc;">0</span>;
  fOwner := aOwner;
  fPicture := TPicture.Create;
  fPicture.OnChange := PictureChanged;
  fPanel := TKPanel.Create<span class="br0">&#40;</span>aOwner<span class="br0">&#41;</span>;
  fPanel.Tag := <span style="color: #0080ff;">integer</span><span class="br0">&#40;</span><span style="color: #0000ff;">self</span><span class="br0">&#41;</span>;
  fPanel.ParentWindow := aDest;
<span style="color: #0000ff;">end</span>;
&nbsp;
<span style="color: #0000ff;">destructor</span> TKPicture.Destroy;
<span style="color: #0000ff;">begin</span>
  Tag := <span style="color: #cc66cc;">0</span>;
  fPanel.Free;
  fPicture.Free;
  <span style="color: #0000ff;">inherited</span>;
<span style="color: #0000ff;">end</span>;
&nbsp;
<span style="color: #0000ff;">procedure</span> TKPicture.Localize<span class="br0">&#40;</span>aX, aY, aW, aH: <span style="color: #0080ff;">integer</span><span class="br0">&#41;</span>;
<span style="color: #0000ff;">begin</span>
  fPanel.Left := aX;
  fPanel.Top := aY;
  fPanel.Width := aW;
  fPanel.Height := aH;
<span style="color: #0000ff;">end</span>;
&nbsp;
<span style="color: #0000ff;">procedure</span> Delay<span class="br0">&#40;</span>Milliseconds: <span style="color: #0080ff;">Integer</span><span class="br0">&#41;</span>;
  <span style="color: #808080;">{by Hagen Reddmann}</span>
<span style="color: #0000ff;">var</span>
  Tick: <span style="color: #0080ff;">DWORD</span>;
  Event: <span style="color: #0080ff;">THandle</span>;
<span style="color: #0000ff;">begin</span>
  Event := CreateEvent<span class="br0">&#40;</span><span style="color: #0000ff;">nil</span>, <span style="color: #0000ff;">False</span>, <span style="color: #0000ff;">False</span>, <span style="color: #0000ff;">nil</span><span class="br0">&#41;</span>;
  <span style="color: #0000ff;">try</span>
    Tick := GetTickCount + <span style="color: #0080ff;">DWORD</span><span class="br0">&#40;</span>Milliseconds<span class="br0">&#41;</span>;
    <span style="color: #0000ff;">while</span> <span class="br0">&#40;</span>Milliseconds&gt;<span style="color: #cc66cc;">0</span><span class="br0">&#41;</span> <span style="color: #0000ff;">and</span> <span class="br0">&#40;</span>MsgWaitForMultipleObjects<span class="br0">&#40;</span><span style="color: #cc66cc;">1</span>,Event,<span style="color: #0000ff;">False</span>,Milliseconds,QS_ALLINPUT<span class="br0">&#41;</span>&lt;&gt;WAIT_TIMEOUT<span class="br0">&#41;</span> <span style="color: #0000ff;">do</span> <span style="color: #0000ff;">begin</span>
      Application.ProcessMessages;
      Milliseconds := Tick - GetTickCount;
    <span style="color: #0000ff;">end</span>;
  <span style="color: #0000ff;">finally</span>
    CloseHandle<span class="br0">&#40;</span>Event<span class="br0">&#41;</span>;
  <span style="color: #0000ff;">end</span>;
<span style="color: #0000ff;">end</span>;
&nbsp;
<span style="color: #0000ff;">procedure</span> TKPicture.LoadPicture<span class="br0">&#40;</span>aFile: <span style="color: #0080ff;">string</span><span class="br0">&#41;</span>;
<span style="color: #0000ff;">begin</span>
  fPicture.LoadFromFile<span class="br0">&#40;</span>aFile<span class="br0">&#41;</span>;
<span style="color: #808080;">//  Delay(500);                   // **1  avec ce d&eacute;lai, l'image s'affiche lors de l'&eacute;v&egrave;nement PictureChanged</span>
<span style="color: #808080;">//  fPanel.Paint;                  // **2 et m&ecirc;me sans d&eacute;clarer l'&eacute;c&egrave;nement PictureChanged, le Paint ici affiche l'image di le d&eacute;lai a &eacute;t&eacute; fait</span>
<span style="color: #0000ff;">end</span>;
&nbsp;
<span style="color: #0000ff;">procedure</span> TKPicture.PictureChanged<span class="br0">&#40;</span>Sender: <span style="color: #0080ff;">TObject</span><span class="br0">&#41;</span>;
<span style="color: #0000ff;">begin</span>
  fPanel.Paint;  
<span style="color: #0000ff;">end</span>;</pre></td></tr></table></code><hr />
</div>J'affiche bien l'image si j'active la ligne **1.<br />
En l'état, l'image ne s'affiche pas, malgré le déclenchement de PictureChanged.<br />
<br />
J'aimerais bien pouvoir me passer de cette procédure Delay et faire mon Paint au moment opportun. <br />
Comment savoir si la bitmap du TPicture est prête ?<br />
En fait, la question se résume à ceci:   comment être averti que l'opération LoadFromFile est terminée ?</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f778/environnements-developpement/delphi/composants-vcl/">Composants VCL</category>
			<dc:creator>KlausGunther</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2181036/environnements-developpement/delphi/composants-vcl/savoir-operation-tpicture-loadfromfile-termine/</guid>
		</item>
		<item>
			<title>TPageControl et suppression des « border »</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2180862&amp;goto=newpost</link>
			<pubDate>Tue, 09 Dec 2025 09:54:15 GMT</pubDate>
			<description>Bonjour, 
 
J’ai cherché à...</description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
<br />
J’ai cherché à supprimer les borders du composant TPageControl pour faire plus moderne et épuré sans la moindre réussite :calim2:<br />
<br />
Auriez-vous une idée ou un bout de code qui le permettrait ?<br />
<br />
Merci d’avance de vos retours.</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f778/environnements-developpement/delphi/composants-vcl/">Composants VCL</category>
			<dc:creator>der§en</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2180862/environnements-developpement/delphi/composants-vcl/tpagecontrol-suppression-border/</guid>
		</item>
		<item>
			<title><![CDATA[Dans un TCustomControl, je n'arrive pas à capter les flèches par OnKeyDown]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2180696&amp;goto=newpost</link>
			<pubDate>Sat, 29 Nov 2025 12:08:24 GMT</pubDate>
			<description>Bonjour, 
 
Je suis sous W11...</description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
<br />
Je suis sous W11 avec Delphi 6 Personal Edition.<br />
<br />
J'essaie de créer un nouveau contrôle dérivé de TCustomControl.<br />
Je joins un fichier ZIP contenant le projet complet.<br />
<br />
J'arrive à le créer et à dessiner mon contrôle (rudimentaire) dans le canvas qui apparaît à l'écran.<br />
J'arrive à capter le click gauche et mousedown ce qui me permet, dans le OnClick, de connaître les coordonnées du click.<br />
Dans on mémo séparé, j'affiche les coordonnées du click lors de l'évènement OnClick, coordonnées mémorisées lors du OnMouseDown.<br />
J'arrive à détecter les touches frappées par OnKeyPress et à identifier un caractère normal, Return (#13) ou Delete (#8).<br />
<br />
Mais, je n'arrive pas à détecter les flèches (droite, gauche, haut, bas) qui sont interceptées avant d'arriver dans mon contrôle, au niveau de Form1.<br />
Le curseur se déplace alors dans la Form1 d'un contrôle à l'autre, ou dans le mémo.<br />
J'ai essayé de modifier le ControlStyle de mon TCustomContrôle (ControlStyle := ControlStyle +[csClickEvents,csCaptureMouse,csAcceptsControls];),<br />
mais cela n'a aucune influence sur le traitement des flèches.<br />
J'ai même essayé de modifier KeyPreview de la Form1 (valeurs True et False), mais le comportement reste inchangé.<br />
Je peux détecter dans OnKeyDown même Shift, Ctrl, Alt, mais pas les flèches. C'est frustrant !<br />
<br />
<b>Comment est-ce que je peux obtenir le passage des flèches dans mon TCustomControl de sorte que le OnKeyDown les détecte ?</b><br />
Voici une capture montrant mon programme après un clic , la frappe de &quot;a&quot;, puis un autre clic à un endroit différent, puis la frappe de la touche Return:<br />
<img src="https://www.developpez.net/forums/attachments/p672194d1764418012/environnements-developpement/delphi/composants-vcl/tcustomcontrol-n-arrive-capter-fleches-onkeydown/capture-d-ecran-2025-11-29-130438.png/" border="0" alt="Nom : Capture d'écran 2025-11-29 130438.png
Affichages : 115
Taille : 15,0 Ko"  style="float: CONFIG" /></div>


	<div style="padding:10px">

	

	
		<fieldset class="fieldset">
			<legend>Images attachées</legend>
				<div style="padding:10px">
				<img class="attach" src="https://www.developpez.net/forums/attachments/p672194d1764418012/environnements-developpement/delphi/composants-vcl/tcustomcontrol-n-arrive-capter-fleches-onkeydown/capture-d-ecran-2025-11-29-130438.png/" alt="" />&nbsp;
			</div>
		</fieldset>
	

	

	
		<fieldset class="fieldset">
			<legend>Fichiers attachés</legend>
			<ul>
			<li>
	<img class="inlineimg" src="https://forum.developpez.be/images/attach/zip.gif" alt="Type de fichier : zip" />
	<a href="https://www.developpez.net/forums/attachments/p672195d1764418089/environnements-developpement/delphi/composants-vcl/tcustomcontrol-n-arrive-capter-fleches-onkeydown/testtcustomcontrol.zip/">TestTCustomcontrol.zip</a> 
(215,9 Ko)
</li>
			</ul>
		</fieldset>
	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f778/environnements-developpement/delphi/composants-vcl/">Composants VCL</category>
			<dc:creator>KlausGunther</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2180696/environnements-developpement/delphi/composants-vcl/tcustomcontrol-n-arrive-capter-fleches-onkeydown/</guid>
		</item>
		<item>
			<title><![CDATA[Comment "Assigner" une font à une autre ?]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2180652&amp;goto=newpost</link>
			<pubDate>Wed, 26 Nov 2025 17:46:05 GMT</pubDate>
			<description>Je suis sous W11 avec Delphi...</description>
			<content:encoded><![CDATA[<div>Je suis sous W11 avec Delphi 6 Personal Edition.<br />
<br />
J'essaie dans mon programme de créer plusieurs polices et d'affecter ces polices à différents contrôles VCL.<br />
<br />
Je fais quelque chose comme ceci:<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">var</span>
  Form2: TForm2;
  CellFont: TFont;
  MemoFont: TFont;
<span style="color: #0000ff;">implementation</span>
&nbsp;
<span style="color: #808080;">{$R *.dfm}</span>
&nbsp;
<span style="color: #0000ff;">procedure</span> TForm2.FormCreate<span class="br0">&#40;</span>Sender: <span style="color: #0080ff;">TObject</span><span class="br0">&#41;</span>;
<span style="color: #0000ff;">begin</span>
  CellFont := TFont.Create;
  MemoFont := TFont.Create;
<span style="color: #0000ff;">end</span>;
&nbsp;
<span style="color: #0000ff;">procedure</span> TForm2.oFontSelectClick<span class="br0">&#40;</span>Sender: <span style="color: #0080ff;">TObject</span><span class="br0">&#41;</span>;
<span style="color: #0000ff;">begin</span>
  FontDialog1.Font.Assign<span class="br0">&#40;</span>CellFont<span class="br0">&#41;</span>;
  <span style="color: #0000ff;">if</span> <span style="color: #0000ff;">not</span> FontDialog1.Execute <span style="color: #0000ff;">then</span> exit;
  CellFont := FontDialog1.Font;
<span style="color: #0000ff;">end</span>;
&nbsp;
<span style="color: #0000ff;">procedure</span> TForm2.oSelectFontMemoClick<span class="br0">&#40;</span>Sender: <span style="color: #0080ff;">TObject</span><span class="br0">&#41;</span>;
<span style="color: #0000ff;">begin</span>
  FontDialog1.Font.Assign<span class="br0">&#40;</span>MemoFont<span class="br0">&#41;</span>;
  <span style="color: #0000ff;">if</span> <span style="color: #0000ff;">not</span> FontDialog1.Execute <span style="color: #0000ff;">then</span> exit;
  MemoFont := FontDialog1.Font;
<span style="color: #0000ff;">end</span>;</pre></td></tr></table></code><hr />
</div>Dans mon esprit, cela crée 2 polices indépendantes, chacune paramétrée à un appel à FontDialog1.<br />
Je passe alors CellFont ou MemoFont en paramètre à une procédure.<br />
Là, je veux l'affecter à ma police d'un objet VCL, comme ceci:<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code">memo.Font.Assign<span class="br0">&#40;</span>aFont<span class="br0">&#41;</span>;</code><hr />
</div>Or, à l'exécution, je reçois ceci:<br />
<img src="https://www.developpez.net/forums/attachments/p672116d1764178676/environnements-developpement/delphi/composants-vcl/assigner-font/capture-d-ecran-2025-11-26-183444.png/" border="0" alt="Nom : Capture d'écran 2025-11-26 183444.png
Affichages : 127
Taille : 12,3 Ko"  style="float: CONFIG" /><br />
<br />
Avant, à la place de Assign, j'affectais les propriétés Name, Size, Color et Style suivantes, comme ceci:<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br /></div></td><td valign="top"><pre style="margin: 0">dest.Font.name = org.font.name
...</pre></td></tr></table></code><hr />
</div>Ca marche pour le permier, mais dès que je veux affecter une autre police à un autre objet, TOUS les objets que j'ai utilisés prennent les attributs de la dernière police modifiée. C'est très frustrant.<br />
<br />
J'ai dû manquer un truc élémentaire... je pensais que Assign faisait le travail, selon <a rel="nofollow" href="https://docwiki.embarcadero.com/Libraries/Sydney/en/Vcl.Graphics.TFont.Assign" target="_blank">https://docwiki.embarcadero.com/Libr...s.TFont.Assign</a>:<br />
<div class="bbcode_container">
	<div class="bbcode_description">Citation:</div>
	<div class="bbcode_quote printable">
		<hr />
		
			Copies the properties of another TFont object.<br />
<br />
Call Assign to set the properties of the font to match the characteristics of the Source object. If Source is another TFont object, Assign matches the font characteristics of the source. Assign does not copy the PixelsPerInch property, so this method can be used to copy a screen font to a printer font, or vice versa.<br />
<br />
If the Source parameter is not another TFont object, Assign calls the inherited method so that the font can be copied from any object that can assign font properties in its AssignTo method.
			
		<hr />
	</div>
</div>Mais en exécution, le fait de passer ces Font en paramètre et de les utiliser dans une procédure, ça ne marche pas...</div>


	<div style="padding:10px">

	

	
		<fieldset class="fieldset">
			<legend>Images attachées</legend>
				<div style="padding:10px">
				<img class="attach" src="https://www.developpez.net/forums/attachments/p672116d1764178676/environnements-developpement/delphi/composants-vcl/assigner-font/capture-d-ecran-2025-11-26-183444.png/" alt="" />&nbsp;
			</div>
		</fieldset>
	

	

	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f778/environnements-developpement/delphi/composants-vcl/">Composants VCL</category>
			<dc:creator>KlausGunther</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2180652/environnements-developpement/delphi/composants-vcl/assigner-font/</guid>
		</item>
		<item>
			<title><![CDATA[Problème avec TButton en injection dans une cellule d'un TStringGrid]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2180523&amp;goto=newpost</link>
			<pubDate>Tue, 18 Nov 2025 14:22:36 GMT</pubDate>
			<description>Bonjour, 
 
Je suis sous W11...</description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
<br />
Je suis sous W11 avec Delphi 6 Personal Edition.<br />
<br />
Je suis en train d'injecter (ou d'essayer...) des contrôles dans des cellules d'un contrôle dérivé d'un TStringGrid.<br />
<br />
J'ai essayé TButton. Ca marche, le bouton apparaît et il est cliquable. <br />
Mais le clic ne déclenche pas l'évènement OnClick du bouton injecté.<br />
Par contre, appeler programmatiquement la méthode Click du TButton déclenche bien sa routine OnClick.<br />
<br />
Pui, j'ai essayé TSpeedButton à la place.<br />
Là encore, le bouton apparaît bien et est cliquable.<br />
Mais cette fois, le clic déclenche bien l'évènement OnClick du bouton injecté.<br />
<br />
Conclusion: si je veux un bouton dans un TStringGrid, il faut utiliser TSpeedButton.<br />
<br />
<b>Mais pourquoi ? Qu'est-ce qui fait que TSpeedButton fonctionne et pas TButton, en injection dans une cellule d'un TStringGrid </b>?<br />
<br />
Je joins une capture d'écran après le clic sur un des 6 TSpeedButton injectés - la routine évènement OnClick affiche les coordonnées de la cellule cliquée:<br />
<img src="https://www.developpez.net/forums/attachments/p671889d1763475730/environnements-developpement/delphi/composants-vcl/probleme-tbutton-injection-cellule-d-tstringgrid/capture-d-ecran-2025-11-18-152123.png/" border="0" alt="Nom : Capture d'écran 2025-11-18 152123.png
Affichages : 210
Taille : 28,8 Ko"  style="float: CONFIG" /><br />
<br />
D'ailleurs, après un clic sur le bouton dans la cellule ligne 3 colonne 2, un peut cliquer sur &quot;Info&quot; et on obtient des informations sur la cellule clickée:<br />
<img src="https://www.developpez.net/forums/attachments/p671890d1763476288/environnements-developpement/delphi/composants-vcl/probleme-tbutton-injection-cellule-d-tstringgrid/capture-d-ecran-2025-11-18-152900.png/" border="0" alt="Nom : Capture d'écran 2025-11-18 152900.png
Affichages : 191
Taille : 17,7 Ko"  style="float: CONFIG" /></div>


	<div style="padding:10px">

	

	
		<fieldset class="fieldset">
			<legend>Images attachées</legend>
				<div style="padding:10px">
				<img class="attach" src="https://www.developpez.net/forums/attachments/p671889d1763475730/environnements-developpement/delphi/composants-vcl/probleme-tbutton-injection-cellule-d-tstringgrid/capture-d-ecran-2025-11-18-152123.png/" alt="" />&nbsp;<img class="attach" src="https://www.developpez.net/forums/attachments/p671890d1763476288/environnements-developpement/delphi/composants-vcl/probleme-tbutton-injection-cellule-d-tstringgrid/capture-d-ecran-2025-11-18-152900.png/" alt="" />&nbsp;
			</div>
		</fieldset>
	

	

	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f778/environnements-developpement/delphi/composants-vcl/">Composants VCL</category>
			<dc:creator>KlausGunther</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2180523/environnements-developpement/delphi/composants-vcl/probleme-tbutton-injection-cellule-d-tstringgrid/</guid>
		</item>
		<item>
			<title>Comment corriger les effets de scintillement sur un TPainBox</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2180477&amp;goto=newpost</link>
			<pubDate>Fri, 14 Nov 2025 16:58:02 GMT</pubDate>
			<description>Bonjour, 
 
Y a-t-il une...</description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
<br />
Y a-t-il une solution pour corriger les effets de scintillement observés sur un composant TPainBox ?<br />
<br />
<img src="https://www.developpez.net/forums/attachments/p671778d1763139466/environnements-developpement/delphi/composants-vcl/corriger-effets-scintillement-tpainbox/video_2025_11_14-1_edit_0.gif/" border="0" alt="Nom : Video_2025_11_14-1_edit_0.gif
Affichages : 282
Taille : 903,3 Ko"  style="float: CONFIG" /><br />
<br />
Merci ;)</div>


	<div style="padding:10px">

	

	
		<fieldset class="fieldset">
			<legend>Images attachées</legend>
				<div style="padding:10px">
				<img class="attach" src="https://www.developpez.net/forums/attachments/p671778d1763139466/environnements-developpement/delphi/composants-vcl/corriger-effets-scintillement-tpainbox/video_2025_11_14-1_edit_0.gif/" alt="" />&nbsp;
			</div>
		</fieldset>
	

	

	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f778/environnements-developpement/delphi/composants-vcl/">Composants VCL</category>
			<dc:creator>XeGregory</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2180477/environnements-developpement/delphi/composants-vcl/corriger-effets-scintillement-tpainbox/</guid>
		</item>
		<item>
			<title>Styles et les contrôles créés dynamiquement</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2180449&amp;goto=newpost</link>
			<pubDate>Thu, 13 Nov 2025 09:37:37 GMT</pubDate>
			<description>Bonjour, 
 
Dans une...</description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
<br />
Dans une application des contrôles sont créés dynamiquement et doivent restés flottants pour (non recensés : parent = nil) pour éviter de perturber l'arbre d'alignement des contrôles du parents, mais si un style est sélectionné ces contrôles provoquent des violations d’accès et autres problèmes selon le contrôle du fait qu'ils appellent le parent qui est à nil <br />
<br />
Ex:<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br /></div></td><td valign="top"><pre style="margin: 0">   <span style="color: #0000ff;">with</span> TButton.Create<span class="br0">&#40;</span><span style="color: #0000ff;">Self</span><span class="br0">&#41;</span><span style="color: #0000ff;">do</span>
   <span style="color: #0000ff;">begin</span>
       Top := <span style="color: #cc66cc;">20</span>;
       Left := <span style="color: #cc66cc;">300</span>;
       Caption := <span style="color: #FF0000;">'test'</span>;
       ParentWindow := <span style="color: #0000ff;">Self</span>.Handle;
   <span style="color: #0000ff;">end</span>;</pre></td></tr></table></code><hr />
</div>Si on clique sur ce bouton il aura une violation d’accès</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f778/environnements-developpement/delphi/composants-vcl/">Composants VCL</category>
			<dc:creator>Invité</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2180449/environnements-developpement/delphi/composants-vcl/styles-controles-crees-dynamiquement/</guid>
		</item>
		<item>
			<title>Peut-on mettre en pause 1 TTimer ?</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2180343&amp;goto=newpost</link>
			<pubDate>Fri, 07 Nov 2025 14:49:08 GMT</pubDate>
			<description>Bonjour, 
 
A priori pas (je...</description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
<br />
A priori pas (je n'ai rien trouvé) :roll:<br />
<br />
Je veux le mettre en pause, càd suspendre le décompte et pouvoir le reprendre là où il en était.<br />
<br />
Merci pour vos idées.</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f778/environnements-developpement/delphi/composants-vcl/">Composants VCL</category>
			<dc:creator>qi130</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2180343/environnements-developpement/delphi/composants-vcl/on-mettre-pause-1-ttimer/</guid>
		</item>
		<item>
			<title>Problème avec OnEnter et OnExit sur les TEdit et dérivés</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2180087&amp;goto=newpost</link>
			<pubDate>Sat, 25 Oct 2025 11:48:00 GMT</pubDate>
			<description>Je suis sous W11 avec Delphi...</description>
			<content:encoded><![CDATA[<div>Je suis sous W11 avec Delphi 6 Personal Edition.<br />
<br />
Je n'arrive pas à m'en sortir avec les évènements OnEnter et OnExit d'un TEdit ou d'un objet dérivé de TEdit.<br />
<br />
Je sais (ou crois savoir) que OnEnter est déclenché lorsque le TEdit &quot;gagne&quot; le focus.<br />
Je sais (ou crois savoir) que OnExit est déclenché lorsque le TEdit &quot;perd&quot; le focus.<br />
<br />
D'après ce que je vois, un TEdit créé dans l'IDE se comporte effectivement comme ça.<br />
<br />
Or, un TEdit (ou un TEdit dérivé) créé par programme ne génère aucun de ces deux évènements, quelque soit le contexte.<br />
Ces objets créés par programme génèrent bien les évènements OnClick et OnKeyPress, mais JAMAIS OnEnter ni OnExit.<br />
<br />
Je joins un projet de démo dans un fichier ZIP pour montrer le problème. Ce programme crée 4 objets:<br />
- un TEdit créé par l'EDI Delphi<br />
- un TEdit standard créé par programme dans le OnCreate de la form principale<br />
- un TMyEdit dérivé de TEdit créé par programme dans le OnCreate de la form principale<br />
- un TMemo créé par l'IDE Delphi (servant à recevoir une ligne de texte pour chaque évènement déclenché)<br />
<br />
Au lancement, le TEdit créé par l'IDE a le focus, et la ligne corrrespondante apparaît dans le mémo<br />
<br />
Ensuite, on frappe la touche TAB. Effet etendu: OnExit dans le premier TEdit, OnEnter dans le TEdit créé par programme, curseur dans ce dernier.<br />
Or, on a bien OnExit sur le premier TEdit, mais OnEnter dans le TMemo, et le curseur est dans ce dernier.<br />
<br />
Une nouvelle frappe de TAB revient vers le TEdit créé par l'IDE, avec les évènements correspondants.<br />
<br />
Les deux objets créés par programme ne sont jamais atteints par TAB.<br />
<br />
Maintenant, un clic dans un de ces objets créé par programme génère bien un OnClick sur cet objet, mais PAS de OnEnter !<br />
Pire: la touche TAB ne semble avoir aucun effet: ni évènement généré ni focus déplacé<br />
Et même le clic dans un autre objet quelconque ne génère pas de OnExit sur l'objet créé par programme où était le curseur...<br />
<br />
J'ai encore dû rater quelque chose d'important. Pourriez-vous me mettre sur la voie ? Merci d'avance !<br />
<br />
Voici une capture d'écran:<br />
<img src="https://www.developpez.net/forums/attachments/p671291d1761392818/environnements-developpement/delphi/composants-vcl/probleme-onenter-onexit-tedit-derives/capture-d-ecran-2025-10-25-134510.png/" border="0" alt="Nom : Capture d'écran 2025-10-25 134510.png
Affichages : 422
Taille : 9,4 Ko"  style="float: CONFIG" /></div>


	<div style="padding:10px">

	

	
		<fieldset class="fieldset">
			<legend>Images attachées</legend>
				<div style="padding:10px">
				<img class="attach" src="https://www.developpez.net/forums/attachments/p671291d1761392818/environnements-developpement/delphi/composants-vcl/probleme-onenter-onexit-tedit-derives/capture-d-ecran-2025-10-25-134510.png/" alt="" />&nbsp;
			</div>
		</fieldset>
	

	

	
		<fieldset class="fieldset">
			<legend>Fichiers attachés</legend>
			<ul>
			<li>
	<img class="inlineimg" src="https://forum.developpez.be/images/attach/zip.gif" alt="Type de fichier : zip" />
	<a href="https://www.developpez.net/forums/attachments/p671292d1761392873/environnements-developpement/delphi/composants-vcl/probleme-onenter-onexit-tedit-derives/focustest.zip/">FocusTest.zip</a> 
(203,5 Ko)
</li>
			</ul>
		</fieldset>
	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f778/environnements-developpement/delphi/composants-vcl/">Composants VCL</category>
			<dc:creator>KlausGunther</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2180087/environnements-developpement/delphi/composants-vcl/probleme-onenter-onexit-tedit-derives/</guid>
		</item>
	</channel>
</rss>
