Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Error: Could not find source location to add method (https://www.clubdelphi.com/foros/showthread.php?t=50105)

ale_metall 08-11-2007 12:16:10

Error: Could not find source location to add method
 
Hola, necesito saber cual es la raiz de este error y como puedo solucionarlo, me sucede de vez en cuando y no tengo idea del por que, simplemente me aparece cuando intento poner algun codigo en cualquiera de los eventos de, en este caso, un speedbutton, pero lo hace para cualquier componente.

Error: Could not find source location to add method speedbutton4Click. "end." or INITIALIZATION not found in unit souce.

trabajo con delphi 6.

desde ya agradecido...

Saludos

Delphius 08-11-2007 12:22:45

Hola ale_metall,
El error se produce a que falta al menos un end ya sea al final (el end.) de la unit o algún evento, función o procedimiento.

Lo más posible es que borraste algún evento, función o procedimiento y te olvidaste de un end... o por el contrario que haya un end de más. Fijate bien.

Saludos,

ale_metall 08-11-2007 12:44:50

MMM, no me estoy dando cuenta...
mi units es la sig:

Código Delphi [-]
unit Unit7;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Mask, DBCtrls, DB, DBTables, Buttons, ExtCtrls,
  ComCtrls, Grids, DBGrids;
type
  TForm7 = class(TForm)
    Table1: TTable;
    Table2: TTable;
    DataSource1: TDataSource;
    DataSource2: TDataSource;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    TabSheet3: TTabSheet;
    Panel1: TPanel;
    SpeedButton3: TSpeedButton;
    SpeedButton8: TSpeedButton;
    SpeedButton9: TSpeedButton;
    SpeedButton12: TSpeedButton;
    SpeedButton5: TSpeedButton;
    DBNavigator1: TDBNavigator;
    GroupBox2: TGroupBox;
    Edit2: TEdit;
    Label1: TLabel;
    DBEdit1: TDBEdit;
    Label3: TLabel;
    DBEdit2: TDBEdit;
    Label5: TLabel;
    DBEdit4: TDBEdit;
    Label4: TLabel;
    DBLookupComboBox1: TDBLookupComboBox;
    SpeedButton1: TSpeedButton;
    DBEdit7: TDBEdit;
    Label6: TLabel;
    Label7: TLabel;
    DBEdit5: TDBEdit;
    DBEdit3: TDBEdit;
    Label2: TLabel;
    SpeedButton2: TSpeedButton;
    GroupBox1: TGroupBox;
    Edit1: TEdit;
    GroupBox3: TGroupBox;
    Edit3: TEdit;
    DBGrid1: TDBGrid;
    GroupBox4: TGroupBox;
    Edit4: TEdit;
    GroupBox5: TGroupBox;
    Edit5: TEdit;
    DBGrid2: TDBGrid;
    procedure SpeedButton5Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure SpeedButton8Click(Sender: TObject);
    procedure SpeedButton12Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton9Click(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure SpeedButton6Click(Sender: TObject);
    procedure Label8Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form7: TForm7;
implementation
{$R *.dfm}
procedure TForm7.SpeedButton5Click(Sender: TObject);
begin
table1.edit;
 DBGrid2.ReadOnly:=false;
 GroupBox4.enabled:=true;
 GroupBox5.Enabled:=true;
 edit4.clear;
 edit5.Clear;
 edit4.setfocus;
 speedbutton5.enabled:=false;
 speedbutton9.enabled:=true;
 speedbutton12.enabled:=true;
 DBNavigator1.enabled:=true;
end;
procedure TForm7.SpeedButton3Click(Sender: TObject);
begin
  edit2.enabled:=true;
  speedbutton2.enabled:=true;
  edit2.setfocus;
  speedbutton3.Enabled:=false;
  pagecontrol1.Pages[1].TabVisible:=false;
  pagecontrol1.Pages[2].TabVisible:=false;
end;
procedure TForm7.SpeedButton8Click(Sender: TObject);
begin
if messagebox(self.Handle,pchar('¿Desea eliminar el registro seleccionado?'),
'Confirmación',MB_YESNO + MB_ICONQUESTION+MB_DEFBUTTON2)=IDYES then
    begin
     table1.edit;
     table1.Delete;
     table1.refresh;
   end;
 end;
end.

y cuando compilo me da el sig: [Error] Unit7.pas(58): Unsatisfied forward or external declaration: 'TForm7.SpeedButton12Click'

* El speedButton12 tambien me genera error cuando quiero acceder a sus eventos.

Lepe 08-11-2007 13:36:10

las declaraciones de todos los procedimientos son estos:
Código Delphi [-]
    procedure SpeedButton5Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure SpeedButton8Click(Sender: TObject);
    procedure SpeedButton12Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton9Click(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure SpeedButton6Click(Sender: TObject);
    procedure Label8Click(Sender: TObject);

pero después abajo, en implementation no estan todos, de ahí el error.

pulsa CTRL + SHIFT + C en el editor de código y Delphi completará las definiciones, después pulsa CTRL + SHIFT + S (para guardar todo) y delphi eliminará lo que no haga falta.

O también puedes borrar a mano las declaraciones que no tengan correspondencia en implementation.

SAludos

ale_metall 08-11-2007 13:51:10

Gracias Delphius, Lepe por el aporte. Era eso... ahora funciona..

saludos y nuevamente Gracias.


La franja horaria es GMT +2. Ahora son las 09:52:34.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi