Hola Jymy!
Revisé el código que adjuntaste, sin embargo no he puedo ayudare a resolver el error que comentas porque en el form tienes una tabla que hace referencia a un Alias y obviamente no adjuntaste las bases de datos.
Espero que no te moleste si publicó parte de tu código de ejemplo, es tan sólo para hacer algunas recomendaciones.
Código Delphi
[-]
var
Form1: TForm1;
Text : string;
lst : TStrings;
implementation
{$R *.dfm}
procedure TForm1.Table1LARGOGetText(Sender: TField; var Text: String;
DisplayText: Boolean);
begin
Text:= Trim (Sender.asString);
end;
procedure TForm1.Table1LARGOSetText(Sender: TField; const Text: String);
begin
Sender.AsString := Text;
end;
procedure TForm1.DBGrid1EditButtonClick(Sender: TObject);
begin
end;
En primer lugar, es correcto utilizar el evento OnGetText para mostrar el contenido del campo y evitar que aparezca el texto [Memo] en el DBGrid, pero no considero necesario utilizar el evento OnSetText.
Otra recomendación es que para editar el campo memo, utilices otra ventana que se mostrará cuando el usuario pulse sobre botón de edición en la celda del DBGrid.
Por ejemplo en el evento OnEditButtonClick puedes hacer algo como esto:
Código Delphi
[-]
procedure TForm1.DBGrid1EditButtonClick(Sender: TObject);
begin
with (Sender as TDBGrid) do
if Columns [SelectedIndex].FieldName='LARGO' then
with TForm2.Create(Self) do
try
ShowModal; finally
Free;
end;
end;
De esta forma si la columna seleccionada está ligada con el campo que se llama 'LARGO', entonces abres otra ventana (Form2) con el campo memo que quieres editar.
*********************************************************
Por otra parte la propiedad PickList sirve para mostrar una lista desplegable dentro de una celda del DBGrid, es como un ListBox en donde puedes agregar elementos para que el usuario los seleccione al momento de editar la celda.
Un ejemplo:
Código Delphi
[-]
procedure TForm1.FormCreate(Sender: TObject);
begin
DBGrid1.Columns[0].ButtonStyle:=cbsAuto;
DBGrid1.Columns[0].PickList.Add('Elemento 1');
DBGrid1.Columns[0].PickList.Add('Elemento 2');
DBGrid1.Columns[0].PickList.Add('Elemento 3');
end;
Esto mostrará una lista desplegable en la primera columna del DBGrid.
Espero que se haya aclarado algo, un saludo.