Updated March 2023: Stop getting error messages and slow down your system with our optimization tool. Get it now at this link
- Download and install the repair tool here.
- Let it scan your computer.
- The tool will then repair your computer.
partlibclient.dll is a part of Microsoft® Windows® Operating System program developed by unknown company.Some applications or games may need this file to work properly. If partlibclient.dll is error, whenever you start the application/game you may experience various kinds of errors. To fix those errors, please read the Recommended Solution below:
- Company: unknown company
- Product: unknown product
- Version: Unknown file version
- MD5: 7d9bb2e1b8f29e1501c3b1a8a01df480
- Size: 9097584 Byte
Is partlibclient.dll a virus
The legit partlibclient.dll process is located in the d: ???????? libs partlib clients partlibclient.dll folder. If it is located elsewhere, it could be malware as a virus can have any name. Some virus can pretend to be partlibclient.dll and reside in the Windows or the System32 folder. One way to confirm would be to right-click on the file and use anti-virus software to scan it — download anti-virus here
What is partlibclient.dll is error mean?
There are multiple reasons that may cause partlibclient.dll errors. These include Windows registry issues, malicious software, faulty applications, etc.Error messages related to the partlibclient.dll file can also indicate that the file has been incorrectly installed, corrupted or removed.
Other common partlibclient.dll errors include:
- “partlibclient.dll is missing”
- “partlibclient.dll error loading”
- “partlibclient.dll crash”
- “partlibclient.dll was not found”
- “partlibclient.dll could not be located”
- “partlibclient.dll Access Violation”
- “The procedure entry point partlibclient.dll error”
- “Cannot find partlibclient.dll”
- “Cannot register partlibclient.dll”
Recommended Solution to Fix partlibclient.dll error
To quickly resolve your problem, we recommend download and use partlibclient.dll Fix Tool,this tool perform a scan for partlibclient.dll issues and other system errors. It will also check if all .dll and .exe files are registered in the system and scan for other issues that may be preventing system from working properly. After the scan process, it will allow you to repair the errors.
Step 1: Click the “Download Here” button to get an automatic tool.
Step 2: Install the utility by following simple installation instructions.
Step 3: Launch the program to fix your partlibclient.dll errors and other issues.
Download Fix Tool to Remove partlibclient.dll Error
Доброе время суток.
Возможно ли каким либо методом получить(сформировать) перечень(только обозначение) стд.изд. доступных в справочнике?
Где можно взять документацию по Справочнику стандартных изделий.
В Program FilesASCONPartLibClientsPartLibAPI.chm есть описание API, в нем есть «Пример использования методов Request и ExecuteRequest». Думаю с их помощью можно выбрать нужные вам изделия.
Спасибо, в комплексе 2009 PartLibAPI.chm нету, взял с комплекса 2011.
Буду разбирается и наедятся что подойдет к нашей версии.
Первый пример отрабатывает нормально, остальные не компилируются.
Вываливается ошибка на строке BOpartlib.Connect(errMess);
Вот скрин ошибки.
Судя по всему не удается подключиться к серверу приложений. Посмотрите метод SetConnectionParams, может необходимо его сначала вызывать.
Описание структуры stConnectionString [in] Строка соединения не нашел.
Попробовал хотя бы вот так
BOPARTLib := CreateOleObject(C_plClassName) as IPARTLIbProvider;
BOPARTLib.SetConnectionParams('',false);
errMess := '';
BOPARTLib.Connect(errMess);
Не помогло(
с параметром boShowDialog = true вываливается ошибка.
С МиСом подобное было когда не находилась клиентская лицензия(в NetHASP не был прописан ip машины на котором установлен hasp)
На PartLib лицензии раздаются через Flex
Там картина во такая
Users of PartLibClient_Loodsman: (Total of 9 licenses issued; Total of 1 license in use)
Может нужна еще какая лицензия или в чем еще может быть проблема?
PS на втором скрине сам клиент запущен.
1) setConnectionParams определяет СП к которому ты подключаешься. в общем случае(когда справочник уже настроен на конкретный СП) вызывать не надо.
2) если нету PartlibApi.chm то значит и апи там офицально нету . В комплексе 2011 следующий пример работает(пример взят из справки):
uses
//..//
PARTLibClient_TLB,
BOSimple_TLB;
const
C_plClassName = 'PARTLibClient.BOSimpleProvider';
SHOW_MEASURE_DISTANCE = 1;
SHOW_MEASURE_LENGTH = 2;
SHOW_MEASURE_DIAMETER = 4;
SHOW_MEASURE_ANGLE = 8;
SHOW_MEASURE_REZBA = 16;
SHOW_TKR = 32;
HIDE_INSERT = 64;
SHOW_HOT2D3DCHANGE = 128;
DISABLE_POSITIONING_MODELS = 256;
I_HAVE_KI_ON_SERVER_MACHINE = '99997';
//----------------------------------------------------------------------------//
var Location, param :WideString;
command :integer;
MethodResponse :IBOResponseDisp;
BOPARTLib :IPARTLIbProvider;
responseXML :WideString;
i :integer;
errMess :WideString;
Begin
BOPARTLib := CreateOleObject(C_plClassName) as IPARTLIbProvider;
i := BOpartlib.Connect(errMess);
if i=0 then
begin
BOPARTLib.SetInstrumentOptions('Kompas', I_HAVE_KI_ON_SERVER_MACHINE, '2D', '3', '',
SHOW_MEASURE_DISTANCE or
SHOW_MEASURE_LENGTH or
SHOW_MEASURE_DIAMETER or
SHOW_MEASURE_ANGLE or
SHOW_TKR );
command := 0;
location := '';
responseXML := '';
MethodResponse := IBOResponseDisp( BOPARTLib.SelectEx(command, param, Location, 0) );
if MethodResponse <> nil then
responseXML := MethodResponse.XML; // XML-код полученного метода!!!
end;
BOPARTLib.Disconnect;
End.
там в этом XML есть вообще все
В общем я взял пример №4
Слепил PARTLibServer_TLB.
заменил
const
//C_plClassName = 'PARTLibClient.BOSimpleProvider';
C_plClassName = 'PARTLibServer.PARTLibServerProvider';
и
//BOPARTLib := CreateOleObject(C_plClassName) as IPARTLIbProvider;
BOPARTLib := CreateOleObject(C_plClassName) as IPLSYSTEM;
убрал Connect и Disconnect.
Заработало
Получается не то, что хотелось.
Задача получит общий список обозначений стд.изд. вида «Болт M12-8gx60.36.019 ГОСТ 7805-70»
Делаю по примеру 4.
SetTopic('Find'); // топик - поиск
AddRequestAttribute('ToolID', 'Kompas');
AddRequestAttribute('PackageCode', 'Root'); // начинать с корневого пакета
AddRequestAttribute('Document', '2D'); // среди 2D-моделей
AddRequestAttribute('ContextID', '0'); // для спецификация
AddRequestAttribute('Filter', '?ОЛТ*'); //поиск в названии по маске
BOPARTLib.ExecuteRequest; // запрос на обработку
IBOR := IBOResponseDisp(BOPARTLib.Response);
//Names := GetResponseAttribute(0,0).Value; // все найденные имена
//Codes := GetResponseAttribute(0,1).Value; // ObjectID всех найденных объектов
Memo1.Text := IBOR.XML;
Получаю
Болт ГОСТ 7805-70 (исп 1)
Болт ГОСТ 7805-70 (исп 2)
Болт ГОСТ 15589-70 (исп 1)
Болт ГОСТ 15589-70 (исп 2)
Болт ГОСТ 15589-70 (исп 3)
….
Root±30±20±10±80±10±©{}30±©{BASE}130±30
Root±30±20±10±80±10±©{}30±©{BASE}130±40
Root±30±20±10±80±10±©{}30±80±©{BASE}60
Root±30±20±10±80±10±©{}30±80±©{BASE}80
Root±30±20±10±80±10±©{}30±80±©{BASE}90
….
1)
ЦитироватьC_plClassName = ‘PARTLibServer.PARTLibServerProvider’;
ты подключаешься к СП напрямую. его API не документировано(и скорее всего не будет документировано). тебе лучше подключаться все же к клиенту СИ.
2) в версии 2009 можно получать обозначения экземпляров через их Location
А как получить все возможный Location?
я пробовал
Location := 'Root±30±20±10±80±10±©{}30±©{BASE}130±40'; // этот Location взял из полученных в IBOR := IBOResponseDisp(BOPARTLib.Response);
BOPARTLib.GetObjectInfo(Location, CID, OID);
IBOB := BOPARTLib.GetObject(CID, OID, 0);
BOPARTLib.GetObjectInfo(Location, CID, OID);
возвращает пустые CID и OID
Ошибку понял, я не верный Location указываю, надо в начало добавить PART:
вот это исполнить получилось, но
IBOB := BOPARTLib.GetObject(CID, OID, 0);
но IBOB у меня получается не конечный объект, как мне получить всевозможные обозначения(разного размера и тп.)?
Для объекта, который получил через поиск, «Болт ГОСТ 7805-70 (исп 2)», Location := ‘PART:Root±30±20±10±80±10±©{}30±©{BASE}130±40’
Выполняю вот такое.
Location := 'PART:Root±30±20±10±80±10±©{}30±©{BASE}130±40';
BOPARTLib.GetObjectInfo(Location, CID, OID);
IBOB := BOPARTLib.GetObject(CID, OID, 0);
for i := 0 to IBOB.Objects.Count-1 do
begin
tempIBOB := IBOB.Objects.Item[i];
Memo1.Text :=Memo1.Text + #13+#10 + tempIBOB.ClassID +'-$-'+ tempIBOB.Attribute['Value'].Value;
end;
в Мемо получаю во такой результат
B46A_19C9EB1FF3004994-$-0
B46A_5E7039074EF8473D-$-1
B46A_8342071FFC15428A-$-NULL_VALUE
B46A_A074A970D8094099-$-True
B46A_BDD96F5CA50B41B4-$-NULL_VALUE
BASE_27409DF1233040FA-$-0
BASE_50037741FC214DF4-$-NULL_VALUE
BASE_81B93DB2953840A8-$-NULL_VALUE
BASE_A2215E523CBA4FE5-$-NULL_VALUE
Designation-$-NULL_VALUE
DocDesignation-$-ГОСТ 7805-70
Document-$-0
HOOKPARAMS-$-0
KOMPAS_SPEC_PATTERN-$-NULL_VALUE
MATERIAL-$-0
MCC-$-0
R_DYNAMICCLASSIFICATION-$-0
Root±30±20±10±10-$-0
Root±30±20±10±20-$-0
Root±30±20±10±30-$-0
Root±30±20±10±70-$-
Root±30±20±10±80±10±60-$-2
Root±30±20±10±80±10±©{}30±10-$-0
Root±30±20±10±80±10±©{}30±50-$-NULL_VALUE
Root±30±20±10±80±10±©{}30±90±©{BASE}20-$-Класс точности А
Root±30±20±10±80±10±©{}30±90±©{BASE}30-$-0
Root±30±20±10±80±10±©{}30±90±©{BASE}40-$-0
Root±30±20±10±80±10±©{}30±90±©{BASE}50-$-0
Root±30±20±10±80±10±©{}30±90±©{BASE}60-$-0
Root±30±20±10±80±10±©{}30±90±©{BASE}Cla100-$-0
Root±30±20±10±80±10±©{}30±90±©{BASE}Cla90-$-1
Root±30±20±10±80±10±©{}30±©{BASE}140-$-
Root±30±20±10±80±10±©{}30±©{BASE}180-$-NULL_VALUE
Root±30±20±10±80±10±©{}30±©{BASE}Cla-56-$-NULL_VALUE
Root±30±20±10±80±10±©{}30±©{BASE}Cla-66-$-NULL_VALUE
Root±30±20±10±80±10±©{}30±©{BASE}Cla34-$-0
Root±30±20±10±80±10±©{}30±©{BASE}GMC-6±Cla10-$-NULL_VALUE
Root±30±20±10±80±20-$-0
Root±30±20±10±80±40-$-NULL_VALUE
Root±30±20±10±80±©{}30-$-0
Root±30±20±10±90-$-0
Specification-$-0
dimension_type-$-NULL_VALUE
enterpriseCode-$-NULL_VALUE
product_class-$-NULL_VALUE
spcSectionName-$-Стандартные изделия
Не могу понять как получить все возможные размеры.
Все возможные размеры и их обозначения можно получить начиная с версии 2011.
В версии 2009 вы можете через Select выбрать экземпляр и получить по нему всю необходимую информацию.
Так же прочитайте раздел справки по Location-ам, то что вы используете не полностью совпадает с ним.
Всем доброго времени суток.
Пишу плагин для Лоцмана на Delphi 7, в котором необходимо открыть «Корпоративный справочник Стандартные Изделия v3» и передать наименование выбранного изделия на форму плагина. В примерах справки PartLibAPI.chm указано, что необходимо использовать PARTLibClient_TLB.dcu. Где мне найти этот файл, если в «C:Program FilesASCON» его нет?
Если у вас корпоративный справочник, то , по-умолчанию он ставится в Program FilesASCONPartlib. Соответственно указанная вами библиотека типов получается из в Program FilesASCONPartlibClientsPartlibClient.dll.
Цитата: Cehhby от 13.08.13, 06:59:22
Если у вас корпоративный справочник, то , по-умолчанию он ставится в Program FilesASCONPartlib. Соответственно указанная вами библиотека типов получается из в Program FilesASCONPartlibClientsPartlibClient.dll.
А можно поподробнее как она получается?
Взял пример из PartLibAPI.chm при сборке в Delphi ошибка: файл PartLibClient_TLB.dcu не найден…
Чтобы получить требуемый файл вам надо воспользоваться функцией «Import Type Library» в Delphi (ей на вход — partlibClient.dll). Она находится в либо в меню проекта либо в меню установки компонентов (зависит от версии IDE). С помощью нее сгенерится PartlibClient_TLB.pas и BOSimple_TLB.pas которые надо подрубить к проекту. DCU файлы после этого сгенерятся сами.
Цитата: Cehhby от 02.02.15, 08:36:16
Чтобы получить требуемый файл вам надо воспользоваться функцией «Import Type Library» в Delphi (ей на вход — partlibClient.dll). Она находится в либо в меню проекта либо в меню установки компонентов (зависит от версии IDE). С помощью нее сгенерится PartlibClient_TLB.pas и BOSimple_TLB.pas которые надо подрубить к проекту. DCU файлы после этого сгенерятся сами.
Спасибо, сделал тоже самое из командной строки с помощью implib.exe.
Далее пробую вставить СИ из справочника в сборку.
Вот из примера:
BOPARTLib := CreateOleObject(C_plClassName) as IPARTLIbProvider;
Location := '';
BOPARTLib.Select(false, Location, 0);
aMethodResponse := IBOResponseDisp(BOPARTLib.GetMethod(Location,'КОМПАС-3D'));
iPrt := ksPart(PLInsert3D(BOPARTLib, aMethodResponse, nil) );
Открывается справочник, выбираю СИ-Применить, но в сборку ничего не вставляется (хотя Location получает).
Во первых в справке у GetMethod название метода ‘КОМПАС 3D’ и ‘КОМПАС 2D’ через пробел, а не тире. При таком варианте GetMethod выдает ошибку: «Critical Errror. GetMethod Неверные параметры топика» , если написать через тире то нормально отрабатывает, aMethodResponse заполняется (вопрос это ошибка в справке?).
В следующей строке iPrt получает nil (функция PLInsert3D возвращает nil).
Как правильно вставить СИ в сборку, зная его Location?
- Форум пользователей ПО АСКОН
-
►
Профессиональные вопросы -
►
Программирование приложений -
►
API ЛОЦМАН, плагины -
►
SDK PartLib
Sometimes, you can’t remove or delete a file because you don’t have ownership rights to do so, and here comes the obvious question, why don’t I have the right to delete a specific file or folder? The short answer is that your files or folders may have been created in the past when you had a different operating system than the current one, so the files are compatible with that previous version of the operating system but not with the current version, so you must first give ownership through the installed operating system Currently on your device, and only then you can delete any private files with ease, just follow the steps as follows:-
Step 1. Choose the file or folder you wish to delete and right click on it.
Step 2. Select Properties from the context menu, and the file properties window will appear immediately.
Step 3. Go to the “Security” tab, and click on the “Advanced” button.
Step 4. When you go to the advanced security settings window, you will
discover the owner of the file under the name “Owner”.
Step 5. In
some cases, the OS name is written as the owner name, or other times it
appears as “TrustedInstaller”, however, now just click on the “Change”
button next to the owner name.
Note: TrustedInstaller is a built-in
Windows account responsible for removing and modifying updates and various
other essential components. So if you find the file owner name is
“TrustedInstaller”, it is best not to change or delete it; Because that
makes the file system more unstable, so change the name from
«TrustedInstaller» to something else. If you know exactly what you’re doing,
be careful applying the steps.
Step 6. Inside the “Enter the object name to select” box, enter a new username and press “Check Names” to check whether it is ok or not, finally, click “OK” to save the changes.
Step 7. Go back to the advanced security settings and you will notice a checkbox named “Replace owner on subcontainers and objects”, simply tick this checkbox, click “Apply” to save the changes, then “OK”.
Step 8. Now exit the file properties window, and restart your computer.
Step 9. Now open the properties of the file you want to delete again by right-clicking on it, and choose from the “Properties” menu, then go to the Security tab, and then click on “Advanced”.
Step 10. Again, under the “Permission” tab, check the “Replace all child object permission entries with inheritable permission entries from this object” option.
Step 11. Next, click on the Edit button below it, and in the Permission window, select the Full Control option and click on OK.
Now try deleting the file or folder again, this time for sure the file will be deleted without any problem.
Delete Locked files by disabling the antivirus
Antivirus is a
necessity in every computer, antivirus software contains many useful
tools and features that help protect files and folders from any virus or
malicious software, sometimes you will not be able to delete your files,
where there is another possible reason, which is that your Antivirus prevents deleting some files, if you are having trouble deleting your files, you need to check your antivirus software once, even this type of software causes problems and prevents you from deleting files and folders.
Здравствуйте! При исполнении следующего кода на vb.net vs 2017 на последнем строке вылетает ошибка
System.Accesviolationexception. Кто может помочь разобраться в чем проблема?
VB.NET | ||
|
По моему скромному мнению по сложности освоения Т-Flex одна из самых сложных программ ( работаю конструктором 23 года), SW намного в понимании проще. И интерфейс у него человечный, и никакими горячими клавишами я вообще не пользюсь, фигню пишите.
Зря Вы так про T-Flex, довольно строгая прога, в отличие от аляпистого SW. Научиться в ней азам не сложнее, чем в любой другой, а глубокое изучение — оно по потребностям, которые у всех немного разные.
Я SW не люблю, и, если уж и загружаю эту прогу, тоже работаю только мышкой. По удобности она, ИМХО, проигрывает другим. Все, кто много в SW работают, советовали изучить горячие клавиши.
Inventor — самая простая в освоении и удобная в использовании, но возможности ограничены. Но, в целом, самый короткий путь от осознания задачи до модели. Да и графическое ядро — самое красивое. Оптимальные версии — 10-11-я, потом были усовершенствования более косметические, нежели функциональные.
Компас — тут надо сначала подумать, что ты будешь делать, желательно с карандашиком и бумагой. Довольно много багов и корявостей. Графическое ядро — простое, «реалистичная» прозрачность моделей гораздо хуже, чем в инвенторе, а иногда это так удобно… Зато подготовка документации самая проработанная.
Ловишь постоянно себя на мысли где искать то чего нет в иконках сверху.
Компас в том виде, в каком он устанавливается, вообще для работы непригоден. Его настраивать надо. Ненастроенный Компас убьёт вашу мышь в 2-3 раза быстрее, реально очень утомительно каждый раз кликать это бестолковое меню слева:)
Настройки Компас сохраняет отдельным файлом, но в каждой старшей версии целесообразно настраивать заново (благо занимает минут 10).
Также удобно настроить саму мышь, назначить боковой кнопке (если есть) клавишу Shift.
В Компасе работаю с 8-й версии.
Изменено 14.12.2011 13:23 пользователем Ervin