Библиотеки и пользовательские функции - страница 2

 
Может, дело в том, что я пытаюсь вызвать ф-цию из другой библиотеки?

К сожалению, без Вашего куска кода-примера, ответ сложно дать.
Приводите, пожалуйста, свой код, когда задаете вопросы.
 
int label_create ( string name, string text, color _color, int x, int y, int corner=0 )
{
   double font_size = 8;
   string font = "Arial";
   ObjectCreate( name, OBJ_LABEL,0,0,0,0,0,0,0);
   ObjectSet( name, OBJPROP_CORNER, corner);
   ObjectSet( name, OBJPROP_XDISTANCE, x);
   ObjectSet( name, OBJPROP_YDISTANCE, y);
   ObjectSetText(  name, text, font_size, font, _color);
return(0);
}



из другой ф-ции вызываем вышеописанную:

#import "info_input.ex4"
int label_create ( string name, string text, color _color, int x, int y, int corner=0 );
#import
int 123 ()
{
label_create ( "название", "текст", info_color, 380, 0, 0 );
return(0)
}


так всё работает.

Но если "опустить" параметр corner (по-умолчанию = 0)

label_create ( "название", "текст", info_color, 380, 0 );


компилятор говорит

')' - wrong parameters count
 
к сожалению, в описаниях импортируемых функций параметры по умолчанию не предусмотрены.
 
Slawa 25.01.05 15:51

по ф-циям понял
появился новый вопрос:
из ф-ции открываю файл, сохраняю handle в глоб.переменную
   string file_name = TimeToStr ( LocalTime(), TIME_DATE ) + ".txt";
   int log_file_handle = FileOpen ( file_name, FILE_WRITE, " " );
   GlobalVariableSet ( "log_file_handle", log_file_handle );



потом из другой ф-ции пытаюсь записАть в этот файл инфу:

   int log_file_handle = GlobalVariableGet ( "log_file_handle" );
   FileWrite ( log_file_handle, text + "\n");
   FileFlush ( log_file_handle );


в эксперт-логе запись:

2005.01.25 13:03:37	info_input: handle 1 not exist in FileWrite


Что я делаю неправильно?

 
файловые хендлы локальны в пределах одного исполняемого модуля
 
снова понял....т.е. каждый раз открывать придётся....
 
а можно, пока в тему, вопрос:
как записать информацию в конец файла, чтоб ничего не стиралось?
я попробовал так:
   int log_file_handle = FileOpen ( file_name, FILE_WRITE, " " );
   FileSeek ( log_file_handle, 0, SEEK_END );
   FileWrite ( log_file_handle, text + "\n");


но ничего не получилось..
просто не понимаю как работает FileSeek - если есть минутка, помогите, плз....

 
чтобы ничего не стиралось, надо открыть файл с атрибутом FILE_READ | FILE_WRITE
всё остальное правильно
 
Slawa 25.01.05 16:24


спасибо
 
те же бараны.........

library 1:
int trade ()
{
int _MagicNumber = 1000;
_OrderSend ( ....., _MagicNumber, .....);
return(0);
}


library 2:

int _OrderSend ( ....., int _MagicNumber, .....)
{
Alert(_MagicNumber);
OrderSend ( ....., _MagicNumber, .....);
return(0);
}


открывается поза с id 5:

2005.02.02 02:03:45	Alert: 5


я сижу и плачу.....