¡Hola,
Erikrocha!
Como dice Neftalí con algo mas de código puede que sea mas claro lo que expones.
Aún así de lo que nos haz compartido entiendo que el error se presenta al llamar a la instancia global
frm_pos desde una instancia local de
Tfrm_search, como lo muestras en este código:
Código Delphi
[-]
var
search: Tfrm_search;
begin
search := Tfrm_search.create(self);
end;
...
uses
pos;
...
procedure Tfrm_search.button1(Sender: TObject);
begin
frm_pos.label1.caption := 'abc';
end;
Acá la pregunta es. ¿Está disponible
frm_pos al momento del llamado en
Tfrm_search.button1? Es posible que no! Es probable que lo hayas liberado o que tengas en memoria otra instancia de ese formulario. Ahí es donde debemos ver tu código para ayudarte mejor.
Si solo manejas una única instancia de
TFrm_pos, entonces puedes validar que exista antes de usarla o mostrar el formulario de búsqueda. y así no tendrías el error del access violation.
Código Delphi
[-]
var
search: Tfrm_search;
begin
if not assigned(frm_pos) then
Application.createform(frm_pos, TFrm_pos);
search := Tfrm_search.create(self);
search.Show;
end;