<html><body><div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt"><div><span>Alfred seguramente se refería a usar la misma técnica de la "clase de acceso" usada en el evento OnSelectEditor, solo que hay una diferencia, en el evento OnSelectEditor, la instancia del editor viene dada en el parámetro "Editor", pero como el evento OnEditButtonClick es solo una notificación y no proporciona información a cerca del editor  (el parámetro Sender del OnEditButtonClick es el grid especifico que originó la notificación) lo que se necesita es un medio alternativo de obtener el editor.  Justo para eso existe la función EditorByStyle, y su uso sería algo así como:<br></span></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: "Times New Roman"; background-color: transparent; font-style: normal;"><span><br></span></div><div style="color: rgb(0, 0, 0); font-size:
 16px; font-family: "Times New Roman"; background-color: transparent; font-style: normal;"><font face="Courier New, courier, monaco, monospace, sans-serif"><font size="2">procedure DBGrid1EditButtonClick(Sender: TObject);</font></font><span><font face="Courier New, courier, monaco, monospace, sans-serif"><font size="2"><br></font></font></span></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: "Times New Roman"; background-color: transparent; font-style: normal;"><span><font face="Courier New, courier, monaco, monospace, sans-serif"><font size="2">var</font></font><font face="Courier New, courier, monaco, monospace, sans-serif"><font size="2"><br></font></font></span></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: "Times New Roman"; background-color: transparent; font-style: normal;"><span><font face="Courier New, courier, monaco, monospace, sans-serif"><font size="2"> 
 Editor:</font></font><font face="Courier New, courier, monaco, monospace, sans-serif"><font size="2"> TWinControl;</font></font><font face="Courier New, courier, monaco, monospace, sans-serif"><font size="2"><br></font></font></span></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: "Times New Roman"; background-color: transparent; font-style: normal;"><span><font face="Courier New, courier, monaco, monospace, sans-serif"><font size="2">....</font></font><font face="Courier New, courier, monaco, monospace, sans-serif"><font size="2"><br></font></font></span></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: "Times New Roman"; background-color: transparent; font-style: normal;"><span><font face="Courier New, courier, monaco, monospace, sans-serif"><font size="2">  Editor := DbGrid1.EditorByStyle(cbsAuto); </font></font></span></div><div style="color: rgb(0, 0, 0); background-color: transparent;
 font-style: normal; font-size: 12px; font-family: "Courier New";"><span><font face="Courier New, courier, monaco, monospace, sans-serif"><font size="2">  if Editor is TCompositeCellEditor then begin</font></font></span></div><div style="color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-size: 12px; font-family: "Courier New";"><span><font face="Courier New, courier, monaco, monospace, sans-serif"><font size="2">    ...<br></font></font></span></div><div style="color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-size: 12px; font-family: "Courier New";"><span><font face="Courier New, courier, monaco, monospace, sans-serif"><font size="2">    </font></font></span><span><font face="Courier New, courier, monaco, monospace, sans-serif"><font size="2">TCompositeCellEditor(Editor).GetActiveControl.SetFocus;</font></font></span><span><font face="Courier
 New, courier, monaco, monospace, sans-serif"><font size="2"><br></font></font></span></div><div style="color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-size: 12px; font-family: "Courier New";"><span><font face="Courier New, courier, monaco, monospace, sans-serif"><font size="2">    ...<br></font></font></span></div><div style="color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-size: 12px; font-family: "Courier New";"><span><font face="Courier New, courier, monaco, monospace, sans-serif"><font size="2">  end;</font></font></span><span><font face="Courier New, courier, monaco, monospace, sans-serif"><font size="2"><br></font></font></span></div><div style="color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-size: 12px; font-family: "Courier New";"><span><font face="Courier New, courier, monaco, monospace, sans-serif"><font
 size="2"><br></font></font></span></div><div>Para poder usar cbsAuto el unit Grids debe estar en el uses. cbsAuto en un DbGrid nos regresa el editor seleccionado para el campo (o columna) actualmente seleccionado.</div><div><br></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: "Times New Roman"; background-color: transparent; font-style: normal;">No lo probé pero debería funcionar :)</div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: "Times New Roman"; background-color: transparent; font-style: normal;"><br></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: "Times New Roman"; background-color: transparent; font-style: normal;">Saludos.</div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: "Times New Roman"; background-color: transparent; font-style: normal;"><br></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: "Times New
 Roman"; background-color: transparent; font-style: normal;">Jesus Reyes A.</div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: "Times New Roman"; background-color: transparent; font-style: normal;"><br></div>  <div style="font-size: 12pt; font-family: "times new roman", "new york", "times", serif;"> <div style="font-size: 12pt; font-family: "times new roman", "new york", "times", serif;"> <div dir="ltr"> <hr size="1">  <font size="2" face="Arial"> <b><span style="font-weight:bold;">De:</span></b> Ismael L. Donis Garcia <ismael@citricos.co.cu><br> <b><span style="font-weight: bold;">Para:</span></b> Spanish version of Lazarus List <lazarus-es@lists.lazarus.freepascal.org> <br> <b><span style="font-weight: bold;">Enviado:</span></b> Jueves, 1 de agosto, 2013 16:01:53<br> <b><span style="font-weight: bold;">Asunto:</span></b> Re: [Lazarus-es] Error
 SIGSEGV en TDBGrid encolumna   conpropiedad    .ButtonStyle:=cbsEllipsis<br> </font> </div> <div class="y_msg_container"><br>Me podrías explicar esto un poquito más (yo nunca he trabajado con delphi, <br>es más nunca lo he instalado), vengo de Visual Estudio, o mejor dicho quiero <br>venir. Y por tal motivo este entorno y modo de hacer las me resulta bastante <br>estraño.<br><br>Yo en el formulario lo que tengo es el evento:<br>procedure DBGrid1EditButtonClick(Sender: TObject);<br><br>Si en ese evento pongo:<br>TCustomEdit.Focused := True;<br><br>Me da el error:<br>ufcini.pas(760,23) Error: Only class class methods, class properties and <br>class variables can be accessed in class methods<br>ufcini.pas(760,23) Error: Only class methods, class properties and class <br>variables can be referred with class references<br><br></div> </div> </div>  </div></body></html>