|
|
|
ERP "Галактика" раздается бесплатно! | ☑ | ||
|---|---|---|---|---|
|
0
Stagor
22.03.10
✎
13:46
|
||||
|
1
Advan
22.03.10
✎
13:48
|
У них так все плохо?
|
|||
|
2
Stim
22.03.10
✎
13:50
|
«В планах на 2010 г. – получение порядка сотни заказчиков на поддержку, которая стоит 70 тыс. руб. в год"
Бугага. Ему проще было бы работать рядовым одинесником) |
|||
|
3
Naumov
22.03.10
✎
13:52
|
я уж думал, что они совсем сгинули.
|
|||
|
4
Волшебник
22.03.10
✎
13:52
|
Компания «Галактика» разработала бесплатные варианты своих ERP и BI систем. Оплачивать предлагается только поддержку и внедрение. Основная мотивация компании – получение клиентов из сегмента среднего бизнеса.
Функциональность бесплатных вариантов ПО ограничена по сравнению с их платными аналогами. |
|||
|
5
kiruha
22.03.10
✎
13:55
|
Когда еще не было 8 Галактика реальном могла заграбастать весь этот сегмент.
|
|||
|
6
Волшебник
22.03.10
✎
13:56
|
(3) Годовая выручка компании в 2009 г. составила, как и год назад, около 1 млрд руб.
|
|||
|
7
dervishsy
22.03.10
✎
13:56
|
Так и не понял обязательно ли покупать поддержку или можно самому скачать и установить?
|
|||
|
8
kiruha
22.03.10
✎
13:57
|
А теперь уже поздновато
|
|||
|
9
trdm
22.03.10
✎
13:57
|
(0) синьюс как всегда лажает с ссылками на мессадж.
Нет ссылки на официальный сайт с сесагой. Ихним ньюсмейкерам только для туалетной бумаги новости готовить.... |
|||
|
10
Stagor
22.03.10
✎
13:57
|
(Функциональность бесплатных вариантов ПО ограничена по сравнению с их платными аналогами.)
вопрос насколько сильно? Если бесплатный функционал Галактики, хотя бы равен УПП 1.3 ... |
|||
|
11
Ненавижу 1С
гуру
22.03.10
✎
13:58
|
у них там все под .NET? Ссылки есть для скачиваний?
|
|||
|
12
VitGun
22.03.10
✎
13:59
|
>> Затраты среднего клиента на внедрение ERP-системы он оценил в 300 тыс. руб
остальные 30 лярдов баксов это что? распилы-откаты? |
|||
|
13
dervishsy
22.03.10
✎
14:00
|
||||
|
14
Ненавижу 1С
гуру
22.03.10
✎
14:01
|
(13) что-то много она весит
|
|||
|
15
kiruha
22.03.10
✎
14:02
|
(9)
Ссылка с официального сайта Цель проекта - бысторе и эффективное внедрение полнофункциональной бесплатной ERP системы Галактика Экспресс на предприятиях среднего размера в России, Украине, Беларуси и Казахстане http://code.google.com/p/galaktika-express/ |
|||
|
16
kiruha
22.03.10
✎
14:03
|
1. Система Галактика Экспресс СРВ. Объем загрузки ~550Мб
2. Утилиты Support для Галактики Экспресс СРВ, включая среду разработки Viper. Объем загрузки ~50Мб |
|||
|
17
nop
22.03.10
✎
14:04
|
Галактика в опасности!
|
|||
|
18
trdm
22.03.10
✎
14:07
|
(13) (15) Я про си-ньюс говорил.
(17) Им бы по примеру 1С-са с минфином скорешиться. Иначе даже не всплывет... |
|||
|
19
kiruha
22.03.10
✎
14:09
|
Пренос данных, настройка, адаптация
из 8.1,8.2 в Галактика Экспресс, недорого |
|||
|
20
nop
22.03.10
✎
14:11
|
(18) так уже поздно
|
|||
|
21
Asmody
22.03.10
✎
14:12
|
почему в коде страниц сайта "Галактики" встречается слово "bitrix"? :)
|
|||
|
22
Mikeware
22.03.10
✎
14:15
|
(21) А что, там должно только "ваш кролик писал" встречаться? :-)
|
|||
|
23
Asmody
22.03.10
✎
14:17
|
(22) ну, например, в коде страниц этого сайте слово "bitrix" не встречается
|
|||
|
24
kiruha
22.03.10
✎
14:23
|
>>
# Количество рабочих мест, одновременно использующих функциональность Решения "Галактика Экспресс ВРП" ограничено 15. 15 чел - маловато... |
|||
|
25
kiruha
22.03.10
✎
14:24
|
И сервер приложений не входит
|
|||
|
26
Stagor
22.03.10
✎
14:26
|
(24) Для развивающегося бизнеса - нормально!
(25) При 15 юзерах - не нужен |
|||
|
27
proger2011
22.03.10
✎
14:29
|
(26)
"Для развивающегося бизнеса - нормально!" Очень недальновидное решение. А потом ещё потратить кучу бабла на переход на УПП :))) |
|||
|
28
Stagor
22.03.10
✎
14:29
|
(27) Докупить платную галактику
|
|||
|
29
dervishsy
22.03.10
✎
14:36
|
Еще хреново что она только с платными БД работает.Можно конечно поставить Express версии БД, но это только на поиграться.
|
|||
|
30
proger2011
22.03.10
✎
14:38
|
(28) Тогда это называется замануха :))) Ну в баню эту Галактику...
|
|||
|
31
trdm
22.03.10
✎
14:38
|
(30) Ясен пень замануха.
"В нашей мышеловке самый вкусный сыррррр" |
|||
|
32
Ksandr
22.03.10
✎
14:39
|
дайте скрин поглядеть)
|
|||
|
33
dervishsy
22.03.10
✎
14:39
|
(30) Ну почему замануха Microsoft выпускает же Express Версию SQL сервера
|
|||
|
34
kiruha
22.03.10
✎
14:39
|
Посмотрел презентацию - формы еще как в 7.7 )))
Если точнее - как в самоделке на Delphi 10 летней давности. |
|||
|
35
proger2011
22.03.10
✎
14:41
|
Как то переводил с Галактики на УПП. Это жуткое нечто криворуких студентов...
|
|||
|
36
nick slaughter
22.03.10
✎
14:46
|
Была где то история, как эту Галактику писали/создавали. Ржач. Вот уж действительно поделка студентов криворуких. Сам не пробовал. Там действительно все так плохо?
|
|||
|
37
ado
22.03.10
✎
14:49
|
(35) Хе. Почитать, что тут про УПП писали ...
|
|||
|
38
Холст
22.03.10
✎
14:50
|
небось как бесплатный БЭСТ -только с православными MS Windows + MS Office
|
|||
|
39
Барбариска
22.03.10
✎
14:52
|
Ой, а у меня даже совершенно лицензионный диск есть
Задаренный клиентом, пользующимся 1С7.7 Все никак руки не доходят посмотреть... хотя бы для объективности суждений )) |
|||
|
40
NikVars
22.03.10
✎
14:55
|
http://cnews.ru/reviews/free/2008/articles/top100.shtml
1С - выручка 10 128 000 тыр людей 1000 Галактика - выручка 1 025 000 тыр людей 690 По - моему показательно. |
|||
|
41
Ненавижу 1С
гуру
22.03.10
✎
14:57
|
(34) если будет летать, то я смирюсь с видом форм
|
|||
|
42
proger2011
22.03.10
✎
14:57
|
(40) Думаю что цифры фуфлыжные. С галактики куча контор уже давно спрыгнула. Сам перевёл несколько контор.
|
|||
|
43
nick slaughter
22.03.10
✎
14:59
|
Голактеко опасносте...
|
|||
|
44
ado
22.03.10
✎
15:00
|
(40) Кто все эти люди?
|
|||
|
45
NikVars
22.03.10
✎
15:01
|
(44) Это те, кто может сделать в 10 раз меньше одинэсника.
|
|||
|
46
ado
22.03.10
✎
15:04
|
(40) Интересно, Яндекс ИТ-компанией не считается?
|
|||
|
47
NikVars
22.03.10
✎
15:11
|
Мне тоже интересно!
|
|||
|
48
DjSpike
22.03.10
✎
15:26
|
под wine не работает, нативной версии для linux - нету... Закопайте галактику....
|
|||
|
49
kiruha
22.03.10
✎
15:39
|
(41)
>>если будет летать, то я смирюсь с видом форм Ну 7.7 на 1С++ у многих вполне себе летает. Шило на мыло менять ? Хотя пардон - про Галактику еще неизвестно что она летает |
|||
|
50
Vovan1975
22.03.10
✎
15:58
|
Поддерживаю оратора в (35)
|
|||
|
51
Vovan1975
22.03.10
✎
15:58
|
(49) Не заморачивайтесь - не летает.
|
|||
|
52
aka MIK
22.03.10
✎
16:01
|
Кто нить скачал посмотреть?
|
|||
|
53
trdm
22.03.10
✎
16:15
|
(52) Лично я не собираюсь. Меня уже давно тошнит от закрытых систем.
И бесит от невозможности порешать мелкие проблемы.. |
|||
|
54
Vovan1975
22.03.10
✎
16:17
|
(53) Как вспомню остаток в сумме 0.0000000000001 .......
|
|||
|
55
ado
22.03.10
✎
16:33
|
(53) Ууууу, как я вас понимаю ...
|
|||
|
56
trdm
22.03.10
✎
17:43
|
Хотя с другой стороны, как посмотришь на сорцы библиотеки для работы с дробными числами или интерпретатора, так блин аж застрелиться хочется:
decNumber * decNumberFromString (decNumber * dn, const char chars[], decContext * set) { Int exponent = 0; /* working exponent [assume 0] */ uByte bits = 0; /* working flags [assume +ve] */ Unit *res; /* where result will be built */ Unit resbuff[D2U (DECBUFFER + 1)]; /* local buffer in case need temporary */ Unit *allocres = NULL; /* -> allocated result, iff allocated */ Int need; /* units needed for result */ Int d = 0; /* count of digits found in decimal part */ const char *dotchar = NULL; /* where dot was found */ const char *cfirst; /* -> first character of decimal part */ const char *last = NULL; /* -> last digit of decimal part */ const char *firstexp; /* -> first significant exponent digit */ const char *c; /* work */ Unit *up; /* .. */ #if DECDPUN>1 Int i; /* .. */ #endif Int residue = 0; /* rounding residue */ uInt status = 0; /* error code */ #if DECCHECK if (decCheckOperands (DECUNUSED, DECUNUSED, DECUNUSED, set)) return decNumberZero (dn); #endif do { /* status & malloc protection */ c = chars; /* -> input character */ if (*c == '-') { /* handle leading '-' */ bits = DECNEG; c++; } else if (*c == '+') c++; /* step over leading '+' */ /* We're at the start of the number [we think] */ cfirst = c; /* save */ for (;; c++) { if (*c >= '0' && *c <= '9') { /* test for Arabic digit */ last = c; d++; /* count of real digits */ continue; /* still in decimal part */ } if (*c != '.') break; /* done with decimal part */ /* dot: record, check, and ignore */ if (dotchar != NULL) { /* two dots */ last = NULL; /* indicate bad */ break; } /* .. and go report */ dotchar = c; /* offset into decimal part */ } /* c */ if (last == NULL) { /* no decimal digits, or >1 . */ #if DECSUBSET /* If subset then infinities and NaNs are not allowed */ if (!set->extended) { status = DEC_Conversion_syntax; break; /* all done */ } else { #endif /* Infinities and NaNs are possible, here */ decNumberZero (dn); /* be optimistic */ if (decStrEq (c, "Infinity") || decStrEq (c, "Inf")) { dn->bits = bits | DECINF; break; /* all done */ } else { /* a NaN expected */ /* 2003.09.10 NaNs are now permitted to have a sign */ status = DEC_Conversion_syntax; /* assume the worst */ dn->bits = bits | DECNAN; /* assume simple NaN */ if (*c == 's' || *c == 'S') { /* looks like an` sNaN */ c++; dn->bits = bits | DECSNAN; } if (*c != 'n' && *c != 'N') break; /* check caseless "NaN" */ c++; if (*c != 'a' && *c != 'A') break; /* .. */ c++; if (*c != 'n' && *c != 'N') break; /* .. */ c++; /* now nothing, or nnnn, expected */ /* -> start of integer and skip leading 0s [including plain 0] */ for (cfirst = c; *cfirst == '0';) cfirst++; if (*cfirst == '\0') { /* "NaN" or "sNaN", maybe with all 0s */ status = 0; /* it's good */ break; /* .. */ } /* something other than 0s; setup last and d as usual [no dots] */ for (c = cfirst;; c++, d++) { if (*c < '0' || *c > '9') break; /* test for Arabic digit */ last = c; } if (*c != '\0') break; /* not all digits */ if (d > set->digits) break; /* too many digits */ /* good; drop through and convert the integer */ status = 0; bits = dn->bits; /* for copy-back */ } /* NaN expected */ #if DECSUBSET } #endif } /* last==NULL */ if (*c != '\0') { /* more there; exponent expected... */ Flag nege = 0; /* 1=negative exponent */ if (*c != 'e' && *c != 'E') { status = DEC_Conversion_syntax; break; } /* Found 'e' or 'E' -- now process explicit exponent */ /* 1998.07.11: sign no longer required */ c++; /* to (expected) sign */ if (*c == '-') { nege = 1; c++; } else if (*c == '+') c++; if (*c == '\0') { status = DEC_Conversion_syntax; break; } for (; *c == '0' && *(c + 1) != '\0';) c++; /* strip insignificant zeros */ firstexp = c; /* save exponent digit place */ for (;; c++) { if (*c < '0' || *c > '9') break; /* not a digit */ exponent = X10 (exponent) + (Int) * c - (Int) '0'; } /* c */ /* if we didn't end on '\0' must not be a digit */ if (*c != '\0') { status = DEC_Conversion_syntax; break; } /* (this next test must be after the syntax check) */ /* if it was too long the exponent may have wrapped, so check */ /* carefully and set it to a certain overflow if wrap possible */ if (c >= firstexp + 9 + 1) { if (c > firstexp + 9 + 1 || *firstexp > '1') exponent = DECNUMMAXE * 2; /* [up to 1999999999 is OK, for example 1E-1000000998] */ } if (nege) exponent = -exponent; /* was negative */ } /* had exponent */ /* Here when all inspected; syntax is good */ /* Handle decimal point... */ if (dotchar != NULL && dotchar < last) /* embedded . found, so */ exponent = exponent - (last - dotchar); /* .. adjust exponent */ /* [we can now ignore the .] */ /* strip leading zeros/dot (leave final if all 0's) */ for (c = cfirst; c < last; c++) { if (*c == '0') d--; /* 0 stripped */ else if (*c != '.') break; cfirst++; /* step past leader */ } /* c */ #if DECSUBSET /* We can now make a rapid exit for zeros if !extended */ if (*cfirst == '0' && !set->extended) { decNumberZero (dn); /* clean result */ break; /* [could be return] */ } #endif /* OK, the digits string is good. Copy to the decNumber, or to a temporary decNumber if rounding is needed */ if (d <= set->digits) res = dn->lsu; /* fits into given decNumber */ else { /* rounding needed */ need = D2U (d); /* units needed */ res = resbuff; /* assume use local buffer */ if (need * sizeof (Unit) > sizeof (resbuff)) { /* too big for local */ allocres = (Unit *) malloc (need * sizeof (Unit)); if (allocres == NULL) { status |= DEC_Insufficient_storage; break; } res = allocres; } } /* res now -> number lsu, buffer, or allocated storage for Unit array */ /* Place the coefficient into the selected Unit array */ #if DECDPUN>1 i = d % DECDPUN; /* digits in top unit */ if (i == 0) i = DECDPUN; up = res + D2U (d) - 1; /* -> msu */ *up = 0; for (c = cfirst;; c++) { /* along the digits */ if (*c == '.') { /* ignore . [don't decrement i] */ if (c != last) continue; break; } *up = (Unit) (X10 (*up) + (Int) * c - (Int) '0'); i--; if (i > 0) continue; /* more for this unit */ if (up == res) break; /* just filled the last unit */ i = DECDPUN; up--; *up = 0; } /* c */ #else /* DECDPUN==1 */ up = res; /* -> lsu */ for (c = last; c >= cfirst; c--) { /* over each character, from least */ if (*c == '.') continue; /* ignore . [don't step b] */ *up = (Unit) ((Int) * c - (Int) '0'); up++; } /* c */ #endif dn->bits = bits; dn->exponent = exponent; dn->digits = d; /* if not in number (too long) shorten into the number */ if (d > set->digits) decSetCoeff (dn, set, res, d, &residue, &status); /* Finally check for overflow or subnormal and round as needed */ decFinalize (dn, set, &residue, &status); /* decNumberShow(dn); */ } while (0); /* [for break] */ if (allocres != NULL) free (allocres); /* drop any storage we used */ if (status != 0) decStatus (dn, status, set); return dn; } |
|||
|
57
ado
22.03.10
✎
17:45
|
(56) Это откуда?
|
|||
|
58
trdm
22.03.10
✎
17:46
|
это decnumber
|
|||
|
59
trdm
22.03.10
✎
17:47
|
(57) Ну че? :))) уболтал качать Галактику? :)))))))
|
|||
|
60
ado
22.03.10
✎
17:48
|
(58) Либа что-ли такая?
|
|||
|
61
trdm
22.03.10
✎
17:50
|
да.
А вот тебе кусочек интерпретатора: // interpret - interpret bytecode instructions void VM::interpret ( int argc ) { VALUE * return_fp = frm_p; OBJECT *obj; int n; int woperand; running = true; // make a dummy call frame CHECKSTACK ( FRAME_SIZE ); code = SP ( argc ) .v.v_code; package = code->klass () ->get_package (); PUSH ( ( int ) argc ); // argument count PUSH ( eh_pos ); PUSH ( m_stack_pos ); PUSH ( int ( frm_p - stkbase ) ); // old frm_p PUSH ( int ( pc - cbase ) ); // old pc cbase = pc = ( unsigned char * ) code->bytecode (); frm_p = stk_p; // execute each instruction start: ready_for_gc = true; try { for (;; ) { if ( !ready_for_gc ) { ready_for_gc = true; if ( memory.gc_active ) memory.notification.signal (); else if ( memory.allocated + other_allocs > memory.gc_threshold ) memory.gc (); } #ifdef DECODE_TRACE decode_instruction ( code, pc - ( unsigned char * ) code->bytecode () ); #endif switch ( *pc++ ) { case OP_CALL: opCALL (); break; case OP_RETURN: if ( !opRETURN () || return_fp == frm_p ) goto STOP; break; case OP_SEND: assert ( false ); break; case OP_VREF: opVREF (); break; case OP_VSET: opVSET (); break; case OP_REF: { woperand = getwoperand (); ARRAY &a = *package->literals; VALUE *v1 = &a [ woperand ]; int t = v1->v_type; VALUE *v = v1->v.v_var.value (); SP ( 0 ) = *v; } break; case OP_SET: woperand = getwoperand (); *( ( *package->literals ) [ woperand ] .v.v_var.value () ) = SP ( 0 ); break; case OP_MREF: n = FP ( FRAME_ARGC ) .v.v_integer + FRAME_ARGC; obj = FP ( n ) .v.v_object; SP ( 0 ) = obj->members [ *pc++ ]; break; case OP_MSET: n = FP ( FRAME_ARGC ) .v.v_integer + FRAME_ARGC; obj = FP ( n ) .v.v_object; obj->members [ *pc++ ] = SP ( 0 ); break; case OP_AREF: n = *pc++; if ( n >= FP ( FRAME_ARGC ) .v.v_integer ) { SP ( 0 ) = undefined; } else { SP ( 0 ) = ARG ( n ); } break; case OP_ASET: n = *pc++; if ( n >= FP ( FRAME_ARGC ) .v.v_integer ) { error ( "argument %d does not exist", n ); } ARG ( n ) = SP ( 0 ); break; case OP_TREF: n = *pc++; SP ( 0 ) = FP ( -n-1 ); break; case OP_TSET: n = *pc++; FP ( -n-1 ) = SP ( 0 ); break; case OP_PMREF: opPMREF (); break; case OP_PMSET: opPMSET (); break; case OP_TSPACE: n = *pc++; CHECKSTACK ( n ); PUSHN ( n ); break; case OP_BRT: if ( istrue ( SP ( 0 ) ) ) { pc = cbase + getwoperand (); } else { pc += 2; } break; case OP_BRF: if ( istrue ( SP ( 0 ) ) ) { pc += 2; } else { pc = cbase + getwoperand (); } break; case OP_BR: pc = cbase + getwoperand (); break; case OP_NULL: SP ( 0 ) = null; break; case OP_PUSH: CHECKSTACK ( 1 ); PUSH ( undefined ); break; case OP_NOT: SP ( 0 ) = ! ( istrue ( SP ( 0 ) ) ); break; case OP_NEG: CHECKTYPE ( 0, DT_INTEGER ); SP ( 0 ) .v.v_integer = - SP ( 0 ) .v.v_integer; break; case OP_ADD: SP ( 1 ) = op_add ( this, SP ( 1 ), SP ( 0 ) ); POP; break; case OP_SUB: SP ( 1 ) = op_sub ( this, SP ( 1 ), SP ( 0 ) ); POP; break; case OP_MUL: SP ( 1 ) = op_mul ( this, SP ( 1 ), SP ( 0 ) ); POP; break; case OP_DIV: SP ( 1 ) = op_div ( this, SP ( 1 ), SP ( 0 ) ); POP; break; case OP_REM: SP ( 1 ) = op_rem ( this, SP ( 1 ), SP ( 0 ) ); POP; break; case OP_MAKEREF: CHECKTYPE ( 0, DT_CODE ); if ( !SP ( 1 ) .is_thing () ) { VM::error ( "expecting object" ); } //TODO: test code!!!! SP ( 1 ) .set_method ( SP ( 1 ) .v.v_thing, SP ( 0 ) .v.v_code ); POP; break; case OP_INC: op_inc ( this, SP ( 0 ) ); break; case OP_DEC: op_dec ( this, SP ( 0 ) ); break; case OP_BAND: SP ( 1 ) = op_band ( this, SP ( 1 ), SP ( 0 ) ); POP; break; case OP_BOR: SP ( 1 ) = op_bor ( this, SP ( 1 ), SP ( 0 ) ); POP; break; case OP_XOR: SP ( 1 ) = op_bxor ( this, SP ( 1 ), SP ( 0 ) ); POP; break; case OP_BNOT: SP ( 0 ) = op_bnot ( this, SP ( 0 ) ); break; case OP_SHL: CHECKTYPE ( 0, DT_INTEGER ); CHECKTYPE ( 1, DT_INTEGER ); SP ( 1 ).v.v_integer <<= stk_p->v.v_integer; POP; break; case OP_SHR: CHECKTYPE ( 0, DT_INTEGER ); CHECKTYPE ( 1, DT_INTEGER ); SP ( 1 ).v.v_integer >>= stk_p->v.v_integer; POP; break; case OP_LT: SP ( 1 ) = op_lt ( this, SP ( 1 ), SP ( 0 ) ); POP; break; case OP_LE: SP ( 1 ) = op_le ( this, SP ( 1 ), SP ( 0 ) ); POP; break; case OP_EQ: SP ( 1 ) = ( SP ( 1 ) == SP ( 0 ) ); POP; break; case OP_NE: SP ( 1 ) = op_neq ( this, SP ( 1 ), SP ( 0 ) ); POP; break; case OP_GE: SP ( 1 ) = op_le ( this, SP ( 0 ), SP ( 1 ) ); POP; break; case OP_GT: SP ( 1 ) = op_lt ( this, SP ( 0 ), SP ( 1 ) ); POP; break; case OP_LIT: woperand = getwoperand (); SP ( 0 ) = ( *package->literals ) [ woperand ]; break; case OP_POP: POP; break; case OP_COPY: SP ( 0 ) = SP ( 1 ); break; case OP_DUP2: CHECKSTACK ( 2 ); PUSHN ( 2 ); SP ( 0 ) = SP ( 2 ); SP ( 1 ) = SP ( 3 ); break; case OP_DUP: PUSH ( undefined ); SP ( 0 ) = SP ( 1 ); break; case OP_NEW: opNEW (); break; case OP_LINE: line_num = getwoperand (); break; case OP_EH_PUSH: n = getwoperand (); assert ( eh_pos < ( eh_size-1 ) ); // critical error ++eh_pos; { error_handler *ep = &eh [ eh_pos ]; ep->catch_pc = n; ep->m_stack_pos = m_stack_pos; ep->code = code; ep->frm_p = frm_p; ep->stk_p = stk_p; ep->thrown = undefined; } break; case OP_EH_POP: assert ( eh_pos >= 0 ); // otherwise something wrong pc = cbase + getwoperand (); --eh_pos; break; case OP_THROW: if ( eh_pos >= 0 ) { eh [ eh_pos ] .thrown = SP ( 0 ); throw VM_RTE ( this, SP ( 0 ) ); } else { //TODO throw VM_RTE ( this, "TODO: ALARM! " ); } break; case OP_ENTER: { if ( SP ( 0 ) .v_type != DT_EXT || SP ( 0 ) .v.v_thing->get_class () != MUTEX::INSTANCE::klass ) { error ( "not a mutex" ); } if ( m_stack_pos >= m_stack_size - 1 ) { error ( "too many synchronized blocks" ); } MUTEX::INSTANCE *pmi = ( MUTEX::INSTANCE * ) SP ( 0 ) .v.v_thing; m_stack [ ++m_stack_pos ] = pmi; //POP; !!!! pmi->_m.enter (); } break; case OP_LEAVE: assert ( m_stack_pos >= 0 ); // otherwise something wrong m_stack [ m_stack_pos-- ] ->_m.leave (); break; |
|||
|
62
trdm
22.03.10
✎
17:51
|
Ну что? Кто-то еще хочет сунуться в сорцы? :)))))
|
|||
|
63
sapphire
22.03.10
✎
17:54
|
Дима нас всех сырцпами пугает..
|
|||
|
64
Rjnzhf
22.03.10
✎
17:56
|
(0)гы-гы-гы, клиенты еще на знают, что основные деньги порой делаются как раз на внедрении и поддержке)))
|
|||
|
65
Maniac
22.03.10
✎
17:58
|
(64) знают или не знают - главное подстадить. Клиент не дурак, скажешь ему что поддержка платная, так и в 1С она не бесплтаная.
|
|||
|
66
Maniac
22.03.10
✎
18:00
|
Реально опасный ход.
|
|||
|
67
simol
24.03.10
✎
21:01
|
кто установил?
|
|||
|
68
Злобный Фей
24.03.10
✎
21:28
|
(66) Бугога. Для кого? )
|
|||
|
69
Барбариска
24.03.10
✎
21:55
|
(66) если бы лет 10 назад такой ход.... ))
(67) попробовала ставить с демо-лицензией с диска. что-то не встало, стало лениво разбираться. |
|||
|
70
Maniac
24.03.10
✎
22:02
|
(69) 10 лет назад все ломаное юзали и ничо никого не пугало. да и бизнеса то осбого не было. а сейчас как раз то самое время когда халяву еще как может рынок отбивать.
|
|||
|
71
Барбариска
24.03.10
✎
22:03
|
(70) думаешь, если бы 1С шестерку стала бесплатно раздавать - это был бы реально страшный шаг для конкурентов?
|
|||
|
72
Maniac
24.03.10
✎
22:03
|
да плюс кризис. вы не знаете наверно какой менталитет нынче. тока дай халяву.
вы посмотрите что на инфостарте творится, целые бойни за то чтобы халяву качать. |
|||
|
73
Maniac
24.03.10
✎
22:05
|
(71) а ты убеди клиента что бесплатная галактика чем то хуже. одно слово - бесплатное уже многое перекрывает.
|
|||
|
74
Барбариска
24.03.10
✎
22:10
|
(73) ты ее видел, эту Галактику?
|
|||
|
75
Maniac
24.03.10
✎
22:14
|
(74) неа)) и что?)) зато я месяц назад выбирал системк между битриксом и джумлой. ковырял демо битриксаи джумлу. причем раз пять менял мнение.
битрикс -красота, куча функций, просто сказка, все включено, на русском, дока вся. вроде все легко. джумла- х.з. что, открытый код, куча кривых компонент, все нормальное на англ. языке, куча чего то не работает. и вот так туда сюда ломался. деньги были купить битрикс. в итоге выбрал джумлу как перспективно развивающееся направление, отличающееся от нашей раши. |
|||
|
76
Злой Бобр
25.03.10
✎
16:39
|
Не парьтесь с галактикой. Фигня полная (по крайней мере раньше было). Невзлетит.
|
|||
|
77
Господин ПЖ
25.03.10
✎
16:41
|
(66) очень опасно... спецов нет... кто пытается внедрить халяву - чаще всего хочет и внедрение/сервис "нахаляву". Ну таких в пень
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |