Create user manager with delphi in mikrotik version 5.4

Hy guys, i’m a new guy here
and i need your help because i meet a problem how i can create user-manager in mikrotik version 5.4
if i use mikrotik version 4.17
i use this command and working
/tool/user-manager/user/add=subscriber=subscriber=name= user_m=password=pass_m=uptime-limit=1d=add-credit=1d


but if i user in mikrotik version 5.4 is not working
/tool/user-manager/user/add=customer=mikrotik1=username=test1=password=t1=copy-from=user1d

i already create the profile but still not working


please help me

These need to be separate API words, and by the looks of it, you’re instead writing them as one.

Show us your Delphi code.

also, take note, that in older versions of RouterOS user-manager was not that good via CLI and therefore API, better use newer version where a lot more stuff is available via CLI for user-manager.

i got delphi Api Code from here
http://wiki.mikrotik.com/wiki/API_Delphi

i also use newer mikrotik version 6 but not work,
if i create from terminal

tool user-manager user add customer=mikrotik1 username=test1 password=t1 copy-from=user1d
its working but try at my delphi program didn’t work
mybe the syntac is wrong?
create user
=========================
s1:=‘/tool/user-manager/user/add’;
s2:=‘=customer=mikrotik1=username=test1=password=t1=copy-from=user1d’;
execute_mikrotik();
===============
procedure TF_Utama.execute_mikrotik();
var
rei, pjng: integer;

begin
if mkr_connected then begin
application.processmessages;
logger.add(‘’,tpl_rem,142);
logger.add('EXECUTE= ‘+s1+’ ‘+s2+’ ‘+s3+’ ‘+s4+’ ‘+s5+’ '+s6,tpl_info,102);
rei:=mkr.send_command([s1,s2,s3,s4,s5,s6]);
if (rei=0)then
begin
application.ProcessMessages;

end;
end else logger.add(‘the router is not connected’,tpl_error,104);

if mkr.command_pending then
if reset_pressed then connect_mikrotik() else
begin
application.processmessages;
end;
end;


procedure TF_Utama.connect_mikrotik();
var rei: integer;

begin
ip_mikrotik:=edtip.Text;
username_mikrotik:=edtusername.Text;
pass_mikrotik:=edtpassword.Text;
reset_pressed:=false;
logger.clear;
logger.add(‘connecting to ‘+ip_mikrotik,tpl_info,103);
application.processmessages;
try_free_mkr;
mkr_connected:=false;
mkr:=tr_mkrouter.create(logger);
rei:=mkr.open(ip_mikrotik, username_mikrotik, pass_mikrotik);
if rei=0
then begin
mkr_connected:=true;
mkr.query_router([’/system/identity/getall’,‘’,‘’,‘’,‘’,‘’],res);
res:=ex_val(res, ‘name’, ‘’, false);
dxstatusbr.Panels[2].Text:='Connect to '+res;
logger.add('connected to '+res,tpl_info,103);
FipRadius.lblstatus.Caption:='Success to connect '+res;
F_Mettting_Group.lblstatus.Caption:='Success to connect '+F_Mettting_Group.dbcbbname.Text;
F_Mettting_Group.btnconnect.Enabled:=True;
application.processmessages;

end else
begin
resset_mikrotik();
try_free_mkr;
dxstatusbr.Panels[2].Text:=‘Failed to connect!’;
FipRadius.lblstatus.Caption:='Failled to connect '+res;
F_Mettting_Group.lblstatus.Caption:='Failled to connect '+F_Mettting_Group.dbcbbname.Text;
F_Mettting_Group.btnconnect.Enabled:=False;
end;

end;


why mikrotik version 4.17 my code is working, but the newest version not workking. please help me,

If you indeed have just

s1:='/tool/user-manager/user/add';
s2:='=customer=mikrotik1=username=test1=password=t1=copy-from=user1d';
 execute_mikrotik();

then that part is your problem. It needs to be this instead:

s1:='/tool/user-manager/user/add';
s2:='=customer=mikrotik1';
s3:='=username=test1';
s4:='=password=t1';
s5:='=copy-from=user1d';
 execute_mikrotik();

and then

logger.add('EXECUTE= '+s1+' '+s2+' '+s3+' '+s4+' '+s5,tpl_info,102);
 rei:=mkr.send_command([s1,s2,s3,s4,s5]);

ok thank you i will try that code,
why mikrotik version 5 until 6 have diferent code?

that code its not working.. i use all the code but not working as well,
what i do?? please help me..
any one if you understand API Mikrotik version 5.25 or newest please tell me the code to
create user manager from API Delphi