Показать сообщение отдельно
  #2  
Старый 16.10.2010, 12:58
Аватар для v1s2222
v1s2222 v1s2222 вне форума
Продвинутый
 
Регистрация: 07.09.2010
Сообщения: 726
Репутация: 26711
По умолчанию

Конкретно сказать, где ошибка не могу, надо чтоб вы показали код. Но вот как будет работать (unit2 - модуль, где записаны константы, uni1 - главная форма):
Код:
unit Unit2;

interface

const
  Caption_ = 'Hello!';

procedure ReplaceVar(var a, b: Integer);

implementation

procedure ReplaceVar(var a, b: Integer);
begin
  a := a+ b;
  b := a - b;
  a := a - b;
end;

end.

////////////
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
implementation

uses unit2;
...
procedure TForm1.Button1Click(Sender: TObject);
var
  a, b: Integer;
begin
  a := 5;
  b := 3;
  ShowMessage(Caption_);
  ReplaceVar(a, b);
// сейчас а=3, b=5
end;

Это маленький пример, чтоб вы поняли.
ЗЫ процедура ReplaceVar - это процедура "обмена" переменных, без использования 3ей переменной (чисто для примера,
написал то, что первое пришло в голову ).

ЗЫЫ то бишь скорее всего, вы в том модуле, где объявляете все процедуры и функции вы их не правильно объявляете, надо вот так:
Код:
procedure ReplaceVar(var a, b: Integer); // объявил процедуру

implementation

procedure ReplaceVar(var a, b: Integer); // теперь описываем ее.
begin
  a := a+ b;
  b := a - b;
  a := a - b;
end;
__________________
Помогаю за Спасибо
Ответить с цитированием