Targetdir is undefined the directory table seems malformed что делать
Techyv.com
TARGETDIR is undefined, the Directory table seems malformed
I am working with digital photo album for my collection of the shoot I did from a pictorial session.
When I need to edit some photos, I decided to use photo shop.
When I was about to install it, in the middle of the process there is an error that pops up on my screen that says target directory is undefined, and the target table is malformed.
TARGETDIR is undefined, the Directory table seems malformed. Aborting…
After seeing this message it thought I used a defective CD installer, but when I tried it to other computer it installed properly.
I suspected my drive is faulty, so I run scan disk to check for some bad sectors, but nothing was found, I am running out of ideas on this error.
Please share some ideas.
TARGETDIR is undefined, the Directory table seems malformed
Sorry to hear about the problem you are facing with this installer. You just try these steps; hope your problem will be resolved.
Make sure you are logged as administrator, run the installer again, if installer did not work then copy the CD to a folder in your hard drive and try to install from hard drive. If all in vain then problem in your operating system and you will need to rebuild.
Create a new Virtual CD and try to install from Virtual Drive instead of original CD Drive.
Ошибки в JavaScript и как их исправить
JavaScript может быть кошмаром при отладке: некоторые ошибки, которые он выдает, могут быть очень трудны для понимания с первого взгляда, и выдаваемые номера строк также не всегда полезны. Разве не было бы полезно иметь список, глядя на который, можно понять смысл ошибок и как исправить их? Вот он!
Ниже представлен список странных ошибок в JavaScript. Разные браузеры могут выдавать разные сообщения об одинаковых ошибках, поэтому приведено несколько примеров там, где возможно.
Как читать ошибки?
Перед самим списком, давайте быстро взглянем на структуру сообщения об ошибке. Понимание структуры помогает понимать ошибки, и вы получите меньше проблем, если наткнетесь на ошибки, не представленные в этом списке.
Типичная ошибка из Chrome выглядит так:
Теперь к самим ошибкам.
Uncaught TypeError: undefined is not a function
Связанные ошибки: number is not a function, object is not a function, string is not a function, Unhandled Error: ‘foo’ is not a function, Function Expected
Возникает при попытке вызова значения как функции, когда значение функцией не является. Например:
Эта ошибка обычно возникает, если вы пытаетесь вызвать функцию для объекта, но опечатались в названии.
Другие вариации, такие как “number is not a function” возникают при попытке вызвать число, как будто оно является функцией.
Как исправить ошибку: убедитесь в корректности имени функции. Для этой ошибки, номер строки обычно указывает в правильное место.
Uncaught ReferenceError: Invalid left-hand side in assignment
Связанные ошибки: Uncaught exception: ReferenceError: Cannot assign to ‘functionCall()’, Uncaught exception: ReferenceError: Cannot assign to ‘this’
Вызвано попыткой присвоить значение тому, чему невозможно присвоить значение.
Наиболее частый пример этой ошибки — это условие в if:
В этом примере программист случайно использовал один знак равенства вместо двух. Выражение “left-hand side in assignment” относится к левой части знака равенства, а, как можно видеть в данном примере, левая часть содержит что-то, чему нельзя присвоить значение, что и приводит к ошибке.
Uncaught TypeError: Converting circular structure to JSON
Связанные ошибки: Uncaught exception: TypeError: JSON.stringify: Not an acyclic Object, TypeError: cyclic object value, Circular reference in value argument not supported
Так как a и b в примере выше имеют ссылки друг на друга, результирующий объект не может быть приведен к JSON.
Как исправить ошибку: удалите циклические ссылки, как в примере выше, из всех объектов, которые вы хотите сконвертировать в JSON.
Unexpected token ;
Связанные ошибки: Expected ), missing ) after argument list
Интерпретатор JavaScript что-то ожидал, но не обнаружил там этого. Обычно вызвано пропущенными фигурными, круглыми или квадратными скобками.
Токен в данной ошибке может быть разным — может быть написано “Unexpected token ]”, “Expected <” или что-то еще.
Как исправить ошибку: иногда номер строки не указывает на правильное местоположение, что затрудняет исправление ошибки.
Ошибка с [ ] < >( ) обычно вызвано несовпадающей парой. Проверьте, все ли ваши скобки имеют закрывающую пару. В этом случае, номер строки обычно указывает на что-то другое, а не на проблемный символ.
Unexpected / связано с регулярными выражениями. Номер строки для данного случая обычно правильный.
Unexpected; обычно вызвано символом; внутри литерала объекта или массива, или списка аргументов вызова функции. Номер строки обычно также будет верным для данного случая.
Uncaught SyntaxError: Unexpected token ILLEGAL
Связанные ошибки: Unterminated String Literal, Invalid Line Terminator
В строковом литерале пропущена закрывающая кавычка.
Как исправить ошибку: убедитесь, что все строки имеют правильные закрывающие кавычки.
Uncaught TypeError: Cannot read property ‘foo’ of null, Uncaught TypeError: Cannot read property ‘foo’ of undefined
Связанные ошибки: TypeError: someVal is null, Unable to get property ‘foo’ of undefined or null reference
Попытка прочитать null или undefined так, как будто это объект. Например:
Как исправить ошибку: обычно вызвано опечатками. Проверьте, все ли переменные, использованные рядом со строкой, указывающей на ошибку, правильно названы.
Uncaught TypeError: Cannot set property ‘foo’ of null, Uncaught TypeError: Cannot set property ‘foo’ of undefined
Связанные ошибки: TypeError: someVal is undefined, Unable to set property ‘foo’ of undefined or null reference
Попытка записать null или undefined так, как будто это объект. Например:
Как исправить ошибку: это тоже обычно вызвано ошибками. Проверьте имена переменных рядом со строкой, указывающей на ошибку.
Uncaught RangeError: Maximum call stack size exceeded
Связанные ошибки: Uncaught exception: RangeError: Maximum recursion depth exceeded, too much recursion, Stack overflow
Обычно вызвано неправильно программной логикой, что приводит к бесконечному вызову рекурсивной функции.
Как исправить ошибку: проверьте рекурсивные функции на ошибки, которые могут вынудить их делать рекурсивные вызовы вечно.
Uncaught URIError: URI malformed
Связанные ошибки: URIError: malformed URI sequence
Как исправить ошибку: убедитесь, что вызовы decodeURIComponent на строке ошибки получают корректные входные данные.
XMLHttpRequest cannot load some/url. No ‘Access-Control-Allow-Origin’ header is present on the requested resource
Связанные ошибки: Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at some/url
Эта проблема всегда связана с использованием XMLHttpRequest.
Как исправить ошибку: убедитесь в корректности запрашиваемого URL и в том, что он удовлетворяет same-origin policy. Хороший способ найти проблемный код — посмотреть на URL в сообщении ошибки и найти его в своём коде.
InvalidStateError: An attempt was made to use an object that is not, or is no longer, usable
Связанные ошибки: InvalidStateError, DOMException code 11
Означает то, что код вызвал функцию, которую нельзя было вызывать в текущем состоянии. Обычно связано c XMLHttpRequest при попытке вызвать на нём функции до его готовности.
Как исправить ошибку: посмотрите на код в строке, указывающей на ошибку, и убедитесь, что он вызывается в правильный момент или добавляет нужные вызовы до этого (как с xhr.open ).
Заключение
JavaScript содержит в себе одни из самых бесполезных ошибок, которые я когда-либо видел, за исключением печально известной Expected T_PAAMAYIM_NEKUDOTAYIM в PHP. Большая ознакомленность с ошибками привносит больше ясности. Современные браузеры тоже помогают, так как больше не выдают абсолютно бесполезные ошибки, как это было раньше.
Какие самые непонятные ошибки вы встречали? Делитесь своими наблюдениями в комментариях.
.NET – Copy files to a specified directory after the build
Note: I’m using VS2019.
My project is called NotesAPI. When I build, it logs the following messages:
It copied the following build files into C:\Build\NotesAPI:
In this article, I’ll explain the Copy Task syntax used in the example above. Then I’ll show how to put a timestamp in the directory name, and finally I’ll show how to zip the copied directory.
Breaking down the Copy Task syntax
Previously, the way you’d copy build files is by putting command line arguments in a post-build event. Now we have the Copy Task, which makes things a little simpler once you learn the syntax.
Let’s take a look at the Copy Task syntax by writing it from scratch.
Add the Target element
First, we need a Target element to contain the Copy Task:
This Target has two properties:
The CopyDLLs Target will execute after the project has built.
Add the Copy Task
When adding a Copy Task, at a bare minimum, you need to specify which files to copy and where to copy them to, like this:
This Copy Task is specifying two properties:
Both of these properties are using MSBuild macros (instead of hardcoded values):
Add Message Tasks to log what’s happening during the build
Message Tasks are basically like log messages in the build process. They make it easier to troubleshoot problems.
Here’s how to add Message Tasks to the containing Target:
Let’s say there’s a problem during the Copy Task. The Message Task logs “Executing CopyDLLs task” right before the error message, which helps us to immediately know the problem happened in the CopyDLLs task:
Timestamp the destination directory name
Let’s say every time the build runs, you want to copy files to a directory with a timestamp in the name.
Here’s how to timestamp a Copy Task’s destination directory:
Running the build outputs the following:
It created the C:\Builds\NotesAPI_2021-05-20T121046_Debug directory.
Let’s break down the syntax involved here by writing it from scratch.
Add the PropertyGroup element
Think of properties like variables in code. You can add your own and name it anything and then refer to it in other places in the code.
When you add your own property, it has to be contained within a PropertyGroup element. So add a PropertyGroup element and add a new property called CopyToDir:
Calculate the directory name with a timestamp
Now we have the property and need to provide a value for it. In this case, we want to specify a timestamped directory.
This looks like a very complicated string. It’s using a combination of string literals, MSBuild macros, and even calling a method.
Let’s break it down.
C:\Builds\$(ProjectName)_$([System.DateTime]::UtcNow.ToString(yyyy-MM-ddThhmmss))_$(Configuration)
$(ProjectName) is resolved to the name of the project. In this case, the project name is NotesAPI.
$(Configuration) is resolved to the build config. In this case, I did a Debug build, so this resolves to Debug.
C:\Builds\$(ProjectName)_$([System.DateTime]::UtcNow.ToString(yyyy-MM-ddThhmmss))_$(Configuration)
This is equivalent to calling:
Which outputs the current datetime, ex: 2021-05-20T121046.
Putting this all together, the property value dynamically resolves to: C:\Builds\NotesAPI_2021-05-20T121046_Debug.
Refer to the property in the Copy and Message Tasks
Zip the destination directory
Let’s say after you copy the files, you want to zip up the destination directory. You can use the ZipDirectory Task like this:
Running the build outputs the following:
Note: The ZipDirectory Task itself output that friendly message, explaining exactly what it zipped and where it put the zipped file.
The ZipDirectory Task syntax is relatively simple:
In both of these properties, notice that it’s referring to the CopyToDir property. The same property was used in the Copy Task. It’s a good idea to use your own property like this instead of hardcoding duplicate values.
ZipDirectory fails if there’s a newline in the directory name
When you define your own properties, keep the values on a single line. Otherwise ZipDirectory will fail with the following error:
Error MSB4018 The “ZipDirectory” task failed unexpectedly.
System.ArgumentException: Illegal characters in path.
For example, you’d run into this error if you defined the CopyToDir property like this:
Notice that the value defined in the property is actually on a newline. That newline is part of the string, and ZipDirectory can’t handle it.
Instead, always put the property value on a single line, like this:
Ошибка формата файла журнала регистрации, database disk image is malformed
Ошибка формата файла журнала регистрации
database disk image is malformed
Ошибка формата файла журнала регистрации
по причине:
sqlite3_step failed: database disk image is malformed
db: C:\Program Files\1cv8\srvinfo\reg_1541\34eda2fe-bcf4-485e-ab47-4f302319f59a\1Cv8Log\1Cv8.lgd
sql: SELECT severity, date, connectID, session, transactionStatus, transactionDate, transactionID, userCode,
computerCode, appCode, eventCode, comment, metadataCodes, sessionDataSplitCode, dataType, data, dataPresentation,
workServerCode, primaryPortCode, secondaryPortCode FROM EventLog WHERE date
Всё печально. Журнал регистрации убит каким-то системным сбоем.
Узнаем, что начиная с версии платформы 8.3.5.1068 журнал регистрации хранится в одном файле базы данных SQLite. Этот файл имеет расширение lgd. (Подробнее http://v8.1c.ru/o7/201310log/index.htm )
На форумах пишут, что надо выгрузить и загрузить базу данных SQLite, чтоб восстановить её работоспособоность, правда с возможными потерями данных.
Качаем и распаковываем отсюда https://www.sqlite.org/download.html последнюю версию утилиты для вашей ОС.
Мне подошла:
Precompiled Binaries for Windows sqlite-shell-win32-x86-3081101.zip (313.47 KiB)
The command-line shell program (version 3.8.11.1). (sha1: 1640b3608784a36a113d4fcf69681503e4e9cdc3)
Берем наш журнал, путь к нему можно взять из текста сообщения
и копируем в папку с утилитой.
Выполняем команду в командной строке
sqlite3 1Cv8.lgd «.dump» > 1.txt
т.е. делаем дамп базы данных в текстовый файл.
Дождавшись завершения, делаем восстановление командой
Подготовка расширения к переходу на Joomla 4
Разработчики сторонних расширений Joomla сами должны позаботиться о том, чтобы их расширения продолжали успешно работать на Joomla 4. Полный список изменений доступен в официальном документе, описывающем потенциальную потерю обратной совместимости при переходе на Joomla 4.
Ниже мы приводим изменения, которые необходимо внести в расширение Joomla, чтобы обеспечить совместимость с Joomla 4. Мы рассматриваем наиболее часто встречаемые проблемы при переходе. Список будет по мере возможности дополняться новыми примерами из практики.
Если у вас какой-то конкретный пример решения проблемы при переходе на Joomla 4, то пишите в комментариях, и мы с удовольствием добавим его в список.
JError и JException
Классы JError и JException были удалены. Используйте нативный Exception в случае возникновения ошибки и приложение для показа предупреждений. Совместимо с Joomla 3. Например:
JEventDispatcher
Класс JEventDispatcher был удалён. Вызов плагинов необходимо делать через приложение. Совместимо с Joomla 3.
JFactory::getXml
JHtml
Но предпочтение стоит отдавать новому менеджеру ассетов (существует только в Joomla 4):
JRequest
Класс JRequest был удалён, что будет приводить к ошибке:
isAdmin() и isSite()
Используйте Factory::getApplication()->isClient(‘administrator’) и Factory::getApplication()->isClient(‘site’) соответственно. Совместимо с Joomla 3.
Mootools
Javascript фреймворк Mootools был полность удалён из Joomla 4. Это может приводить к ошибкам такого вида:
Переход на Bootstrap 5
В административной части Bootstrap 2 был заменён на Bootstrap 5. Используйте конвертеры для миграции разметки. Правда админку расширения всё равно придётся переверстать с учётом новой панели управления Joomla 4. Не забудьте почитать про Использование Bootstrap в Joomla 4.
В публичной части больше нет привязки к конкретному фреймворку.