<?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 - Langage</title>
		<link>https://www.developpez.net/forums/</link>
		<description><![CDATA[Tout ce qui concerne le langage (POO, syntaxe, message d'erreur...)]]></description>
		<language>fr</language>
		<lastBuildDate>Sun, 06 Sep 2026 10:21:58 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 - Langage</title>
			<link>https://www.developpez.net/forums/</link>
		</image>
		<item>
			<title><![CDATA[Modifier une unité de Delphi (FMX.Styles) et faire en sorte qu'elle s'applique]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2185254&amp;goto=newpost</link>
			<pubDate>Fri, 21 Aug 2026 08:04:27 GMT</pubDate>
			<description><![CDATA[Bonjour, 
 
J'ai découvert...]]></description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
<br />
J'ai découvert une lacune dans une unité &quot;standard&quot; (FMX.Styles). <br />
Après étude et test dans une unité classique dans le répertoire du programme, j'ai voulu modifier l'unité fournie par Embarcadero, donc directement dans le répertoire source (C:\Program Files (x86)\Embarcadero\Studio\xxxx\source)<br />
Bien sûr, je sais que le fichier est protégé en écriture mais avec Notepad++ en mode administrateur pas de souci ;)<br />
Le hic c'est que, si le source est bien modifié je n'ai pas le résultat attendu. Certainement un problème de dcu(s) à recompiler mais comment faire (sachant que cette unité est utilisé par FMX.Controls et quelques autres)?<br />
J'ai soumis le bogue sur le portail qualité mais, en attendant la prochaine version, il serait plus agréable d'utiliser l'unité &quot;standard&quot; que mon unité bidouillée.<br />
<br />
Quelqu'un a déjà eu ce genre de souci ?</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f776/environnements-developpement/delphi/langage/">Langage</category>
			<dc:creator>SergioMaster</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2185254/environnements-developpement/delphi/langage/modifier-unite-delphi-fmx-styles-faire-sorte-qu-s-applique/</guid>
		</item>
		<item>
			<title>Renommer un répertoire en conservant le contenu</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2184800&amp;goto=newpost</link>
			<pubDate>Thu, 23 Jul 2026 06:46:02 GMT</pubDate>
			<description>Bonjour à toutes et tous, 
...</description>
			<content:encoded><![CDATA[<div>Bonjour à toutes et tous,<br />
<br />
Je poste ici ce message car je sèche littéralement.<br />
<br />
Mon besoin est très simple (me semblait-il au départ) : <br />
<br />
J'ai un Répertoire : D:\Fichiers\20260712_DA_998_LIBELLEA qui contient des sous-répertoires Email, PDF, Photos, Signatures et ZIP.<br />
Chacun de ces sous-répertoires peut contenir (ou pas) des fichiers (.eml dans le sous-répertoire Email, .pdf dans le sous-répertoire PDF, .jpg dans le sous-répertoire Photos, .jpg dans le sous-répertoire Signatures et .zip dans le sous-répertoire Zip)<br />
<br />
J'ai besoin de renommer le répertoire D:\Fichiers\20260712_DA_998_LIBELLEA en D:\Fichiers\20260712_DA_336B_LIBELLEB en conservant bien évidemment la structure et les fichiers comme dans le répertoire Source.<br />
<br />
J'ai bien essayé de multiples solutions :<br />
RenameFile de Delphi, <br />
MoveDirectory de la librairie Jcl<br />
des fonctions telle que celle-ci<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 /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
  <span style="color: #0000ff;">function</span> MoveDir<span class="br0">&#40;</span>SrcDir, DstDir: <span style="color: #0080ff;">string</span><span class="br0">&#41;</span>: <span style="color: #0080ff;">Boolean</span>;
  <span style="color: #0000ff;">var</span>
    FOS: TSHFileOpStruct;
  <span style="color: #0000ff;">begin</span>
    ZeroMemory<span class="br0">&#40;</span>@FOS, SizeOf<span class="br0">&#40;</span>FOS<span class="br0">&#41;</span><span class="br0">&#41;</span>;
    <span style="color: #0000ff;">with</span> FOS <span style="color: #0000ff;">do</span>
    <span style="color: #0000ff;">begin</span>
      wFunc  := FO_MOVE; <span style="color: #808080;">// FO_COPY;</span>
      fFlags := FOF_NOCONFIRMATION <span style="color: #0000ff;">or</span> FOF_SIMPLEPROGRESS <span style="color: #0000ff;">or</span> FOF_SILENT <span style="color: #0000ff;">or</span> FOF_ALLOWUNDO;
      pFrom  := <span style="color: #0080ff;">PChar</span><span class="br0">&#40;</span>IncludeTrailingPathDelimiter<span class="br0">&#40;</span>SrcDir<span class="br0">&#41;</span> + <span style="color: #FF0000;">'*.*'</span><span style="color: #cc66cc;">#0</span><span class="br0">&#41;</span>;
      pTo    := <span style="color: #0080ff;">PChar</span><span class="br0">&#40;</span>DstDir + <span style="color: #cc66cc;">#0</span><span class="br0">&#41;</span>;
    <span style="color: #0000ff;">end</span>;
    Result := <span class="br0">&#40;</span>SHFileOperation<span class="br0">&#40;</span>FOS<span class="br0">&#41;</span> = <span style="color: #cc66cc;">0</span><span class="br0">&#41;</span>;
  <span style="color: #0000ff;">end</span>;</pre></td></tr></table></code><hr />
</div>Rien n'y fait, cela me duplique bien l'arborescence, mais pas le contenu des sous-répertoieres<br />
Ai je loupé un truc tellement évident que je ne l'ai pas vu <br />
Ou y a t il une solution dui fonctionne ?<br />
<br />
Pour information, voici mon environnement de développement : Windows 11 Pro, Delphi XE6 Update 1 avec librairies, Jcl/Jvcl et RxUnits (je sais cela fait double emploi, mais je n'ai pas encore eu le temps de tout migrer vers Jcv/Jvcl)<br />
<br />
Par avance merci pour votre aide</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f776/environnements-developpement/delphi/langage/">Langage</category>
			<dc:creator>mballasse</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2184800/environnements-developpement/delphi/langage/renommer-repertoire-conservant-contenu/</guid>
		</item>
		<item>
			<title>Tri de liste avec TList.Sort : différence entre 32 et 64 bits ?</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2184500&amp;goto=newpost</link>
			<pubDate>Sun, 05 Jul 2026 17:21:57 GMT</pubDate>
			<description>Bonjour 
 
Avec la procédure...</description>
			<content:encoded><![CDATA[<div>Bonjour<br />
<br />
Avec la procédure TList.Sort,<br />
j'utilise le code suivant ( en bas ) pour trier mes listes d'objet.<br />
sous Delphi 10, 32 bits: OK, depuis des années<br />
<br />
En Delphi 10, 64 bits, ça ne fonctionne plus ! Le tri n'est pas réalisé.<br />
<br />
<b>Commet modifier le code ?</b><br />
Que se passe t'il ?<br />
<br />
J'ai des dizaines de tri de ce type dans mes logiciels...<br />
<br />
Merci, Pascal07300<br />
<br />
==================== mon code exemple =============<br />
<br />
<b>Exemple 32 bits</b> : Tri d'une liste de TFolio, par Nom ou par ordre alphabétique du Nom.<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="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 /></div></td><td valign="top"><pre style="margin: 0"> TFOLIO = <span style="color: #0000ff;">class</span>
      Nom:<span style="color: #0080ff;">string</span>;
      Ordre:<span style="color: #0080ff;">integer</span>;
    ...
&nbsp;
&nbsp;
<span style="color: #808080;">// ACode = 1 : Tri par ordre alphab&eacute;tique Nom</span>
<span style="color: #808080;">// ACode = 2 : tri par Ordre ( = Index dans la liste des folios )</span>
<span style="color: #0000ff;">procedure</span> TListFolio.TrierSelonOrdre <span class="br0">&#40;</span>ACode:<span style="color: #0080ff;">integer</span>;ATriAlpha:TTriAlpha<span class="br0">&#41;</span>;
&nbsp;
  <span style="color: #0000ff;">function</span> LocalCompare1 <span class="br0">&#40;</span>F0,F1:TFolio<span class="br0">&#41;</span>: <span style="color: #0080ff;">Integer</span>;
  <span style="color: #0000ff;">begin</span>
    Result := AnsiCompareText <span class="br0">&#40;</span>F0.Nom,F1.Nom<span class="br0">&#41;</span>;
  <span style="color: #0000ff;">end</span>;
&nbsp;
  <span style="color: #0000ff;">function</span> LocalCompare2 <span class="br0">&#40;</span>F0,F1:TFolio<span class="br0">&#41;</span>: <span style="color: #0080ff;">Integer</span>;
  <span style="color: #0000ff;">begin</span>
    Result := CompareValue <span class="br0">&#40;</span>F0.Ordre,F1.Ordre<span class="br0">&#41;</span>;
  <span style="color: #0000ff;">end</span>;
&nbsp;
<span style="color: #0000ff;">begin</span>
  <span style="color: #0000ff;">case</span> ACode <span style="color: #0000ff;">of</span>
    <span style="color: #cc66cc;">1</span> : Sort <span class="br0">&#40;</span>@LocalCompare1<span class="br0">&#41;</span>;
    <span style="color: #cc66cc;">2</span> : Sort <span class="br0">&#40;</span>@LocalCompare2<span class="br0">&#41;</span>;
  <span style="color: #0000ff;">end</span>;
<span style="color: #0000ff;">end</span>;</pre></td></tr></table></code><hr />
</div>	Sans virus.<a rel="nofollow" href="http://www.avast.com" target="_blank">www.avast.com</a></div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f776/environnements-developpement/delphi/langage/">Langage</category>
			<dc:creator>pascal07</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2184500/environnements-developpement/delphi/langage/tri-liste-tlist-sort-difference-entre-32-64-bits/</guid>
		</item>
		<item>
			<title><![CDATA[Problème avec l'ajout d'un label aux points d'une série de type TPoint]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2183989&amp;goto=newpost</link>
			<pubDate>Mon, 01 Jun 2026 10:02:49 GMT</pubDate>
			<description>Lorsque je trace une fonction...</description>
			<content:encoded><![CDATA[<div>Lorsque je trace une fonction y=f(x) via 2 tableaux Xi, yi j'obtiens  (par exemple dans le cas présent la densité spectrale d'énergie avec la fréquence)<br />
<img src="https://www.developpez.net/forums/attachments/p676637d1780307296/environnements-developpement/delphi/langage/probleme-l-ajout-d-label-aux-points-d-serie-type-tpoint/.png/" border="0" alt="Nom : a.png
Affichages : 121
Taille : 67,7 Ko"  style="float: CONFIG" /><br />
Tout se passe bien. On notera les échelles de l'axe x (fréquences)<br />
<br />
Maintenant j'estime certains pics via des fit paraboliques. On obtient alors<br />
<img src="https://www.developpez.net/forums/attachments/p676638d1780307470/environnements-developpement/delphi/langage/probleme-l-ajout-d-label-aux-points-d-serie-type-tpoint/b.png/" border="0" alt="Nom : b.png
Affichages : 116
Taille : 102,7 Ko"  style="float: CONFIG" /><br />
L'échelle x est toujours OK<br />
Les maximums ont été repérés par l'adjonction de points via:<br />
<b>punkt1.Addxy(d,d6);</b><br />
Maintenant pour des facilités de lecture du graphe j'ai voulu repérer chacun de ces maxima par le N° d'ordre (correspondant à la fenêtre de la légende.<br />
J’ai alors utilisé:<br />
<b>punkt1.Addxy(d,d6,inttostr(n_fit_realized), $555555);</b><br />
Le résultat obtenu est alors:<br />
<img src="https://www.developpez.net/forums/attachments/p676639d1780307724/environnements-developpement/delphi/langage/probleme-l-ajout-d-label-aux-points-d-serie-type-tpoint/c.png/" border="0" alt="Nom : c.png
Affichages : 119
Taille : 115,5 Ko"  style="float: CONFIG" /><br />
<br />
Les N° de pics sont biens reportés mais cela a aussi &quot;ruiné&quot; l'axe x... toutefois &quot;quelque part&quot; il reste OK car les autres courbes sont bien positionnées.<br />
(Toutes les courbes se réfèrent au même axe bottomaxis)<br />
<br />
Comment puis-je afficher les N° tout en préservant mon axe x?<br />
<br />
Merci par avances pour vos remarques et suggestions.</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/p676637d1780307296/environnements-developpement/delphi/langage/probleme-l-ajout-d-label-aux-points-d-serie-type-tpoint/.png/" alt="" />&nbsp;<img class="attach" src="https://www.developpez.net/forums/attachments/p676638d1780307470/environnements-developpement/delphi/langage/probleme-l-ajout-d-label-aux-points-d-serie-type-tpoint/b.png/" alt="" />&nbsp;<img class="attach" src="https://www.developpez.net/forums/attachments/p676639d1780307724/environnements-developpement/delphi/langage/probleme-l-ajout-d-label-aux-points-d-serie-type-tpoint/c.png/" alt="" />&nbsp;
			</div>
		</fieldset>
	

	

	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f776/environnements-developpement/delphi/langage/">Langage</category>
			<dc:creator>j.p.mignot</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2183989/environnements-developpement/delphi/langage/probleme-l-ajout-d-label-aux-points-d-serie-type-tpoint/</guid>
		</item>
		<item>
			<title>Question sur une fonction test:Tsringlist;</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2183922&amp;goto=newpost</link>
			<pubDate>Wed, 27 May 2026 19:23:51 GMT</pubDate>
			<description><![CDATA[j'ai une fonction...]]></description>
			<content:encoded><![CDATA[<div>j'ai une fonction test:Tsringlist;<br />
je me demande si il faut liberer la fonction apres<br />
en faisant un test.free<br />
<br />
example<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 /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
<span style="color: #0000ff;">function</span> test:Tstringlist;
<span style="color: #0000ff;">begin</span>
    result:=Tstringlist.Create;
    result.add<span class="br0">&#40;</span><span style="color: #FF0000;">'un'</span><span class="br0">&#41;</span>;
    result.add<span class="br0">&#40;</span><span style="color: #FF0000;">'deux'</span><span class="br0">&#41;</span>;
    result.add<span class="br0">&#40;</span><span style="color: #FF0000;">'trois'</span><span class="br0">&#41;</span>;
<span style="color: #0000ff;">end</span>;
&nbsp;
<span style="color: #0000ff;">begin</span>
    T1:=Tstringlist.Create;
    T1.AddStrings<span class="br0">&#40;</span>test<span class="br0">&#41;</span>;
<span style="color: #808080;">{ici --&gt;}</span>  test.Free;
    T1.Free;
<span style="color: #0000ff;">end</span>.</pre></td></tr></table></code><hr />
</div>je sais que l'on peut faire T1.add mais c'est juste (dans mon example) pour savoir si le Tstringlist est liberé apres la fonction (ou pas) ?.</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f776/environnements-developpement/delphi/langage/">Langage</category>
			<dc:creator>ZonZorg</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2183922/environnements-developpement/delphi/langage/question-fonction-test-tsringlist/</guid>
		</item>
		<item>
			<title><![CDATA[[D7]  Hint avec Image]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2183908&amp;goto=newpost</link>
			<pubDate>Wed, 27 May 2026 11:50:58 GMT</pubDate>
			<description><![CDATA[Bonjour, 
j'ai un...]]></description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
j'ai un Checklistbox, dont les items sont des nom de fichiers image Jpeg ou Bmp. J'aimerais que lorsque le pointeur de la souris survole un item, on affiche une vignette de l'image.<br />
<br />
J'ai vu qu'il existe THintWindows, mais je ne trouve pas d'exemple  et je ne sais pas comment faire. Il faudrait surement que je fasse une classe dérivée de THintWindows.<br />
<br />
Quelqu'un a t il un exemple  pour que je puisse démarrer ?<br />
<br />
A+<br />
Charly</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f776/environnements-developpement/delphi/langage/">Langage</category>
			<dc:creator>Charly910</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2183908/environnements-developpement/delphi/langage/d7-hint-image/</guid>
		</item>
		<item>
			<title>Recherche de fuite mémoire avec FastMM</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2183542&amp;goto=newpost</link>
			<pubDate>Sun, 03 May 2026 07:17:21 GMT</pubDate>
			<description>Bonjour, 
 
cela fait un bail...</description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
<br />
cela fait un bail que je n'ai pas utilisé FastMM et je n'arrive pas à générer le rapport <br />
<img src="https://www.developpez.net/forums/attachments/p676097d1777791602/environnements-developpement/delphi/langage/recherche-fuite-memoire-fastmm/capture.png/" border="0" alt="Nom : Capture.png
Affichages : 104
Taille : 21,7 Ko"  style="float: CONFIG" /><br />
<br />
je joint pour ceux qui connaissent, le fichier FastMM4Options.inc modifié.<br />
<br />
L'unité de mon projet commence bien par FastMM4.<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 />8<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">program</span> testenumobject;
&nbsp;
<span style="color: #808080;">// en note ce qui a &eacute;t&eacute; modifi&eacute;  </span>
<span style="color: #808080;">{.$define FullDebugMode}</span>
<span style="color: #808080;">{.$define LogMemoryLeakDetailToFile}</span>
&nbsp;
<span style="color: #0000ff;">uses</span>
  FastMM4,</pre></td></tr></table></code><hr />
</div>et pourtant je ne trouve nulle part le fichier :arf: Je dois avoir oublié quelque chose mais quoi ?<br />
comme je ne me souviens plus de la dmarche que je suivais, je ne sais plus si :<br />
Il faut déclarer le fichier inc dans le projet<br />
Il faut mettre le fichier inc dans le repertoire de l'application ou celui des sources <br />
etc...<br />
<br />
Question subsidaire, j'ai FastMM4 mais j'ai vu qu'il y avait la version FastMM5 de dispo dois-je plutôt utiliser cette dernière ?</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/p676097d1777791602/environnements-developpement/delphi/langage/recherche-fuite-memoire-fastmm/capture.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/txt.gif" alt="Type de fichier : txt" />
	<a href="https://www.developpez.net/forums/attachments/p676099d1777792330/environnements-developpement/delphi/langage/recherche-fuite-memoire-fastmm/fastmm4options.inc.txt/">FastMM4Options.inc.txt</a> 
(20,6 Ko)
</li>
			</ul>
		</fieldset>
	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f776/environnements-developpement/delphi/langage/">Langage</category>
			<dc:creator>SergioMaster</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2183542/environnements-developpement/delphi/langage/recherche-fuite-memoire-fastmm/</guid>
		</item>
		<item>
			<title><![CDATA[[D12 +] utilisation du type record]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2183471&amp;goto=newpost</link>
			<pubDate>Wed, 29 Apr 2026 08:51:53 GMT</pubDate>
			<description>Bonjour, 
 
Jusque là je...</description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
<br />
Jusque là je n'avais jamais vraiment utilisé de Record voici celui que j'ai créé (vous m'excuserez pour les noms de propriété ce n'est qu'un essai<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 /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">unit</span> dialoguetypes;
&nbsp;
<span style="color: #0000ff;">interface</span>
<span style="color: #0000ff;">type</span>  specialdirs = <span style="color: #0000ff;">Record</span>
  <span style="color: #0000ff;">private</span>
    Fname: <span style="color: #0080ff;">String</span>;
    Ficonnumber: <span style="color: #0080ff;">integer</span>;
    Ffullname: <span style="color: #0080ff;">String</span>;
    <span style="color: #0000ff;">procedure</span> Setfullname<span class="br0">&#40;</span><span style="color: #0000ff;">const</span> Value: <span style="color: #0080ff;">String</span><span class="br0">&#41;</span>;
    <span style="color: #0000ff;">procedure</span> Seticonnumber<span class="br0">&#40;</span><span style="color: #0000ff;">const</span> Value: <span style="color: #0080ff;">integer</span><span class="br0">&#41;</span>;
    <span style="color: #0000ff;">procedure</span> Setname<span class="br0">&#40;</span><span style="color: #0000ff;">const</span> Value: <span style="color: #0080ff;">String</span><span class="br0">&#41;</span>;
  <span style="color: #0000ff;">public</span>
   <span style="color: #0000ff;">property</span> name : <span style="color: #0080ff;">String</span> read Fname write Setname;
   <span style="color: #0000ff;">property</span> fullname : <span style="color: #0080ff;">String</span> read Ffullname write Setfullname;
   <span style="color: #0000ff;">property</span> iconnumber : <span style="color: #0080ff;">integer</span> read Ficonnumber write Seticonnumber;
   <span style="color: #0000ff;">constructor</span> Create<span class="br0">&#40;</span>aname,apath : <span style="color: #0080ff;">string</span>; aicon : <span style="color: #0080ff;">integer</span>=<span style="color: #cc66cc;">1</span><span class="br0">&#41;</span>;
  <span style="color: #0000ff;">end</span>;
<span style="color: #0000ff;">implementation</span>
&nbsp;
<span style="color: #808080;">{ specialdirs }</span>
&nbsp;
<span style="color: #0000ff;">constructor</span> specialdirs.Create<span class="br0">&#40;</span>aname, apath: <span style="color: #0080ff;">string</span>; aicon: <span style="color: #0080ff;">integer</span>=<span style="color: #cc66cc;">1</span><span class="br0">&#41;</span>;
<span style="color: #0000ff;">begin</span>
name:=aname;
fullname:=apath;
iconnumber:=aicon;
<span style="color: #0000ff;">end</span>;
&nbsp;
<span style="color: #0000ff;">procedure</span> specialdirs.Setfullname<span class="br0">&#40;</span><span style="color: #0000ff;">const</span> Value: <span style="color: #0080ff;">String</span><span class="br0">&#41;</span>;
<span style="color: #0000ff;">begin</span>
  Ffullname := Value;
<span style="color: #0000ff;">end</span>;
&nbsp;
<span style="color: #0000ff;">procedure</span> specialdirs.Seticonnumber<span class="br0">&#40;</span><span style="color: #0000ff;">const</span> Value: <span style="color: #0080ff;">integer</span><span class="br0">&#41;</span>;
<span style="color: #0000ff;">begin</span>
  Ficonnumber := Value;
<span style="color: #0000ff;">end</span>;
&nbsp;
<span style="color: #0000ff;">procedure</span> specialdirs.Setname<span class="br0">&#40;</span><span style="color: #0000ff;">const</span> Value: <span style="color: #0080ff;">String</span><span class="br0">&#41;</span>;
<span style="color: #0000ff;">begin</span>
  Fname := Value;
<span style="color: #0000ff;">end</span>;
&nbsp;
<span style="color: #0000ff;">end</span>.</pre></td></tr></table></code><hr />
</div>voilà comme je voudrais l'utiliser, sauf que j'ai un problème (sinon je n'aurais pas fait de post) <br />
<img src="https://www.developpez.net/forums/attachments/p676025d1777452662/environnements-developpement/delphi/langage/d12-p-utilisation-type-record/capture.png/" border="0" alt="Nom : Capture.png
Affichages : 276
Taille : 17,8 Ko"  style="float: CONFIG" /><br />
<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="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 /></div></td><td valign="top"><pre style="margin: 0">
  TForm1 = class(TForm)
..
private
   ... 
   property pinneddirs : TList&lt;specialdirs&gt; read Fpinneddirs write Setpinneddirs;
..

procedure TForm1.Setpinneddirs(const Value: TList&lt;specialdirs&gt;);
var anItem : TTreeviewItem;
    d : specialdirs;
begin
  Fpinneddirs := Value;
  for var i:=0 to Fpinneddirs.count-1 do
    begin
      d:=Fpinneddirs[i];
      anitem:= TTreeviewItem.Create(self);
      anItem.Parent:=TreeView1;
      anItem.Text:=d.name;   <font color="#FF0000">// PLANTON voir image, les valeurs ne sont pas bonnes</font>
      anItem.Index:=i;
    end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var d : specialdirs;
begin
PinnedDirs:=TList&lt;Specialdirs&gt;.Create([d.Create('test','c:\test',1),d.Create('2test','C:\test2')]);
end;</pre></td></tr></table></code><hr />
</div></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/p676025d1777452662/environnements-developpement/delphi/langage/d12-p-utilisation-type-record/capture.png/" alt="" />&nbsp;
			</div>
		</fieldset>
	

	

	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f776/environnements-developpement/delphi/langage/">Langage</category>
			<dc:creator>SergioMaster</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2183471/environnements-developpement/delphi/langage/d12-p-utilisation-type-record/</guid>
		</item>
		<item>
			<title><![CDATA[afficher l'aide contextuelle fin de ligne dans Tlistbox et Tcombobox]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2183047&amp;goto=newpost</link>
			<pubDate>Sun, 05 Apr 2026 01:34:37 GMT</pubDate>
			<description><![CDATA[je voudrai afficher l'aide...]]></description>
			<content:encoded><![CDATA[<div>je voudrai afficher l'aide contextuelle pour visualiser le reste de chaques lignes dans un listbox et combobox<br />
<br />
<img src="https://www.developpez.net/forums/attachments/p675421d1775352145/environnements-developpement/delphi/langage/afficher-l-aide-contextuelle-fin-ligne-tlistbox-tcombobox/pastisserie.jpg/" border="0" alt="Nom : pastisserie.jpg
Affichages : 351
Taille : 40,3 Ko"  style="float: CONFIG" /><br />
l'exemple zippé :<a href="https://www.developpez.net/forums/attachments/p675431d1775390690/environnements-developpement/delphi/langage/afficher-l-aide-contextuelle-fin-ligne-tlistbox-tcombobox/patisseries.zip/"  title="Nom : patisseries.zip
Affichages : 101
Taille : 213,0 Ko">patisseries.zip</a><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 /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
<span style="color: #0000ff;">unit</span> Unit1;
&nbsp;
<span style="color: #0000ff;">interface</span>
&nbsp;
<span style="color: #0000ff;">uses</span>
  Windows,
  Classes , SysUtils , Forms , Controls , Graphics , Dialogs , StdCtrls, Types,Messages;
<span style="color: #0000ff;">type</span>
  TForm1 = <span style="color: #0000ff;">class</span><span class="br0">&#40;</span>TForm<span class="br0">&#41;</span>
    ListBox: TListBox;
    ListCombo: TComboBox;
    Label1: TLabel;
    <span style="color: #0000ff;">procedure</span> FormCreate<span class="br0">&#40;</span>sender: <span style="color: #0080ff;">TObject</span><span class="br0">&#41;</span>;
    <span style="color: #0000ff;">procedure</span> ListBoxDrawItem<span class="br0">&#40;</span>Control: TWinControl; Index: <span style="color: #0080ff;">Integer</span>;   Rect: TRect; State: TOwnerDrawState<span class="br0">&#41;</span>;
    <span style="color: #0000ff;">procedure</span> ListBoxMeasureItem<span class="br0">&#40;</span>Control: TWinControl; Index: <span style="color: #0080ff;">Integer</span>; <span style="color: #0000ff;">var</span> Height: <span style="color: #0080ff;">Integer</span><span class="br0">&#41;</span>;
    <span style="color: #0000ff;">procedure</span> ListComboExit<span class="br0">&#40;</span>Sender: <span style="color: #0080ff;">TObject</span><span class="br0">&#41;</span>;
    <span style="color: #0000ff;">procedure</span> ListComboEnter<span class="br0">&#40;</span>Sender: <span style="color: #0080ff;">TObject</span><span class="br0">&#41;</span>;
  <span style="color: #0000ff;">private</span>
    <span style="color: #0000ff;">PROCEDURE</span> AppShowHint<span class="br0">&#40;</span><span style="color: #0000ff;">VAR</span> HintStr: <span style="color: #0080ff;">STRING</span>; <span style="color: #0000ff;">VAR</span> CanShow: <span style="color: #0080ff;">Boolean</span>; <span style="color: #0000ff;">VAR</span> HintInfo: THintInfo<span class="br0">&#41;</span>; <span style="color: #808080;">// gestion de l'aide (dans listtitre)</span>
    <span style="color: #0000ff;">procedure</span> ApplicationIdle<span class="br0">&#40;</span>sender: <span style="color: #0080ff;">TObject</span>; <span style="color: #0000ff;">var</span> Done: <span style="color: #0080ff;">boolean</span><span class="br0">&#41;</span>;
    <span style="color: #808080;">{ D&eacute;clarations priv&eacute;es }</span>
  <span style="color: #0000ff;">public</span>
    <span style="color: #808080;">{ D&eacute;clarations publiques }</span>
  <span style="color: #0000ff;">END</span>;
&nbsp;
&nbsp;
<span style="color: #0000ff;">var</span>
  Form1: TForm1;
  Comboboxexit:<span style="color: #0080ff;">Boolean</span>;
<span style="color: #0000ff;">implementation</span>
&nbsp;
<span style="color: #808080;">{$R *.dfm}</span>
&nbsp;
<span style="color: #0000ff;">procedure</span> TForm1.ListBoxDrawItem<span class="br0">&#40;</span>Control: TWinControl; Index: <span style="color: #0080ff;">Integer</span>; Rect: TRect; State: TOwnerDrawState<span class="br0">&#41;</span>;
&nbsp;
<span style="color: #0000ff;">PROCEDURE</span> Drawcolored<span class="br0">&#40;</span>Canvas: Tcanvas; Atext: <span style="color: #0080ff;">STRING</span>; Rect: TRECT; STATE: Townerdrawstate;AColor,Bcolor:<span style="color: #0080ff;">Longint</span><span class="br0">&#41;</span>;
<span style="color: #0000ff;">BEGIN</span>
      <span style="color: #0000ff;">WITH</span> Canvas <span style="color: #0000ff;">DO</span>
      <span style="color: #0000ff;">BEGIN</span>
            <span style="color: #0000ff;">IF</span> <span class="br0">&#40;</span>odSelected <span style="color: #0000ff;">in</span> State<span class="br0">&#41;</span> <span style="color: #0000ff;">THEN</span>
            <span style="color: #0000ff;">BEGIN</span>
                  Font.Color  := Acolor;
                  Brush.Color := Bcolor;
            <span style="color: #0000ff;">END</span>
            <span style="color: #0000ff;">ELSE</span>
            <span style="color: #0000ff;">BEGIN</span>
                  Font.Color  := Bcolor;
                  Brush.Color := Acolor;
            <span style="color: #0000ff;">END</span>;
            Pen.Color := Acolor;
            Rectangle<span class="br0">&#40;</span>Rect<span class="br0">&#41;</span>;
            Brush.Style := bsClear;
            Fillrect<span class="br0">&#40;</span>rect<span class="br0">&#41;</span>;
            Textout<span class="br0">&#40;</span>Rect.Left + <span style="color: #cc66cc;">2</span> , Rect.Top, Atext<span class="br0">&#41;</span>;
      <span style="color: #0000ff;">END</span>;
<span style="color: #0000ff;">END</span>; <span style="color: #808080;">{Drawcolored}</span>
&nbsp;
<span style="color: #0000ff;">BEGIN</span>
      <span style="color: #0000ff;">IF</span> <span class="br0">&#40;</span>Control <span style="color: #0000ff;">Is</span>  Tlistbox<span class="br0">&#41;</span> <span style="color: #0000ff;">THEN</span> <span style="color: #0000ff;">WITH</span> <span class="br0">&#40;</span>Control <span style="color: #0000ff;">As</span>  Tlistbox<span class="br0">&#41;</span> <span style="color: #0000ff;">DO</span> Drawcolored<span class="br0">&#40;</span>Canvas,ITEMS<span class="br0">&#91;</span>Index<span class="br0">&#93;</span>,Rect,STATE,Color,Font.Color<span class="br0">&#41;</span>;
      <span style="color: #0000ff;">IF</span> <span class="br0">&#40;</span>Control <span style="color: #0000ff;">Is</span> Tcombobox<span class="br0">&#41;</span> <span style="color: #0000ff;">THEN</span> <span style="color: #0000ff;">WITH</span> <span class="br0">&#40;</span>Control <span style="color: #0000ff;">As</span> Tcombobox<span class="br0">&#41;</span> <span style="color: #0000ff;">DO</span> Drawcolored<span class="br0">&#40;</span>Canvas,ITEMS<span class="br0">&#91;</span>Index<span class="br0">&#93;</span>,Rect,STATE,Color,Font.Color<span class="br0">&#41;</span>;
<span style="color: #0000ff;">end</span>;
&nbsp;
<span style="color: #0000ff;">procedure</span> TForm1.ListBoxMeasureItem<span class="br0">&#40;</span>Control: TWinControl; Index: <span style="color: #0080ff;">Integer</span>;  <span style="color: #0000ff;">var</span> Height: <span style="color: #0080ff;">Integer</span><span class="br0">&#41;</span>;
<span style="color: #0000ff;">BEGIN</span>
      <span style="color: #0000ff;">IF</span> <span class="br0">&#40;</span>Control <span style="color: #0000ff;">IS</span> Tcombobox<span class="br0">&#41;</span> <span style="color: #0000ff;">THEN</span> Height := trunc<span class="br0">&#40;</span><span class="br0">&#40;</span><span class="br0">&#40;</span>Control <span style="color: #0000ff;">As</span> Tcombobox<span class="br0">&#41;</span>.Itemheight+<span style="color: #cc66cc;">2</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;
      <span style="color: #0000ff;">IF</span> <span class="br0">&#40;</span>Control <span style="color: #0000ff;">IS</span> Tlistbox<span class="br0">&#41;</span> <span style="color: #0000ff;">THEN</span> Height := trunc<span class="br0">&#40;</span><span class="br0">&#40;</span><span class="br0">&#40;</span>Control <span style="color: #0000ff;">As</span> Tlistbox<span class="br0">&#41;</span>.Itemheight+<span style="color: #cc66cc;">2</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;
<span style="color: #0000ff;">END</span>;
&nbsp;
<span style="color: #0000ff;">procedure</span> TForm1.ListComboExit<span class="br0">&#40;</span>Sender: <span style="color: #0080ff;">TObject</span><span class="br0">&#41;</span>; <span style="color: #0000ff;">begin</span> Comboboxexit:=<span style="color: #0000ff;">true</span>; <span style="color: #0000ff;">end</span>;
<span style="color: #0000ff;">procedure</span> TForm1.ListComboEnter<span class="br0">&#40;</span>Sender: <span style="color: #0080ff;">TObject</span><span class="br0">&#41;</span>; <span style="color: #0000ff;">begin</span> Comboboxexit:=<span style="color: #0000ff;">false</span>; <span style="color: #0000ff;">end</span>;
&nbsp;
<span style="color: #808080;">{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}</span>
<span style="color: #0000ff;">PROCEDURE</span> Tform1.Appshowhint<span class="br0">&#40;</span><span style="color: #0000ff;">VAR</span> Hintstr: <span style="color: #0080ff;">STRING</span>; <span style="color: #0000ff;">VAR</span> Canshow: <span style="color: #0080ff;">BOOLEAN</span>; <span style="color: #0000ff;">VAR</span> Hintinfo: Thintinfo<span class="br0">&#41;</span>;
<span style="color: #0000ff;">VAR</span>   Lstindex,Cpi,Maxlength,Listtitrewidth : <span style="color: #0080ff;">INTEGER</span>;
      lngtmp:<span style="color: #0080ff;">STRING</span>;
      ComboBoxpos: TRect;
      State: TOwnerDrawState;
&nbsp;
<span style="color: #0000ff;">PROCEDURE</span> hintcolored<span class="br0">&#40;</span>Canvas: Tcanvas;<span style="color: #0000ff;">VAR</span> Hintinfo: Thintinfo;Itemindex,Lstindex:<span style="color: #0080ff;">Integer</span>;lngtmp:<span style="color: #0080ff;">String</span>;AColor,Bcolor:<span style="color: #0080ff;">Longint</span><span class="br0">&#41;</span>;
<span style="color: #0000ff;">BEGIN</span>
      <span style="color: #0000ff;">WITH</span> Hintinfo <span style="color: #0000ff;">DO</span>
      <span style="color: #0000ff;">BEGIN</span>
            <span style="color: #0000ff;">IF</span> hintpos.X+Canvas.TEXTWIDTH<span class="br0">&#40;</span>lngtmp<span class="br0">&#41;</span>&gt;screen.DesktopWidth <span style="color: #0000ff;">THEN</span>
            <span style="color: #0000ff;">BEGIN</span>
                  Cpi:=<span style="color: #cc66cc;">0</span>;
                  <span style="color: #0000ff;">WHILE</span> <span class="br0">&#40;</span>hintpos.X+Canvas.TEXTWIDTH<span class="br0">&#40;</span>COPY<span class="br0">&#40;</span>lngtmp,<span style="color: #cc66cc;">1</span>,Cpi+<span style="color: #cc66cc;">1</span><span class="br0">&#41;</span><span class="br0">&#41;</span>&lt;screen.DesktopWidth<span class="br0">&#41;</span> <span style="color: #0000ff;">AND</span> <span class="br0">&#40;</span>CPI&lt;LENGTH<span class="br0">&#40;</span>lngtmp<span class="br0">&#41;</span><span class="br0">&#41;</span> <span style="color: #0000ff;">DO</span> INC<span class="br0">&#40;</span>Cpi<span class="br0">&#41;</span>;
                  lngtmp := COPY<span class="br0">&#40;</span>lngtmp,<span style="color: #cc66cc;">1</span>,CPI-<span style="color: #cc66cc;">1</span><span class="br0">&#41;</span>;
            <span style="color: #0000ff;">END</span>;
            <span style="color: #0000ff;">IF</span> Cpi&gt;<span style="color: #cc66cc;">0</span> <span style="color: #0000ff;">THEN</span>
            <span style="color: #0000ff;">BEGIN</span>
                  Hintstr:=lngtmp;
                  <span style="color: #0000ff;">IF</span> Itemindex = Lstindex <span style="color: #0000ff;">THEN</span>
                  <span style="color: #0000ff;">BEGIN</span>
                         Hintcolor:=Bcolor;
                         Screen.Hintfont.Color:= AColor;;
                  <span style="color: #0000ff;">END</span>
                  <span style="color: #0000ff;">ELSE</span>
                  <span style="color: #0000ff;">BEGIN</span>
                        Hintcolor:= AColor;
                        Screen.Hintfont.Color:= Bcolor;
                  <span style="color: #0000ff;">END</span>;
                  Reshowtimeout := <span style="color: #cc66cc;">500</span>;
                  Hidetimeout := <span style="color: #cc66cc;">2500</span>;
                  Canshow := <span style="color: #0000ff;">TRUE</span>;
            <span style="color: #0000ff;">END</span>;
     <span style="color: #0000ff;">END</span>;
<span style="color: #0000ff;">END</span>;
&nbsp;
<span style="color: #0000ff;">BEGIN</span>
      Canshow := <span style="color: #0000ff;">FALSE</span>;
      <span style="color: #0000ff;">WITH</span> Hintinfo <span style="color: #0000ff;">DO</span>
      <span style="color: #0000ff;">BEGIN</span>
            <span style="color: #0000ff;">IF</span> <span class="br0">&#40;</span>Hintcontrol <span style="color: #0000ff;">Is</span> TCombobox<span class="br0">&#41;</span> <span style="color: #0000ff;">THEN</span> <span style="color: #0000ff;">WITH</span> TCombobox<span class="br0">&#40;</span>Hintcontrol<span class="br0">&#41;</span> <span style="color: #0000ff;">DO</span>
            <span style="color: #0000ff;">BEGIN</span>
                  GetWindowRect<span class="br0">&#40;</span>Handle, ComboBoxpos<span class="br0">&#41;</span>;
                  hintpos.Y:=ComboBoxpos.Top;
                  Listtitrewidth:=Width-GetSystemMetrics<span class="br0">&#40;</span>SM_CXFRAME<span class="br0">&#41;</span> - GetSystemMetrics<span class="br0">&#40;</span>SM_CXVSCROLL<span class="br0">&#41;</span>;
                  <span style="color: #0000ff;">IF</span> Canvas.TEXTWIDTH<span class="br0">&#40;</span>TEXT<span class="br0">&#41;</span> &gt; Listtitrewidth <span style="color: #0000ff;">THEN</span>
                  <span style="color: #0000ff;">BEGIN</span>
                        lngtmp := TEXT;
                        Maxlength := <span style="color: #cc66cc;">0</span>;
                        Cpi:=<span style="color: #cc66cc;">1</span>;
                        <span style="color: #0000ff;">WHILE</span> <span class="br0">&#40;</span>Canvas.TEXTWIDTH<span class="br0">&#40;</span>COPY<span class="br0">&#40;</span>lngtmp,<span style="color: #cc66cc;">1</span>,Cpi<span class="br0">&#41;</span><span class="br0">&#41;</span>&lt;=Listtitrewidth<span class="br0">&#41;</span> <span style="color: #0000ff;">AND</span> <span class="br0">&#40;</span>Cpi&lt;=LENGTH<span class="br0">&#40;</span>TEXT<span class="br0">&#41;</span><span class="br0">&#41;</span> <span style="color: #0000ff;">DO</span>
                        <span style="color: #0000ff;">BEGIN</span>
                              <span style="color: #0000ff;">IF</span> TEXT<span class="br0">&#91;</span>Cpi<span class="br0">&#93;</span>=<span style="color: #FF0000;">' '</span> <span style="color: #0000ff;">THEN</span> Maxlength:=Cpi;
                              INC<span class="br0">&#40;</span>Cpi<span class="br0">&#41;</span>;
                        <span style="color: #0000ff;">END</span>;
                        lngtmp := COPY<span class="br0">&#40;</span>TEXT,Maxlength+<span style="color: #cc66cc;">1</span>,LENGTH<span class="br0">&#40;</span>TEXT<span class="br0">&#41;</span><span class="br0">&#41;</span>;
                        hintpos.X:=ComboBoxpos.Left+<span style="color: #cc66cc;">2</span>+Canvas.TEXTWIDTH<span class="br0">&#40;</span>COPY<span class="br0">&#40;</span>TEXT,<span style="color: #cc66cc;">1</span>,Maxlength<span class="br0">&#41;</span><span class="br0">&#41;</span>;
                        hintcolored<span class="br0">&#40;</span>Canvas,Hintinfo,<span style="color: #cc66cc;">0</span>,<span style="color: #0080ff;">integer</span><span class="br0">&#40;</span>Comboboxexit<span class="br0">&#41;</span>,lngtmp,color,font.color<span class="br0">&#41;</span>;
                  <span style="color: #0000ff;">END</span>;<span style="color: #808080;">{}</span>
            <span style="color: #0000ff;">END</span>;
            <span style="color: #0000ff;">IF</span> <span class="br0">&#40;</span>Hintcontrol <span style="color: #0000ff;">Is</span> TLISTBOX<span class="br0">&#41;</span> <span style="color: #0000ff;">THEN</span> <span style="color: #0000ff;">WITH</span> TLISTBOX<span class="br0">&#40;</span>Hintcontrol<span class="br0">&#41;</span> <span style="color: #0000ff;">DO</span>
            <span style="color: #0000ff;">BEGIN</span>
                  Lstindex := Itematpos<span class="br0">&#40;</span>Cursorpos, <span style="color: #0000ff;">TRUE</span><span class="br0">&#41;</span>;
                  <span style="color: #0000ff;">IF</span> Lstindex &gt; -<span style="color: #cc66cc;">1</span> <span style="color: #0000ff;">THEN</span>
                  <span style="color: #0000ff;">BEGIN</span> <span style="color: #808080;">// Listbox Item Under Mouse</span>
                        Listtitrewidth:=Width-GetSystemMetrics<span class="br0">&#40;</span>SM_CXFRAME<span class="br0">&#41;</span>;
                        <span style="color: #0000ff;">IF</span> <span class="br0">&#40;</span><span class="br0">&#40;</span>Getwindowlong<span class="br0">&#40;</span>HANDLE, Gwl_Style<span class="br0">&#41;</span><span class="br0">&#41;</span> <span style="color: #0000ff;">AND</span> Ws_Vscroll<span class="br0">&#41;</span> &lt;&gt; <span style="color: #cc66cc;">0</span> <span style="color: #0000ff;">THEN</span> Listtitrewidth:=Listtitrewidth - GetSystemMetrics<span class="br0">&#40;</span>SM_CXVSCROLL<span class="br0">&#41;</span>;
                        <span style="color: #0000ff;">IF</span> Canvas.TEXTWIDTH<span class="br0">&#40;</span>ITEMS<span class="br0">&#91;</span>Lstindex<span class="br0">&#93;</span><span class="br0">&#41;</span> &gt; Listtitrewidth <span style="color: #0000ff;">THEN</span>
                        <span style="color: #0000ff;">BEGIN</span>
                              Hintstr := ITEMS<span class="br0">&#91;</span>Lstindex<span class="br0">&#93;</span>;
                              Maxlength := <span style="color: #cc66cc;">0</span>;
                              Cpi:=<span style="color: #cc66cc;">1</span>;
                              <span style="color: #0000ff;">WHILE</span> <span class="br0">&#40;</span>Canvas.TEXTWIDTH<span class="br0">&#40;</span>COPY<span class="br0">&#40;</span>ITEMS<span class="br0">&#91;</span>Lstindex<span class="br0">&#93;</span>,<span style="color: #cc66cc;">1</span>,Cpi<span class="br0">&#41;</span><span class="br0">&#41;</span>&lt;=Listtitrewidth<span class="br0">&#41;</span> <span style="color: #0000ff;">AND</span> <span class="br0">&#40;</span>Cpi&lt;=LENGTH<span class="br0">&#40;</span>ITEMS<span class="br0">&#91;</span>Lstindex<span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span style="color: #0000ff;">DO</span>
                              <span style="color: #0000ff;">BEGIN</span>
                                    <span style="color: #0000ff;">IF</span> ITEMS<span class="br0">&#91;</span>Lstindex<span class="br0">&#93;</span><span class="br0">&#91;</span>Cpi<span class="br0">&#93;</span>=<span style="color: #FF0000;">' '</span> <span style="color: #0000ff;">THEN</span> Maxlength:=Cpi;
                                    INC<span class="br0">&#40;</span>Cpi<span class="br0">&#41;</span>;
                              <span style="color: #0000ff;">END</span>;<span style="color: #808080;">{}</span>
                              lngtmp := COPY<span class="br0">&#40;</span>ITEMS<span class="br0">&#91;</span>Lstindex<span class="br0">&#93;</span>,Maxlength+<span style="color: #cc66cc;">1</span>,LENGTH<span class="br0">&#40;</span>ITEMS<span class="br0">&#91;</span>Lstindex<span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;
                              <span style="color: #808080;">// positionnement du hint</span>
                              Hintpos := Clienttoscreen<span class="br0">&#40;</span>Point<span class="br0">&#40;</span>Canvas.TEXTWIDTH<span class="br0">&#40;</span>COPY<span class="br0">&#40;</span>ITEMS<span class="br0">&#91;</span>Lstindex<span class="br0">&#93;</span>,<span style="color: #cc66cc;">1</span>,Maxlength<span class="br0">&#41;</span><span class="br0">&#41;</span>-<span style="color: #cc66cc;">1</span>, Itemheight * <span class="br0">&#40;</span>Lstindex - Topindex<span class="br0">&#41;</span>-GetSystemMetrics<span class="br0">&#40;</span>SM_CYFRAME<span class="br0">&#41;</span>+<span style="color: #cc66cc;">4</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;
                              hintcolored<span class="br0">&#40;</span>Canvas,Hintinfo,Itemindex,Lstindex,lngtmp,color,font.color<span class="br0">&#41;</span>;
                        <span style="color: #0000ff;">END</span>;
                  <span style="color: #0000ff;">END</span>;
            <span style="color: #0000ff;">END</span>;
      <span style="color: #0000ff;">END</span>;
<span style="color: #0000ff;">END</span>;
&nbsp;
<span style="color: #0000ff;">procedure</span> TForm1.FormCreate<span class="br0">&#40;</span>SENDer: <span style="color: #0080ff;">TObject</span><span class="br0">&#41;</span>;
<span style="color: #0000ff;">begin</span>
      Listbox.ItemIndex:=<span style="color: #cc66cc;">0</span>;
      ListCombo.ItemIndex:=<span style="color: #cc66cc;">0</span>;
      Comboboxexit:=<span style="color: #0000ff;">true</span>;
      Application.ShowHint := <span style="color: #0000ff;">True</span>;
      Application.OnIdle := ApplicationIdle;
      Application.OnShowHint := AppShowHint;
<span style="color: #0000ff;">END</span>;
&nbsp;
<span style="color: #0000ff;">procedure</span> TForm1.ApplicationIdle<span class="br0">&#40;</span>sender: <span style="color: #0080ff;">TObject</span>; <span style="color: #0000ff;">var</span> Done: <span style="color: #0080ff;">boolean</span><span class="br0">&#41;</span>;
<span style="color: #0000ff;">var</span>
  pt: TPoint;
  wnd: HWND;
  lngtmp: <span style="color: #0000ff;">array</span><span class="br0">&#91;</span><span style="color: #cc66cc;">0</span>..<span style="color: #cc66cc;">128</span><span class="br0">&#93;</span> <span style="color: #0000ff;">of</span> <span style="color: #0080ff;">Char</span>;
  cpi: <span style="color: #0080ff;">Integer</span>;
&nbsp;
<span style="color: #0000ff;">begin</span>
  GetCursorPos<span class="br0">&#40;</span>pt<span class="br0">&#41;</span>;
  wnd := WindowFromPoint<span class="br0">&#40;</span>pt<span class="br0">&#41;</span>;
  <span style="color: #0000ff;">If</span> wnd &lt;&gt; <span style="color: #cc66cc;">0</span> <span style="color: #0000ff;">then</span>
    <span style="color: #0000ff;">begin</span>
      lngtmp<span class="br0">&#91;</span><span style="color: #cc66cc;">0</span><span class="br0">&#93;</span> := <span style="color: #cc66cc;">#0</span>;
      GetClassName<span class="br0">&#40;</span>wnd, lngtmp, SizeOf<span class="br0">&#40;</span>lngtmp<span class="br0">&#41;</span><span class="br0">&#41;</span>;
      <span style="color: #0000ff;">if</span> StrIComp<span class="br0">&#40;</span>lngtmp, <span style="color: #FF0000;">'ComboLBox'</span><span class="br0">&#41;</span> = <span style="color: #cc66cc;">0</span> <span style="color: #0000ff;">then</span>
        <span style="color: #0000ff;">begin</span>
          Windows.ScreenToClient<span class="br0">&#40;</span>wnd, pt<span class="br0">&#41;</span>;
          cpi := SendMessage<span class="br0">&#40;</span>wnd, LB_ITEMFROMPOINT, <span style="color: #cc66cc;">0</span>, <span style="color: #0080ff;">Integer</span><span class="br0">&#40;</span>PointToSmallpoint<span class="br0">&#40;</span>pt<span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;
          <span style="color: #0000ff;">if</span> cpi &gt;= <span style="color: #cc66cc;">0</span> <span style="color: #0000ff;">then</span>
            <span style="color: #0000ff;">begin</span>
              SendMessage<span class="br0">&#40;</span>wnd, LB_GETTEXT, cpi, <span style="color: #0080ff;">Integer</span><span class="br0">&#40;</span>@lngtmp<span class="br0">&#41;</span><span class="br0">&#41;</span>;
              Label1.Caption := lngtmp;
              exit;
            <span style="color: #0000ff;">end</span>;
        <span style="color: #0000ff;">end</span>;
    <span style="color: #0000ff;">end</span>;
<span style="color: #0000ff;">end</span>;
&nbsp;
<span style="color: #0000ff;">END</span>.</pre></td></tr></table></code><hr />
</div>la fiche: <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 />77<br />78<br />79<br />80<br />81<br />82<br />83<br />84<br />85<br />86<br /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
<span style="color: #0000ff;">object</span> Form1: TForm1
  Left = <span style="color: #cc66cc;">541</span>
  Top = <span style="color: #cc66cc;">168</span>
  Hint = <span style="color: #FF0000;">'test'</span>
  BorderStyle = bsSingle
  Caption = <span style="color: #FF0000;">'Patisserie'</span>
  ClientHeight = <span style="color: #cc66cc;">297</span>
  ClientWidth = <span style="color: #cc66cc;">232</span>
  Color = <span style="color: #cc66cc;">8534605</span>
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -<span style="color: #cc66cc;">11</span>
  Font.Name = <span style="color: #FF0000;">'MS Sans Serif'</span>
  Font.Style = <span class="br0">&#91;</span><span class="br0">&#93;</span>
  OldCreateOrder = <span style="color: #0000ff;">False</span>
  Position = poScreenCenter
  ShowHint = <span style="color: #0000ff;">True</span>
  OnCreate = FormCreate
  PixelsPerInch = <span style="color: #cc66cc;">96</span>
  TextHeight = <span style="color: #cc66cc;">13</span>
  <span style="color: #0000ff;">object</span> Label1: TLabel
    Left = <span style="color: #cc66cc;">8</span>
    Top = <span style="color: #cc66cc;">248</span>
    Width = <span style="color: #cc66cc;">32</span>
    Height = <span style="color: #cc66cc;">13</span>
    Caption = <span style="color: #FF0000;">'Label1'</span>
  <span style="color: #0000ff;">end</span>
  <span style="color: #0000ff;">object</span> ListBox: TListBox
    Left = <span style="color: #cc66cc;">8</span>
    Top = <span style="color: #cc66cc;">24</span>
    Width = <span style="color: #cc66cc;">217</span>
    Height = <span style="color: #cc66cc;">208</span>
    Style = lbOwnerDrawFixed
    Color = <span style="color: #cc66cc;">12446463</span>
    Font.Charset = DEFAULT_CHARSET
    Font.Color = clBlue
    Font.Height = -<span style="color: #cc66cc;">12</span>
    Font.Name = <span style="color: #FF0000;">'MS Sans Serif'</span>
    Font.Style = <span class="br0">&#91;</span><span class="br0">&#93;</span>
    ItemHeight = <span style="color: #cc66cc;">13</span>
    Items.Strings = <span class="br0">&#40;</span>
      <span style="color: #FF0000;">'p&acirc;tisseries fran&ccedil;aises typiques :  Le Paris-Brest'</span>
      <span style="color: #FF0000;">'p&acirc;tisseries fran&ccedil;aises typiques :  La Brioche'</span>
      <span style="color: #FF0000;">'p&acirc;tisseries fran&ccedil;aises typiques :  Les Chouquettes'</span>
      <span style="color: #FF0000;">'p&acirc;tisseries fran&ccedil;aises typiques :  Le Chou'</span>
      <span style="color: #FF0000;">'p&acirc;tisseries fran&ccedil;aises typiques :  L&#146;&Eacute;clair'</span>
      <span style="color: #FF0000;">'p&acirc;tisseries fran&ccedil;aises typiques :  La Charlotte aux fraises'</span><span class="br0">&#41;</span>
    ParentFont = <span style="color: #0000ff;">False</span>
    ParentShowHint = <span style="color: #0000ff;">False</span>
    ShowHint = <span style="color: #0000ff;">True</span>
    TabOrder = <span style="color: #cc66cc;">1</span>
    OnDrawItem = ListBoxDrawItem
    OnMeasureItem = ListBoxMeasureItem
  <span style="color: #0000ff;">end</span>
  <span style="color: #0000ff;">object</span> ListCombo: TComboBox
    Left = <span style="color: #cc66cc;">8</span>
    Top = <span style="color: #cc66cc;">2</span>
    Width = <span style="color: #cc66cc;">217</span>
    Height = <span style="color: #cc66cc;">19</span>
    Style = csOwnerDrawFixed
    Color = <span style="color: #cc66cc;">12446463</span>
    DropDownCount = <span style="color: #cc66cc;">13</span>
    Font.Charset = ANSI_CHARSET
    Font.Color = clRed
    Font.Height = -<span style="color: #cc66cc;">12</span>
    Font.Name = <span style="color: #FF0000;">'MS Sans Serif'</span>
    Font.Style = <span class="br0">&#91;</span><span class="br0">&#93;</span>
    ItemHeight = <span style="color: #cc66cc;">13</span>
    ParentFont = <span style="color: #0000ff;">False</span>
    ParentShowHint = <span style="color: #0000ff;">False</span>
    ShowHint = <span style="color: #0000ff;">True</span>
    TabOrder = <span style="color: #cc66cc;">0</span>
    OnDrawItem = ListBoxDrawItem
    OnEnter = ListComboEnter
    OnExit = ListComboExit
    OnMeasureItem = ListBoxMeasureItem
    Items.Strings = <span class="br0">&#40;</span>
      <span style="color: #FF0000;">'p&acirc;tisseries fran&ccedil;aises typiques :  Le Paris-Brest'</span>
      <span style="color: #FF0000;">'p&acirc;tisseries fran&ccedil;aises typiques :  La Brioche'</span>
      <span style="color: #FF0000;">'p&acirc;tisseries fran&ccedil;aises typiques :  Les Chouquettes'</span>
      <span style="color: #FF0000;">'p&acirc;tisseries fran&ccedil;aises typiques :  Le Chou'</span>
      <span style="color: #FF0000;">'p&acirc;tisseries fran&ccedil;aises typiques :  L&#146;&Eacute;clair'</span>
      <span style="color: #FF0000;">'p&acirc;tisseries fran&ccedil;aises typiques :  La Charlotte aux fraises'</span><span class="br0">&#41;</span>
  <span style="color: #0000ff;">end</span>
<span style="color: #0000ff;">end</span></pre></td></tr></table></code><hr />
</div>cela fonctionne bien dans un listbox par contre je n'arrive pas a le faire dans le menu dérroulant du tcombobox <br />
il n'y a pas de :  Lstindex := Itematpos(Cursorpos, TRUE); dans Tcombobox<br />
ensuite je suis passé par 'ApplicationIdle' pour savoir quel item est affiché (Label1.Caption) mais je ne sais pas comment l'afficher dans l'aide contextuelle.<br />
<br />
merci de vos aides</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/p675421d1775352145/environnements-developpement/delphi/langage/afficher-l-aide-contextuelle-fin-ligne-tlistbox-tcombobox/pastisserie.jpg/" 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/p675431d1775390690/environnements-developpement/delphi/langage/afficher-l-aide-contextuelle-fin-ligne-tlistbox-tcombobox/patisseries.zip/">patisseries.zip</a> 
(213,0 Ko)
</li>
			</ul>
		</fieldset>
	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f776/environnements-developpement/delphi/langage/">Langage</category>
			<dc:creator>ZonZorg</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2183047/environnements-developpement/delphi/langage/afficher-l-aide-contextuelle-fin-ligne-tlistbox-tcombobox/</guid>
		</item>
		<item>
			<title>fermeture de Fiche non modal</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2182773&amp;goto=newpost</link>
			<pubDate>Fri, 20 Mar 2026 09:03:47 GMT</pubDate>
			<description><![CDATA[Bonjour, 
 
J'aurais besoin...]]></description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
<br />
J'aurais besoin d'une précision sur les fermeture de Fiche non Modal:<br />
<br />
je ferme et libère la Form 2 de cette manière:<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="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 /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
<span style="color: #0000ff;">procedure</span> TForm2.FormClose<span class="br0">&#40;</span>Sender: <span style="color: #0080ff;">TObject</span>; <span style="color: #0000ff;">var</span> Action: TCloseAction<span class="br0">&#41;</span>;
<span style="color: #0000ff;">begin</span>
<span style="color: #0000ff;">if</span> Sender = Form2 <span style="color: #0000ff;">then</span> Action:=caFree;
<span style="color: #0000ff;">end</span>;
&nbsp;
<span style="color: #0000ff;">procedure</span> TForm2.FormDestroy<span class="br0">&#40;</span>Sender: <span style="color: #0080ff;">TObject</span><span class="br0">&#41;</span>;
<span style="color: #0000ff;">begin</span>
<span style="color: #0000ff;">if</span> Sender=Form2 <span style="color: #0000ff;">then</span> Form2:=<span style="color: #0000ff;">nil</span>;
<span style="color: #0000ff;">end</span>;</pre></td></tr></table></code><hr />
</div>Est ce que le code dans FormDestroy est utile ?<br />
<br />
L'appel a été fait comme ceci depuis Form1<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="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 /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
  form2:=Tform2.Create<span class="br0">&#40;</span><span style="color: #0000ff;">Self</span><span class="br0">&#41;</span>;
  <span style="color: #0000ff;">try</span>
  form2.Show;
  <span style="color: #0000ff;">except</span>
  FreeAndNil<span class="br0">&#40;</span>form2<span class="br0">&#41;</span>;</pre></td></tr></table></code><hr />
</div><br />
<br />
Cordialement</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f776/environnements-developpement/delphi/langage/">Langage</category>
			<dc:creator>looping</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2182773/environnements-developpement/delphi/langage/fermeture-fiche-non-modal/</guid>
		</item>
		<item>
			<title><![CDATA[Equivalent d'un case avec String et même plus]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2182657&amp;goto=newpost</link>
			<pubDate>Sun, 15 Mar 2026 20:38:35 GMT</pubDate>
			<description>Bonsoir, 
 
Petite réflexion...</description>
			<content:encoded><![CDATA[<div>Bonsoir,<br />
<br />
Petite réflexion du week-end concernant l'instruction case de Delphi qui n'autorise que des types ordinaux. Donc, ne fonctionne pas par exemple avec une string. Il existe plusieurs manières de contourner et de parvenir au résultat telles que ce qui est proposé dans la <a href="https://delphi.developpez.com/faq/?page=Chaines-de-caracteres#Comment-faire-un-Case-Of-avec-des-String" target="_blank">FAQ de Développez</a>.<br />
<br />
En Java par exemple, l'instruction Switch a évolué lors des versions récentes et en plus d'accepter les string, l'instruction switch peut renvoyer une valeur pour initialiser une variable. J'ai donc essayé de trouver une solution qui permette de faire l'équivalent d'un case mais avec n'importe quel type (et pas en ajoutant que la possibilité avec une string) et qui permette d'initialiser la valeur d'une variable.<br />
<br />
L'idée est simplement d'utiliser les TDictionary. Dans le projet exemple joint (compatible en l'état avec Delphi 13 car utilisation de l'opérateur ternaire mais facilement modifiable pour le rendre compatible avec Delphi 12 et 11), je présente 3 exemples basés sur le principe suivant.<br />
Exemple d'un case potentiel sur une variable de type string pour alimenter une variable de type integer :<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="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 /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">var</span> nb := <span style="color: #cc66cc;">0</span>;
<span style="color: #0000ff;">case</span> uneString <span style="color: #0000ff;">of</span>
  <span style="color: #FF0000;">'un'</span>: nb := <span style="color: #cc66cc;">1</span>;
  <span style="color: #FF0000;">'deux'</span>: nb := <span style="color: #cc66cc;">2</span>;
  <span style="color: #FF0000;">'trois'</span>: nb := <span style="color: #cc66cc;">3</span>;
<span style="color: #0000ff;">end</span>;</pre></td></tr></table></code><hr />
</div>On peut initialiser la variable nb de la manière suivante :<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 /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #808080;">// Initialiser un TDictionary </span>
<span style="color: #0000ff;">var</span> dSimple:= TDictionary &lt;<span style="color: #0080ff;">string</span>, integer&gt;.Create;
dSimple.add<span class="br0">&#40;</span><span style="color: #FF0000;">'un'</span>, <span style="color: #cc66cc;">1</span><span class="br0">&#41;</span>;
dSimple.add<span class="br0">&#40;</span><span style="color: #FF0000;">'deux'</span>, <span style="color: #cc66cc;">2</span><span class="br0">&#41;</span>;
dSimple.add<span class="br0">&#40;</span><span style="color: #FF0000;">'trois'</span>, <span style="color: #cc66cc;">3</span><span class="br0">&#41;</span>;
&nbsp;
<span class="br0">&#91;</span>...<span class="br0">&#93;</span>
&nbsp;
<span style="color: #808080;">// Initialisation de la variable nb </span>
<span style="color: #0000ff;">var</span> aValue := <span style="color: #cc66cc;">0</span>;
<span style="color: #0000ff;">var</span> nb := <span style="color: #0000ff;">if</span> dSimple.TryGetValue<span class="br0">&#40;</span>cbeSimple.Text.ToLower, aValue<span class="br0">&#41;</span>
                     <span style="color: #0000ff;">then</span> aValue
                     <span style="color: #0000ff;">else</span> <span style="color: #cc66cc;">0</span>;</pre></td></tr></table></code><hr />
</div>Avantages : c'est donc l'équivalent d'un case sur une variable de type string, qui permet d'initialiser une variable et il serait même possible de rajouter dynamiquement des cas non prévus dans le code initial (on pourrait initialiser le TDictionary via une requête SQL, via lecture d'un fichier de paramétrage, via un appel d'API...).<br />
<br />
Les deux autres exemples du projet joint sont similaires mais pour lesquels le TDictionary est toujours constitué d'une clé de type string (mais n'importe quel autre type serait possible) et le type des valeurs est soit une procédure soit une fonction ce qui permet plus de souplesse (n'importe quel traitement est envisageable).<br />
<br />
Voilà, si ça peut servir à quelqu'un ;)<br />
<br />
Fichier Zip du projet exemple : <a href="https://www.developpez.net/forums/attachments/p674969d1773606508/environnements-developpement/delphi/langage/equivalent-d-case-string-meme-plus/case-tdictionary.zip/"  title="Nom : case-tdictionary.zip
Affichages : 78
Taille : 76,1 Ko">case-tdictionary.zip</a></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/p674969d1773606508/environnements-developpement/delphi/langage/equivalent-d-case-string-meme-plus/case-tdictionary.zip/">case-tdictionary.zip</a> 
(76,1 Ko)
</li>
			</ul>
		</fieldset>
	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f776/environnements-developpement/delphi/langage/">Langage</category>
			<dc:creator>gbegreg</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2182657/environnements-developpement/delphi/langage/equivalent-d-case-string-meme-plus/</guid>
		</item>
		<item>
			<title><![CDATA[S'agit-il d'un nouveau bug de la classe TControl, ou est-il déjà connu de tous ?]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2182189&amp;goto=newpost</link>
			<pubDate>Thu, 19 Feb 2026 05:56:49 GMT</pubDate>
			<description><![CDATA[S'agit-il d'un nouveau bug de...]]></description>
			<content:encoded><![CDATA[<div>S'agit-il d'un nouveau bug de la classe TControl, ou est-il déjà connu de tous*?<br />
<br />
Lorsqu'on utilise un objet comme TCustomPanel ou d'autres objets dérivés de TControl (en fait, presque tous), et qu'on tente d'effectuer un redimensionnement par effet miroir (où la propriété «*Width*» devient «*Left*» et inversement, et la propriété «*Height*» devient «*Top*» et inversement), le contrôle se bloque à certains moments lors du calcul. Pendant 16*instants (ou pixels), il reste figé, comme on peut le voir dans la vidéo*!<br />
<br />
Remarque*: lorsque la souris atteint une certaine valeur, le compteur régresse à des valeurs comprises entre +8, 0 et -8 (soit 16 + 1), avec un écart de 24. Ce cycle se répète pour d'autres valeurs, comme le montre l'image… qui démontre qu'il s'agit de multiples de 8, ce qui correspond aux bordures de la fenêtre, qui font, sauf erreur de ma part, 8*pixels.<br />
<br />
<img src="https://www.developpez.net/forums/attachments/p674372d1771480588/environnements-developpement/delphi/langage/s-agit-d-nouveau-bug-classe-tcontrol-deja-connu/delphi_bug_em_tcontrol_resizing_in_effect_mirror.gif/" border="0" alt="Nom : Delphi_Bug_em_TControl_Resizing_in_Effect_Mirror.gif
Affichages : 107
Taille : 1,60 Mo"  style="float: CONFIG" /><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="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 /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
<span style="color: #0000ff;">unit</span> Unit1;
&nbsp;
<span style="color: #0000ff;">interface</span>
&nbsp;
<span style="color: #0000ff;">uses</span>
  System.SysUtils,
  System.Classes,
  Vcl.Controls,
  Vcl.StdCtrls,
  Vcl.ExtCtrls;
&nbsp;
<span style="color: #0000ff;">type</span>
  TMy_PNL_Teste = <span style="color: #0000ff;">class</span><span class="br0">&#40;</span> TCustomPanel <span class="br0">&#41;</span>
  <span style="color: #0000ff;">private</span>
    LCmp: TComponent;
  <span style="color: #0000ff;">protected</span>
    <span style="color: #0000ff;">procedure</span> Resize; <span style="color: #0000ff;">override</span>;
  <span style="color: #0000ff;">end</span>;
&nbsp;
<span style="color: #0000ff;">implementation</span>
&nbsp;
<span style="color: #808080;">{ TMy_PNL_Teste }</span>
&nbsp;
<span style="color: #0000ff;">procedure</span> TMy_PNL_Teste.Resize;
<span style="color: #0000ff;">begin</span>
  <span style="color: #0000ff;">inherited</span>;
  LCmp := Parent.FindComponent<span class="br0">&#40;</span> <span style="color: #FF0000;">'Label1'</span> <span class="br0">&#41;</span>;
  <span style="color: #0000ff;">if</span> <span class="br0">&#40;</span> LCmp &lt;&gt; <span style="color: #0000ff;">nil</span> <span class="br0">&#41;</span> <span style="color: #0000ff;">then</span>
    TLabel<span class="br0">&#40;</span> LCmp <span class="br0">&#41;</span>.Caption := Format<span class="br0">&#40;</span> <span style="color: #FF0000;">'(%d, %d)'</span>, <span style="color: #808080;">//</span>
      <span class="br0">&#91;</span> Width, Height <span class="br0">&#93;</span> <span class="br0">&#41;</span>;
<span style="color: #0000ff;">end</span>;
&nbsp;
<span style="color: #0000ff;">end</span>.</pre></td></tr></table></code><hr />
</div><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 /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
<span style="color: #0000ff;">unit</span> umy_component_register;
&nbsp;
<span style="color: #0000ff;">interface</span>
&nbsp;
<span style="color: #0000ff;">uses</span>
  System.SysUtils,
  System.classes,
  <span style="color: #808080;">//</span>
  DesignIntf,
  DesignEditors;
&nbsp;
<span style="color: #0000ff;">procedure</span> <span style="color: #0000ff;">Register</span>;
&nbsp;
<span style="color: #0000ff;">implementation</span>
&nbsp;
<span style="color: #0000ff;">uses</span>
  Unit1;
&nbsp;
<span style="color: #0000ff;">procedure</span> <span style="color: #0000ff;">Register</span>;
<span style="color: #0000ff;">begin</span>
  RegisterComponents<span class="br0">&#40;</span> <span style="color: #FF0000;">'My Components'</span>, <span class="br0">&#91;</span> TMy_PNL_Teste <span class="br0">&#93;</span> <span class="br0">&#41;</span>;
<span style="color: #0000ff;">end</span>;
&nbsp;
<span style="color: #0000ff;">end</span>.</pre></td></tr></table></code><hr />
</div><br />
Je suppose que la méthode `DoConstrainedResize` est à l'origine de l'erreur de calcul. En effet, si vous observez attentivement, vous constaterez que lors du calcul de la largeur maximale, la largeur minimale n'est pas calculée*; autrement dit, la méthode vérifie si l'une est hors de l'intervalle, mais pas l'autre. Le même comportement est observé pour la hauteur. Je pense que c'est incorrect, car l'intervalle de valeurs devrait se situer entre la largeur minimale et la largeur maximale, et non pas seulement entre l'une des deux*!<br />
<br />
Cependant, comme `NewWidth` et `NewHeight` sont utilisées et modifiées par d'autres méthodes, l'origine exacte de l'erreur reste incertaine.<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="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 /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
<span style="color: #0000ff;">procedure</span> TControl.DoConstrainedResize<span class="br0">&#40;</span><span style="color: #0000ff;">var</span> NewWidth, NewHeight: <span style="color: #0080ff;">Integer</span><span class="br0">&#41;</span>;  <span style="color: #808080;">// Vcl.Control.pas, line 7774, Delphi 13</span>
<span style="color: #0000ff;">var</span>
  MinWidth, MinHeight, MaxWidth, MaxHeight: <span style="color: #0080ff;">Integer</span>;
<span style="color: #0000ff;">begin</span>
  <span style="color: #0000ff;">if</span> Constraints.MinWidth &gt; <span style="color: #cc66cc;">0</span> <span style="color: #0000ff;">then</span>
    MinWidth := Constraints.MinWidth
  <span style="color: #0000ff;">else</span>
    MinWidth := <span style="color: #cc66cc;">0</span>;
  <span style="color: #0000ff;">if</span> Constraints.MinHeight &gt; <span style="color: #cc66cc;">0</span> <span style="color: #0000ff;">then</span>
    MinHeight := Constraints.MinHeight
  <span style="color: #0000ff;">else</span>
    MinHeight := <span style="color: #cc66cc;">0</span>;
  <span style="color: #0000ff;">if</span> Constraints.MaxWidth &gt; <span style="color: #cc66cc;">0</span> <span style="color: #0000ff;">then</span>
    MaxWidth := Constraints.MaxWidth
  <span style="color: #0000ff;">else</span>
    MaxWidth := <span style="color: #cc66cc;">0</span>;
  <span style="color: #0000ff;">if</span> Constraints.MaxHeight &gt; <span style="color: #cc66cc;">0</span> <span style="color: #0000ff;">then</span>
    MaxHeight := Constraints.MaxHeight
  <span style="color: #0000ff;">else</span>
    MaxHeight := <span style="color: #cc66cc;">0</span>;
&nbsp;
  <span style="color: #808080;">{ Allow override of constraints }</span>
  ConstrainedResize<span class="br0">&#40;</span>MinWidth, MinHeight, MaxWidth, MaxHeight<span class="br0">&#41;</span>;
&nbsp;
  <span style="color: #0000ff;">if</span> <span class="br0">&#40;</span>MaxWidth &gt; <span style="color: #cc66cc;">0</span><span class="br0">&#41;</span> <span style="color: #0000ff;">and</span> <span class="br0">&#40;</span>NewWidth &gt; MaxWidth<span class="br0">&#41;</span> <span style="color: #0000ff;">then</span>       &lt;-------
    NewWidth := MaxWidth
  <span style="color: #0000ff;">else</span> <span style="color: #0000ff;">if</span> <span class="br0">&#40;</span>MinWidth &gt; <span style="color: #cc66cc;">0</span><span class="br0">&#41;</span> <span style="color: #0000ff;">and</span> <span class="br0">&#40;</span>NewWidth &lt; MinWidth<span class="br0">&#41;</span> <span style="color: #0000ff;">then</span>
    NewWidth := MinWidth;
&nbsp;
  <span style="color: #0000ff;">if</span> <span class="br0">&#40;</span>MaxHeight &gt; <span style="color: #cc66cc;">0</span><span class="br0">&#41;</span> <span style="color: #0000ff;">and</span> <span class="br0">&#40;</span>NewHeight &gt; MaxHeight<span class="br0">&#41;</span> <span style="color: #0000ff;">then</span>     &lt;-------
    NewHeight := MaxHeight
  <span style="color: #0000ff;">else</span> <span style="color: #0000ff;">if</span> <span class="br0">&#40;</span>MinHeight &gt; <span style="color: #cc66cc;">0</span><span class="br0">&#41;</span> <span style="color: #0000ff;">and</span> <span class="br0">&#40;</span>NewHeight &lt; MinHeight<span class="br0">&#41;</span> <span style="color: #0000ff;">then</span>
    NewHeight := MinHeight;
<span style="color: #0000ff;">end</span>;</pre></td></tr></table></code><hr />
</div></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/p674372d1771480588/environnements-developpement/delphi/langage/s-agit-d-nouveau-bug-classe-tcontrol-deja-connu/delphi_bug_em_tcontrol_resizing_in_effect_mirror.gif/" alt="" />&nbsp;
			</div>
		</fieldset>
	

	

	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f776/environnements-developpement/delphi/langage/">Langage</category>
			<dc:creator>emailx45</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2182189/environnements-developpement/delphi/langage/s-agit-d-nouveau-bug-classe-tcontrol-deja-connu/</guid>
		</item>
		<item>
			<title><![CDATA[[D7] Violation d'accès]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2181894&amp;goto=newpost</link>
			<pubDate>Tue, 03 Feb 2026 10:37:21 GMT</pubDate>
			<description>Bonjour à tous, 
 
je cherche...</description>
			<content:encoded><![CDATA[<div>Bonjour à tous,<br />
<br />
je cherche à créer un TBitmap avec cette fonction :<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="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 /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #808080;">{ ========================================================================= }</span>
<span style="color: #0000ff;">Function</span> CreateNewBitmap<span class="br0">&#40;</span>Width,Height: <span style="color: #0080ff;">Word</span>; Color: TColor<span class="br0">&#41;</span> : TBitmap ;
<span style="color: #0000ff;">var</span>
 bmp : TBitmap;
<span style="color: #0000ff;">begin</span>
 bmp := TBitmap.Create;
 <span style="color: #0000ff;">try</span>
   bmp.PixelFormat := pf24bit;
   bmp.Width := Width;
   bmp.Height := Height;
   bmp.Canvas.Brush.Color := Color;
   bmp.Canvas.FillRect<span class="br0">&#40;</span>Rect<span class="br0">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">0</span>, Width, Height<span class="br0">&#41;</span><span class="br0">&#41;</span>;
   Result.Assign<span class="br0">&#40;</span>Bmp<span class="br0">&#41;</span> ;                                          &lt;== Erreur ici
 <span style="color: #0000ff;">finally</span>
   bmp.Free;
 <span style="color: #0000ff;">end</span>;
<span style="color: #0000ff;">end</span>;
<span style="color: #808080;">{ ========================================================================= }</span></pre></td></tr></table></code><hr />
</div>J'ai une violation d'accès sur la ligne pointée surement parce ce que Result n'a pas été créé. Est ce que je dois faire un create sur le Bmp Result ?<br />
<br />
A+<br />
Charly</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f776/environnements-developpement/delphi/langage/">Langage</category>
			<dc:creator>Charly910</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2181894/environnements-developpement/delphi/langage/d7-violation-d-acces/</guid>
		</item>
		<item>
			<title>form et constraint</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2181478&amp;goto=newpost</link>
			<pubDate>Wed, 14 Jan 2026 09:50:45 GMT</pubDate>
			<description>Bonjour, 
 
Un truc que je...</description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
<br />
Un truc que je n'avais pas remarqué:<br />
<br />
Lorsque je réduis une &quot;form&quot; dans la barre des tache et que je la fais réapparaitre: je perds mes contraintes en hauteur.<br />
<br />
Voici les réglages utilisés:<br />
<img src="https://www.developpez.net/forums/attachments/p673251d1768384228/environnements-developpement/delphi/langage/form-constraint/size.jpg/" border="0" alt="Nom : size.jpg
Affichages : 159
Taille : 37,2 Ko"  style="float: CONFIG" /><br />
<br />
<br />
Lorsque j'ouvre la feuille la 1ère fois, pas de problème , mes contraintes sont respectées: je peux régler en hauteur de 650 à 905<br />
<br />
Par contre si je la réduis et que je la fais réapparaitre: les contraintes en hauteurs sont perdues: on peut étirer en hauteur sans contrainte ?<br />
<br />
Je suis en Delphi XE5<br />
<br />
Cordialement</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/p673251d1768384228/environnements-developpement/delphi/langage/form-constraint/size.jpg/" alt="" />&nbsp;
			</div>
		</fieldset>
	

	

	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f776/environnements-developpement/delphi/langage/">Langage</category>
			<dc:creator>looping</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2181478/environnements-developpement/delphi/langage/form-constraint/</guid>
		</item>
		<item>
			<title><![CDATA[Comment trouver ce qui provoque une Exception Débordement d'entier]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2181396&amp;goto=newpost</link>
			<pubDate>Fri, 09 Jan 2026 07:31:39 GMT</pubDate>
			<description><![CDATA[Bonjour 
 
J'ai un gros...]]></description>
			<content:encoded><![CDATA[<div>Bonjour<br />
<br />
J'ai un gros programme assez complexe qui de temps en temps plante avec une exception débordement d'entier.<br />
Le problème c'est que je n'arrive pas à savoir où ce produit cette exception. De plus ça se produit plus ou moins aléatoirement du coup c'est très difficile à reproduire.<br />
En version de debug je m’arrête  sur la procedure _InternalRaiseAtExcept de l'unité system.<br />
Et si je poursuis le pas à pas je me retrouve dans l'unité principale de mon programme mais impossible d'examiner les variables pour voir laquelle a déclenché l'exception.<br />
Existe t'il un moyen de voir ce qui déclenche cette exception ou des outils d'analyse de code qui permettent de signaler les problèmes potentiel</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f776/environnements-developpement/delphi/langage/">Langage</category>
			<dc:creator>Gouyon</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2181396/environnements-developpement/delphi/langage/trouver-provoque-exception-debordement-d-entier/</guid>
		</item>
	</channel>
</rss>
