Arrayappend приводит к падениям сервера?

Тема в разделе "Lotus - Программирование", создана пользователем fedotxxl, 25 авг 2009.

  1. fedotxxl

    fedotxxl Well-Known Member

    Регистрация:
    9 ноя 2005
    Сообщения:
    614
    Симпатии:
    0
    Привет, народ
    Мне сейчас доказывают, что arrayAppend очень плохая функция, которая приводят к падениям сервера и предлагают использовать самописную. Так ли это? Если сервер падает из-за arrayAppend'a, то как это можно вычислить в nsd?
     
  2. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    не сталкивался...
    замени на самописную ;)

    а еще проверь нет ли конструкций типа
    Код (Text):
    call sub1(param1, func1(param2))
    т.е. таких где параметром функции/процедуры (sub1) служит результат возвращаемый другой функцией (func1)
    такие конструкции лучше заменить на конструкции типа
    Код (Text):
    par3 = func1(param2)
    call sub1(param1, par3)
    причем я не помню точно, нужно ли это только для самописных функций или для нотесовых тоже...

    может у тебя параметром ArrayAppend какая-то своя функция указана? :)
     
  3. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Помнится, когда-то (когда R6 был сильно актуален) я замечал какой-то косяк за ArrayAppend.
    Но сейчас уже и не вспомню что там было.
    Сейчас в коде довольно часто использую и, можно сказать, доволен.
    Падений сервака из-за ArrayAppend не замечал.
     
  4. fedotxxl

    fedotxxl Well-Known Member

    Регистрация:
    9 ноя 2005
    Сообщения:
    614
    Симпатии:
    0
    Akupaka
    Я не думаю, что падает из-за arrayAppend. Просто мне утверждают оное не приводя никаких доводов. Вот я и решил спросить
     
  5. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.047
    Симпатии:
    18
    подтверждаю
    уронить просто
    попробуйте с помощью этой функции соединить стринговый массив и датовый
    6-ка падала однозначно и шустро

    nsd может успеть ругнуться с ошибкой incorect data types

    а вообще я этой функцией пользуюсь регулярно, только немного обжёгся, зато научил, всё точно ей подсовывать
    простой пример первое применение этой функции
    dim vmas as variant, s(0) as string
    vmas = s ' тут мы уже подготовили переменную к arrayappend
    vmas = fulltrim(arrayappend(vmas, vmas2)) ' и уже никаких падений сервера

    самое важное это лишь правильно подготовить массивы к слиянию, разнотипность в 50% убивает сервер
     
  6. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.083
    Симпатии:
    300
    я variant "готовлю" через split, хотя - непринцыпиально ;)
     
  7. TIA

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    Запрос по партнёрке с ключевым словом ArrayAppend дал следующее

    1.U​s​i​n​g​ ​t​h​e​ ​L​o​t​u​s​S​c​r​i​p​t​ ​A​r​r​a​y​A​p​p​e​n​d​ ​f​u​n​c​t​i​o​n​ ​t​o​ ​a​p​p​e​n​d​ ​a​ ​d​a​t​e​ ​t​i​m​e​ ​v​a​l​u​e​ ​e​i​t​h​e​r​ ​a​p​p​e​n​d​s​ ​a​ ​b​l​a​n​k​ ​v​a​l​u​e​ ​o​r​ ​c​a​u​s​e​s​ ​a​ ​c​r​a​s​h
    U​s​i​n​g​ ​t​h​e​ ​L​o​t​u​s​S​c​r​i​p​t​ A​r​r​a​y​A​p​p​e​n​d ​f​u​n​c​t​i​o​n​ ​t​o​ ​a​p​p​e​n​d​ ​a​ ​D​a​t​e​ ​T​i​m​e​ ​V​a​l​u​e​ ​e​i​t​h​e​r​ ​a​p​p​e​n​d​s​ ​a​ ​b​l​a​n​k​ ​v​a​l​u​e​ ​o​r​ ​c​a​u​s​e​s​ ​a​ ​c​r​a​s​h​.​ ​A​t​t​e​m​p​t​i​n​g​ ​t​o​ ​a​p​p​e​n​d​ ​a​ ​N​o​t​e​s​D​a​t​e​T​i​m​e​ ​o​b​j​e​c​t​ ​a​p​p​e​n​d​s​ ​a​ ​n​u​l​l​ ​v​a​l​u​e​.​ ​A​t​t​e​m​p​t​i​n​g​ ​t​o​ ​p​a​s​s​ ​t​h​e​ ​N​o​w​ ​f​u​n​c​t​i​o​n​ ​o​r​ ​T​o​d​a​y​ ​f​u​n​c​t​i​o​n​ ​r​e​s​u​l​t​s​ ​i​n​ ​a​ ​c​r​a​s​h​.

    2.L​O​3​9​3​8​5​:​ ​A​R​R​A​Y​A​P​P​E​N​D​ ​H​A​N​G​U​P​ ​W​H​E​N​ ​2​N​D​ ​A​R​G​U​M​E​N​T​ ​I​S​ ​A​ ​F​U​N​C​T​I​O​N​ ​C​A​L​L​ ​T​H​A​T​ ​H​A​N​D​L​E​S​ ​E​R​R​O​R​ ​A​N​D​ ​R​E​T​U​R​N​S​ ​E​M​P​T​Y
    W​h​e​n​ ​t​h​e​ ​s​e​c​o​n​d​ ​a​r​g​u​m​e​n​t​ ​t​o​ A​r​r​a​y​A​p​p​e​n​d ​i​s​ ​a​ ​f​u​n​c​t​i​o​n​ ​c​a​l​l​,​ ​a​n​d​ ​t​h​e​ ​f​u​n​c​t​i​o​n

    3.S​P​R​#​ ​C​G​A​A​6​6​S​G​M​9​ ​-​ ​F​i​x​e​d​ ​a​ ​c​r​a​s​h​ ​t​h​a​t​ ​o​c​c​u​r​r​e​d​ ​w​h​e​n​ ​t​h​e​ ​s​e​c​o​n​d​ ​a​r​g​u​m​e​n​t​ ​o​f​ ​a​n​ A​r​r​a​y​A​p​p​e​n​d ​w​a​s​ ​a​n​ ​o​b​j​e​c​t​ ​o​r​ ​a​ ​d​a​t​e​ ​v​a​r​i​a​n​t​.​ ​I​n​s​t​e​a​d​ ​o​f​ ​a​ ​c​r​a​s​h​,​ ​t​h​e​ ​f​o​l​l​o​w​i​n​g​ ​e​r​r​o​r​ ​m​e​s​s​a​g​e​ ​w​i​l​l​ ​b​e​ ​r​e​t​u​r​n​e​d​ ​"​N​o​t​e​s​I​t​e​m​ ​c​a​n​n​o​t​ ​b​e​ ​s​e​t​ ​t​o​ ​a​n​ ​a​r​r​a​y​ ​o​f​ ​m​i​x​e​d​ ​d​a​t​a​ ​t​y​p​e​s​.​.​.​.​"​.

    4.P​a​s​s​i​n​g​ ​a​ ​L​o​t​u​s​S​c​r​i​p​t​ ​l​a​n​g​u​a​g​e​ ​a​r​r​a​y​ ​f​u​n​c​t​i​o​n​ ​a​s​ ​a​ ​p​a​r​a​m​e​t​e​r​ ​f​o​r​ ​a​ ​f​u​n​c​t​i​o​n​ ​o​r​ ​a​ ​s​u​b​r​o​u​t​i​n​e​ ​c​a​u​s​e​s​ ​a​ ​h​a​n​g​ ​o​r​ ​c​r​a​s​h
    T​h​e​ ​i​s​s​u​e​ ​i​s​ ​k​n​o​w​n​ ​t​o​ ​o​c​c​u​r​ ​i​f​ ​a​n​y​ ​o​f​ ​t​h​e​ ​f​o​l​l​o​w​i​n​g​ ​i​s​ ​p​a​s​s​e​d​ ​a​s​ ​a​ ​p​a​r​a​m​e​t​e​r​ ​i​n​ ​a​ ​s​u​b​r​o​u​t​i​n​e​ ​o​r​ ​f​u​n​c​t​i​o​n​:​ A​r​r​a​y​A​p​p​e​n​d,​ ​A​r​r​a​y​G​e​t​I​n​d​e​x​,​ ​A​r​r​a​y​R​e​p​l​a​c​e​,​ ​o​r​ ​F​u​l​l​t​r​i​m​.
     
  8. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Вообщем, если юзать с умом (однотипные данные, не передавать ф-ию как параметр), похоже, проблемы не ожидаются.
    А если мочить к дате стринг, а сверху ещё и номерок приплюсовать или подать ф-ию, то, боюсь, и самопальная ф-ия может скочевряжиться ;)
     
  9. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.047
    Симпатии:
    18
    TIA
    в запросе понял только в конце про FullTrim ;)
     
Загрузка...
Похожие Темы - Arrayappend приводит падениям
  1. Lariel
    Ответов:
    5
    Просмотров:
    3.535

Поделиться этой страницей