Ну самый простой способ – это решить задачу в лоб:
Иметь для каждой кнопки свое меню.
2. Можно и в вашем случае Нужно использовать значение Tag у кнопки.. Сво-во Тэг как раз и нужно для подобных вещей, чтобы различить какой компонент мы юзаем, в данном случае при вызове меню… 
Для этого в самом меню… мы должны при действии разобрать значение тэга и сделать правильные подстановки.. 
Пример:
Форма, две кнопки + одно меню. У каждой кнопки свое уникальное (если нужно уникальное действие для меню) значение поля Тэг… при клике на пункте меню в Название формы пишем на какой кнопке было вызвано  меню…. Вы же будите делать свои действия скажем подстовлять свои IP.
Так же добавил как вы изночально хотели через Name.. можно и так.. но я бы сделал через Tag.
Форма:- Код: Выделить всё
- unit Unit1; 
 
 {$mode objfpc}{$H+}
 
 interface
 
 uses
 Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
 Menus;
 
 type
 
 { TForm1 }
 
 TForm1 = class(TForm)
 Button1: TButton;
 Button2: TButton;
 MenuItem1: TMenuItem;
 PopupMenu1: TPopupMenu;
 procedure MenuItem1Click(Sender: TObject);
 private
 { private declarations }
 public
 { public declarations }
 end;
 
 var
 Form1: TForm1;
 
 implementation
 
 {$R *.lfm}
 
 { TForm1 }
 
 procedure TForm1.MenuItem1Click(Sender: TObject);
 begin
 Caption:=IntToStr(PopupMenu1.PopupComponent.Tag);
 Caption:= Caption+ '  Name= '+ PopupMenu1.PopupComponent.Name;
 end;
 
 end.
PS. Если проблема решена.. подправте название темы на: Выбрать переменную в зависимости от свойства объекта[Решено]. Спасибо это поможет другим.
PS2. Опередили... 
