• Codeby web-security - Курс "Тестирование Веб-Приложений на проникновение с нуля" от команды codeby. Общая теория, подготовка рабочего окружения, пассивный фазинг и фингерпринт, Активный фаззинг, Уязвимости, Пост-эксплуатация, Инструментальные средства, Social Engeneering и многое другое. Подробнее ...

  • Мобильный клиент нашего форума для Android гаджетов доступен в Google Play Market по этой ссылке. Клиент можно скачать с нашего форума по этой ссылке. Последняя версия МК в нашем телеграм канале вот здесь

Attach icon

PeNgViN213

Well-known member
01.07.2017
69
0
#1
Добрый день!
Подскажите такую вещь, написал агента который прикрепляет файлы к документу в поле "docAttach". Но после прикрепления он отображается вот так 1531903273253.png .
Возможно ли как-то сделать, чтобы прикрепленный файл отображался вот таким образом 1531903391021.png ?
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 693
307
#2
Добрый день!
Подскажите такую вещь, написал агента который прикрепляет файлы к документу в поле "docAttach". Но после прикрепления он отображается вот так Посмотреть вложение 20420 .
Возможно ли как-то сделать, чтобы прикрепленный файл отображался вот таким образом Посмотреть вложение 20421 ?
возможно - поле д.б. типа РТ и отображать как майм (галочка в сво-вах формы)
отображение будет соответствовать зареганому типу в системе (если на серевер зареган ЛибраОфис, то код на сервере даст отображение его иконки, на клиенте будет свой)
Код:
Class HashMap As ErrorHandler
    Private hMap List As String
    Function put(key As String, xVal As String)
        On Error GoTo ErrH
        hMap(key)=xVal
Quit:
        Exit Function
ErrH:
        Error Err, RaiseError
    End Function

    Function get(key) As String
        On Error GoTo ErrH
        Me.Get=hMap(key)
Quit:
        Exit Function
ErrH:
        Error Err, RaiseError
    End Function
End Class
....
Sub Initialize
    CodePage="UTF-8"
    Set map=New HashMap()
    FillMimeTypes
End Sub
....
Function EmbedFile(fName As String, doc As NotesDocument, xField As String)
    On Error GoTo ErrH
    EmbedFile = False
    Dim session As New NotesSession
    Dim db As NotesDatabase
    Dim body As NotesMIMEEntity
    Dim header As NotesMIMEHeader
    Dim child As NotesMIMEEntity
    Dim stream As NotesStream
    Dim fileFormat As String
    Dim rtitemA As NotesRichTextItem
    Dim rtitemB As NotesRichTextItem

    session.Convertmime = false
    Set db = doc.parentdatabase
    Set stream = session.CreateStream
    Call stream.Open(fName)

    Set body = doc.CreateMIMEEntity(xField)
    fileFormat = map.get(StrRightBack(fName,{.}))
    Print {File Format:} fileformat
    Set child = body.createChildEntity()
    Set header=child.createHeader("Content-Disposition")
    header.setHeaderVal({attachment; filename="} + fName + {"})
    child.setContentFromBytes stream, fileFormat, ENC_IDENTITY_BINARY

    Call stream.Close()
    EmbedFile = True
Quit:
    Exit Function
ErrH:
    Error Err, RaiseError
End Function
...
Private Function FillMimeTypes()
    On Error GoTo ErrH
    map.put "323","text/h323"
    map.put"acx","application/internet-property-stream"
    map.put"ai","application/postscript"
    map.put"aif","audio/x-aiff"
    map.put"aifc","audio/x-aiff"
    map.put"aiff","audio/x-aiff"
    map.put"asf","video/x-ms-asf"
    map.put"asr","video/x-ms-asf"
    map.put"asx","video/x-ms-asf"
    map.put"au","audio/basic"
    map.put"avi","video/x-msvideo"
    map.put"axs","application/olescript"
    map.put"bas","text/plain"
    map.put"bcpio","application/x-bcpio"
    map.put"bin","application/octet-stream"
    map.put"bmp","image/bmp"
    map.put"c","text/plain"
    map.put"cat","application/vnd.ms-pkiseccat"
    map.put"cdf","application/x-cdf"
    map.put"cer","application/x-x509-ca-cert"
    map.put"class","application/octet-stream"
    map.put"clp","application/x-msclip"
    map.put"cmx","image/x-cmx"
    map.put"cod","image/cis-cod"
    map.put"cpio","application/x-cpio"
    map.put"crd","application/x-mscardfile"
    map.put"crl","application/pkix-crl"
    map.put"crt","application/x-x509-ca-cert"
    map.put"csh","application/x-csh"
    map.put"css","text/css"
    map.put"dcr","application/x-director"
    map.put"der","application/x-x509-ca-cert"
    map.put"dir","application/x-director"
    map.put"dll","application/x-msdownload"
    map.put"dms","application/octet-stream"
    map.put"doc","application/msword"
    map.put"dot","application/msword"
    map.put"dvi","application/x-dvi"
    map.put"dxr","application/x-director"
    map.put"eps","application/postscript"
    map.put"etx","text/x-setext"
    map.put"evy","application/envoy"
    map.put"exe","application/octet-stream"
    map.put"fif","application/fractals"
    map.put"flr","x-world/x-vrml"
    map.put"gif","image/gif"
    map.put"gtar","application/x-gtar"
    map.put"gz","application/x-gzip"
    map.put"h","text/plain"
    map.put"hdf","application/x-hdf"
    map.put"hlp","application/winhlp"
    map.put"hqx","application/mac-binhex40"
    map.put"hta","application/hta"
    map.put"htc","text/x-component"
    map.put"htm","text/html"
    map.put"html","text/html"
    map.put"htt","text/webviewhtml"
    map.put"ico","image/x-icon"
    map.put"ief","image/ief"
    map.put"iii","application/x-iphone"
    map.put"ins","application/x-internet-signup"
    map.put"isp","application/x-internet-signup"
    map.put"jfif","image/pipeg"
    map.put"jpe","image/jpeg"
    map.put"jpeg","image/jpeg"
    map.put"jpg","image/jpeg"
    map.put"js","application/x-javascript"
    map.put"latex","application/x-latex"
    map.put"lha","application/octet-stream"
    map.put"lsf","video/x-la-asf"
    map.put"lsx","video/x-la-asf"
    map.put"lzh","application/octet-stream"
    map.put"m13","application/x-msmediaview"
    map.put"m14","application/x-msmediaview"
    map.put"m3u","audio/x-mpegurl"
    map.put"man","application/x-troff-man"
    map.put"mdb","application/x-msaccess"
    map.put"me","application/x-troff-me"
    map.put"mht","message/rfc822"
    map.put"mhtml","message/rfc822"
    map.put"mid","audio/mid"
    map.put"mny","application/x-msmoney"
    map.put"mov","video/quicktime"
    map.put"movie","video/x-sgi-movie"
    map.put"mp2","video/mpeg"
    map.put"mp3","audio/mpeg"
    map.put"mpa","video/mpeg"
    map.put"mpe","video/mpeg"
    map.put"mpeg","video/mpeg"
    map.put"mpg","video/mpeg"
    map.put"mpp","application/vnd.ms-project"
    map.put"mpv2","video/mpeg"
    map.put"ms","application/x-troff-ms"
    map.put"mvb","application/x-msmediaview"
    map.put"nws","message/rfc822"
    map.put"oda","application/oda"
    map.put"p10","application/pkcs10"
    map.put"p12","application/x-pkcs12"
    map.put"p7b","application/x-pkcs7-certificates"
    map.put"p7c","application/x-pkcs7-mime"
    map.put"p7m","application/x-pkcs7-mime"
    map.put"p7r","application/x-pkcs7-certreqresp"
    map.put"p7s","application/x-pkcs7-signature"
    map.put"pbm","image/x-portable-bitmap"
    map.put"pdf","application/pdf"
    map.put"pfx","application/x-pkcs12"
    map.put"pgm","image/x-portable-graymap"
    map.put"pko","application/ynd.ms-pkipko"
    map.put"pma","application/x-perfmon"
    map.put"pmc","application/x-perfmon"
    map.put"pml","application/x-perfmon"
    map.put"pmr","application/x-perfmon"
    map.put"pmw","application/x-perfmon"
    map.put"pnm","image/x-portable-anymap"
    map.put"pot,","application/vnd.ms-powerpoint"
    map.put"ppm","image/x-portable-pixmap"
    map.put"pps","application/vnd.ms-powerpoint"
    map.put"ppt","application/vnd.ms-powerpoint"
    map.put"prf","application/pics-rules"
    map.put"ps","application/postscript"
    map.put"pub","application/x-mspublisher"
    map.put"qt","video/quicktime"
    map.put"ra","audio/x-pn-realaudio"
    map.put"ram","audio/x-pn-realaudio"
    map.put"ras","image/x-cmu-raster"
    map.put"rgb","image/x-rgb"
    map.put"rmi","audio/mid"
    map.put"roff","application/x-troff"
    map.put"rtf","application/rtf"
    map.put"rtx","text/richtext"
    map.put"scd","application/x-msschedule"
    map.put"sct","text/scriptlet"
    map.put"setpay","application/set-payment-initiation"
    map.put"setreg","application/set-registration-initiation"
    map.put"sh","application/x-sh"
    map.put"shar","application/x-shar"
    map.put"sit","application/x-stuffit"
    map.put"snd","audio/basic"
    map.put"spc","application/x-pkcs7-certificates"
    map.put"spl","application/futuresplash"
    map.put"src","application/x-wais-source"
    map.put"sst","application/vnd.ms-pkicertstore"
    map.put"stl","application/vnd.ms-pkistl"
    map.put"stm","text/html"
    map.put"svg","image/svg+xml"
    map.put"sv4cpio","application/x-sv4cpio"
    map.put"sv4crc","application/x-sv4crc"
    map.put"swf","application/x-shockwave-flash"
    map.put"t","application/x-troff"
    map.put"tar","application/x-tar"
    map.put"tcl","application/x-tcl"
    map.put"tex","application/x-tex"
    map.put"texi","application/x-texinfo"
    map.put"texinfo","application/x-texinfo"
    map.put"tgz","application/x-compressed"
    map.put"tif","image/tiff"
    map.put"tiff","image/tiff"
    map.put"tr","application/x-troff"
    map.put"trm","application/x-msterminal"
    map.put"tsv","text/tab-separated-values"
    map.put"txt","text/plain"
    map.put"uls","text/iuls"
    map.put"ustar","application/x-ustar"
    map.put"vcf","text/x-vcard"
    map.put"vrml","x-world/x-vrml"
    map.put"wav","audio/x-wav"
    map.put"wcm","application/vnd.ms-works"
    map.put"wdb","application/vnd.ms-works"
    map.put"wks","application/vnd.ms-works"
    map.put"wmf","application/x-msmetafile"
    map.put"wps","application/vnd.ms-works"
    map.put"wri","application/x-mswrite"
    map.put"wrl","x-world/x-vrml"
    map.put"wrz","x-world/x-vrml"
    map.put"xaf","x-world/x-vrml"
    map.put"xbm","image/x-xbitmap"
    map.put"xla","application/vnd.ms-excel"
    map.put"xlc","application/vnd.ms-excel"
    map.put"xlm","application/vnd.ms-excel"
    map.put"xls","application/vnd.ms-excel"
    map.put"xlt","application/vnd.ms-excel"
    map.put"xlw","application/vnd.ms-excel"
    map.put"xof","x-world/x-vrml"
    map.put"xpm","image/x-xpixmap"
    map.put"xwd","image/x-xwindowdump"
    map.put"z","application/x-compress"
    map.put"zip","application/zip"
    map.put".xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
    map.put".xltx","application/vnd.openxmlformats-officedocument.spreadsheetml.template"
    map.put".xlsm","application/vnd.ms-excel.sheet.macroEnabled.12"
    map.put".xltm","application/vnd.ms-excel.template.macroEnabled.12"
    map.put".xlam","application/vnd.ms-excel.addin.macroEnabled.12"
    map.put".xlsb","application/vnd.ms-excel.sheet.binary.macroEnabled.12"
    map.put".pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation"
    map.put".potx","application/vnd.openxmlformats-officedocument.presentationml.template"
    map.put".ppsx","application/vnd.openxmlformats-officedocument.presentationml.slideshow"
    map.put".ppam","application/vnd.ms-powerpoint.addin.macroEnabled.12"
    map.put".pptm","application/vnd.ms-powerpoint.presentation.macroEnabled.12"
    map.put".potm","application/vnd.ms-powerpoint.template.macroEnabled.12"
    map.put".ppsm","application/vnd.ms-powerpoint.slideshow.macroEnabled.12"

Quit:
    Exit Function
ErrH:
End Function
использование
Код:
%REM
    Agent test\AttachDoc
    Created Jul 18, 2018 by Mikhail Cholokov/CRUINTERNET
    Description: Comments for Agent
%END REM
Option Public
Option Declare
Use "AttachmentUtils"
Sub Initialize
    On Error GoTo ErrH
    Dim doc As NotesDocument, db As NotesDatabase, wks As New NotesUIWorkspace
    Set db=wks.Currentdatabase.Database
    Set doc=db.Createdocument()
    'log form should be in DB
    doc.ReplaceItemValue {form},{Log}
    Dim path As String
    path={%TEMP%\test.doc}
    'RT field name - body
    EmbedFile path, doc, {body}
    'essentially - it have to be here to avoid save
    doc.Computewithform false, false
    wks.Editdocument False, doc
Quit:
    Exit sub
ErrH:
    Error Err,RaiseError
End Sub
в примере док инмемори, без сохранения на диск! нюанс с Computewithform важен (иначе РТ не отобразится, без сохранения дока "на диск")
java (с его оригинала и взято) я выкладывать, типы маймов тоже были из java (я адаптировал код для ЛС)
повторный аттач в поле не будет работать (ругнется на присутсвие айтема), т.е. body надо будет хачить в доке! если захочется новый аттач внебенить в док
 
Последнее редактирование:
Симпатии: Понравилось VladSh

VladSh

начинающий
Lotus team
11.12.2009
1 307
13
#3
@lmike
Если прикреплять в UI, то галочка "Mime" ведь необязательна.
У меня как-то "случайно" возник баг - добавляю вложение в UI, но после сохранения его иконка становится серой и, кроме того, вложение "раздваивалось" (отображалось и в поле, и внизу формы). Причина была в том, что я вынес RT-поле, в которое вставлял файл, на подформу... Вернул на форму и всё стало Ok.

А что в {body} может передаваться?

И что будет, если не делать ComputeWithForm, а просто сохранить док, форматирование останется?
 
Последнее редактирование:

VladSh

начинающий
Lotus team
11.12.2009
1 307
13
#4
lmike
offtop: я в свой аналог
HashMap добавлял свойство Count - приятная плюшка :)
 

PeNgViN213

Well-known member
01.07.2017
69
0
#5
я конечно не такой про, как Вы)) я так понял это ScriptLibrary? я добавляю у меня ошибка ErrorHadler
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 693
307
#6
я конечно не такой про, как Вы)) я так понял это ScriptLibrary? я добавляю у меня ошибка ErrorHadler
отвечайте на пост - иначе я не узнаю что был ответ, без захода на страницу
профи быть необязательно ;) - это обертка по обработке ошибок, можете просто убрать и в обработке поставить свой код (где RaiseError)
я выкладывал либу с обработкой здесь..., но смысла не вижу - у каждого она своя
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 693
307
#7
Если прикреплять в UI, то галочка "Mime" ведь необязательна.
разумеется, но этот код для бэкэнда, во фронт вынесено для наглядности
А что в {body} может передаваться?
если вопрос про поле - имя поля любое РТ, если про содержимое поля - желательно пустое (если поле будет на форме - придется мудрить с переносом РТ в др. РТ)
И что будет, если не делать ComputeWithForm, а просто сохранить док, форматирование останется?
сохранение даст тот же эффект, а вот если ничего не делать (ни компуте ни сохранение) - то просто не отобразит во фронте
здесь сделан инмемори - потому и нет сохранения
 

PeNgViN213

Well-known member
01.07.2017
69
0
#9
отвечайте на пост - иначе я не узнаю что был ответ, без захода на страницу
профи быть необязательно ;) - это обертка по обработке ошибок, можете просто убрать и в обработке поставить свой код (где RaiseError)
я выкладывал либу с обработкой здесь..., но смысла не вижу - у каждого она своя
Библиотеку добавил, ну что-то не пойму, не работает.... =((
вот мой код:
Код:
Sub Initialize
    Dim ws As New NotesUIWorkspace
    Dim ses As New NotesSession
    Dim db As NotesDatabase
    Dim col As NotesDocumentCollection
    Dim doc As NotesDocument
    Dim rtitem As Variant
    Dim newrtitem As Variant
    Dim object As NotesEmbeddedObject
    Dim j As Integer
    Dim files As Variant
    
    Set db=ses.currentdatabase
    Set col=db.unprocesseddocuments
    Set doc=col.getfirstdocument
    
    While Not doc Is Nothing
        Set rtitem = doc.GetFirstItem("docAttach")
        If (rtitem.Type = RICHTEXT) Then
            ForAll o In rtitem.EmbeddedObjects
                If ( o.Type = EMBED_ATTACHMENT ) then
                    Call o.ExtractFile ("D:\red\" + o.Name)
                End If
                Print "-----> " & o.Name & " unload"
            End ForAll
        End If
        
        Call rtitem.Remove()
        Call doc.Save(True, True)
        
        Set newrtitem = New NotesRichTextItem(doc, "docAttach" )
        files = ws.OpenFileDialog(True, "Выберите файл","|All Files|*.*","D:\red\")
        If Not(IsEmpty(files)) Then
            ForAll i In files
                Set object = newrtitem.EmbedObject(EMBED_ATTACHMENT, "", i)
            End ForAll
        End If
        Call doc.Save(True, True)
        Set doc=col.getnextdocument(doc)
    Wend
End Sub
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 693
307
#10
Библиотеку добавил, ну что-то не пойму, не работает.... =((
вот мой код:...
ваш код работать не будет!
мой код работает, яж выкладывал рабочий вариант

ваш код, просто с приложением аттача, не работает по очень простой причине - никто не говорит домине какой майм тип загружать
Вариант с ДХЛ я даже предлагать не стану - оверинжениринг будет

желтый заголовок ;)"Предыстория грандиозного нае..лова от МС"

В стародавние времена, когда звери жили как добрые соседи никому в голову не приходило, что файлы могут быть идентифицированы по содержимому (ибо
Для просмотра контента необходимо: Войти или зарегистрироваться
), и затраты на анализ были бы чрезмерными.
В современных реалиях, в системах нет необходимости быть привязанными к так называемому "расширению" (наследие DOS и прочих устаревших систем).
Задумайтесь на секунду - файлы называют как не попадя, включая национальные алфавиты и только долбаное расширение должно, по какой-то странной причине, определять содержимое файла
В системах типа виндядки этот трэш считается нормой и переименовав файл можно вызвать джина запуск программы, которая, о чудо, не опознает формат ;)
Так вот, дорогие мои "маленькие любители винды" коллеги, расширение - это нонсенс и присутствует "чиста" по привычке.
Системы опираются на майм тип и анализ заголовка файла (как пример - в линухах пофиг расширение файла, в большинстве ситуаций и картинка "соответствует" содержимому или назначенному майм типу, в умолчальных "файл браузерах")

Т.о. либо при интерактивном взаимодействии с ОС будет определена иконка для файла (в соответствии с майм или как в винде - умолчальным расширением, а уже потом майм), либо никак (только руками)
При формировании майм - мы проходим эту процедуру без интерактива (на уровне библиотек системы) и получаем иконку ср-ваи библиотек ОС, а EmbedObject это из ДОСовской эпохи (где об иконках для файлов даже не икали)

Теперь о сути - что не получилось с огрызками моей библиотеки?

упомяну ряд допущений в моем коде:
- либа не анализирует имя файла на предмет слэшей и прочей хери (а надобы), и имя формируется как есть (это неправильно, надо - StrRightBack(fName,{\}), для виндядко)
- в примере я засовываю файл по пути системной переменной (в темпы), а она специфична только для винды
- по-хорошему - либа должна манипулировать только стримом и получать имя файла (для атача)
 
Последнее редактирование:
Симпатии: Понравилось VladSh

VladSh

начинающий
Lotus team
11.12.2009
1 307
13
#11
В стародавние времена, когда звери жили как добрые соседи
Аудио-сказки дядюшки Римуса? :)

P.S. Подрежь, плз, цитированный код в сообщении, можно просто многоточие поставить, и так видно на какое сообщение цитирование.
 
Последнее редактирование:

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 693
307
#12

VladSh

начинающий
Lotus team
11.12.2009
1 307
13
#13

PeNgViN213

Well-known member
01.07.2017
69
0
#14
ваш код работать не будет!
мой код работает, яж выкладывал рабочий вариант

ваш код, просто с приложением аттача, не работает по очень простой причине - никто не говорит домине какой майм тип загружать
Вариант с ДХЛ я даже предлагать не стану - оверижениринг будет

желтый заголовок ;)"Предыстория грандиозного нае..лова от МС"

В стародавние времена, когда звери жили как добрые соседи никому в голову не приходило, что файлы могут быть идентифицированы по содержимому (ибо
Для просмотра контента необходимо: Войти или зарегистрироваться
), и затраты на анализ были бы чрезмерными.
В современных реалиях, в системах нет необходимости быть привязанными к так называемому "расширению" (наследие DOS и прочих устаревших систем).
Задумайтесь на секунду - файлы называют как не попадя, включая национальные алфавиты и только долбаное расширение должно, по какой-то странной причине, определять содержимое файла
В системах типа виндядки этот трэш считается нормой и переименовав файл можно вызвать джина запуск программы, которая, о чудо, не опознает формат ;)
Так вот, дорогие мои "маленькие любители винды" коллеги, расширение - это нонсенс и присутствует "чиста" по привычке.
Системы опираются на майм тип и анализ заголовка файла (как пример - в линухах пофиг расширение файла, в большинстве ситуаций и картинка "соответствует" содержимому или назначенному майм типу, в умолчальных "файл браузерах")

Т.о. либо при интерактивном взаимодействии с ОС будет определена иконка для файла (в соответствии с майм или как в винде - умолчальным расширением, а уже потом майм), либо никак (только руками)
При формировании майм - мы проходим эту процедуру без интерактива (на уровне библиотек системы) и получаем иконку ср-ваи библиотек ОС, а EmbedObject это из ДОСовской эпохи (где об иконках для файлов даже не икали)

Теперь о сути - что не получилось с огрызками моей библиотеки?

упомяну ряд допущений в моем коде:
- либа не анализирует имя файла на предмет слэшей и прочей хери (а надобы), и имя формируется как есть (это неправильно, надо - StrRightBack(fName,{\}), для виндядко)
- в примере я засовываю файл по пути системной переменной (в темпы), а она специфична только для винды
- по-хорошему - либа должна манипулировать только стримом и получать имя файла (для атача)
Ваш код будет работать, для коллекции документов, без ui?
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 693
307
#15
Ваш код будет работать, для коллекции документов, без ui?
он для того и создан, просто сохраняйте док
у меня на сервере так загружаются аттачи через браузер, и картинки присутствуют в доках (там где через майм), сервер на линухах, аттачи формируются программно
1531994821576.png
как видим - иконка не серая, а что у меня там привязано - я не помно (может и либры нет, даже)
 

PeNgViN213

Well-known member
01.07.2017
69
0
#16
он для того и создан, просто сохраняйте док
у меня на сервере так загружаются аттачи через браузер, и картинки присутствуют в доках (там где через майм), сервер на линухах, аттачи формируются программно
Посмотреть вложение 20435
как видим - иконка не серая, а что у меня там привязано - я не помно (может и либры нет, даже)
я добавил вашу либу и код, не работает у меня... 1531995739909.png Ругается на либу..
Тем более я запускаю код через Actions
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 693
307
#17
поставьте обработку ошибок!
вы никогда не используете обработку?
сделайте замену в моем коде, где обработка ошибок
Код:
ErrH:
    Error Err,Cstr(Err)&Chr(10)&GetThreadInfo(LSI_THREAD_MODULE)&{:}&GetThreadInfo(LSI_THREAD_PROC)&{->l.} &Cstr(Erl) & {[}&Error$&{]} 'RaiseError
 

VladSh

начинающий
Lotus team
11.12.2009
1 307
13
#18
PeNgViN213
Какая-то элементарнейшая ошибка. Дойдите отладчиком до места ошибки, потом можно будет понять, в чём дело.

Добавлено: о, уже есть ответ! Раздел оживился! :)
 

PeNgViN213

Well-known member
01.07.2017
69
0
#20
1532000735893.png
что-то я делаю не то? Я до этого никогда с библиотеками не сталкивался...
 
Вверх Снизу