Перейти к публикации

dll На С#


SERSAPR

Рекомендованные сообщения

Ребята сделал проект в C# на dll , все прописал , компилю , запускаю Ежик , а в диспетчере компонент нет моего компонента , что нужно сделать ?

using Microsoft.Win32;

using System;

using System.Reflection;

using System.Runtime.InteropServices;

namespace Proba

{

[GuidAttribute("84C16D22-9EE6-4CF9-89C6-61446F6DEDD5"),

ProgId("Proba.Proba"),

ComVisible(true)]

public class Proba :SolidEdgeFramework.ISolidEdgeAddIn

{

private SolidEdgeFramework.AddIn m_addin;

private SolidEdgeFramework.Application m_application;

public Proba()

{

}

#region ISolidEdgeAddIn Members

public void OnConnection(

object Application,

SolidEdgeFramework.SeConnectMode ConnectMode,

SolidEdgeFramework.AddIn AddInInstance)

{

// Store local variables for later use

m_addin = AddInInstance;

m_application = (SolidEdgeFramework.Application)Application;

// Set Addin's GUI Version

AddInInstance.GuiVersion = 1;

}

public void OnConnectToEnvironment(

string EnvCatID,

object pEnvironmentDispatch,

bool bFirstTime)

{

}

public void OnDisconnection(

SolidEdgeFramework.SeDisconnectMode DisconnectMode)

{

if (m_addin != null)

{

Marshal.ReleaseComObject(m_addin);

m_addin = null;

}

if (m_application != null)

{

Marshal.ReleaseComObject(m_application);

m_application = null;

}

}

#endregion

#region "Regasm.exe functions"

// Called by Regasm.exe

[ComRegisterFunctionAttribute()]

static void RegisterServer(Type t)

{

RegistryKey baseKey = null;

RegistryKey summaryKey = null;

AssemblyTitleAttribute titleAttribute = null;

AssemblyDescriptionAttribute descriptionAttribute = null;

try

{

baseKey = Registry.ClassesRoot.CreateSubKey(

@"CLSID\{" + t.GUID.ToString() + "}");

if (baseKey != null)

{

// Tell Solid Edge to automatically load your addin

baseKey.SetValue("AutoConnect", 1);

// Write title

if (t.Assembly.IsDefined(typeof(AssemblyTitleAttribute), true))

{

titleAttribute = (AssemblyTitleAttribute)

AssemblyTitleAttribute.GetCustomAttribute(

t.Assembly, typeof(AssemblyTitleAttribute));

baseKey.SetValue("409", titleAttribute.Title);

}

// Write description

if (t.Assembly.IsDefined(typeof(AssemblyDescriptionAttribute),

true))

{

descriptionAttribute = (AssemblyDescriptionAttribute)

AssemblyDescriptionAttribute.GetCustomAttribute(

t.Assembly, typeof(AssemblyDescriptionAttribute));

summaryKey = baseKey.CreateSubKey("Summary");

summaryKey.SetValue("409", descriptionAttribute.Description);

}

// Write required registry entries for a Solid Edge Addin

// See secatids.h in C:\Program Files\Solid Edge VXX\SDK\include

// CATID_SolidEdgeAddIn

baseKey.CreateSubKey(

@"Implemented Categories\{26B1D2D1-2B03-11d2-B589-

080036E8B802}");

// Specify the Environment Categories that you want you addin

// CATID_SEApplication

baseKey.CreateSubKey(

@"Environment Categories\{26618394-09D6-11d1-BA07-

080036230602}");

// CATID_SEPart

baseKey.CreateSubKey(

@"Environment Categories\{26618396-09D6-11d1-BA07-

080036230602}");

}

}

catch

{

}

finally

{

if (baseKey != null)

{

baseKey.Close();

}

if (baseKey != null)

{

baseKey.Close();

}

}

}

// Here we cleanup any registry values left from Regasm /u.

[ComUnregisterFunctionAttribute()]

static void UnregisterServer(Type t)

{

try

{

Registry.ClassesRoot.DeleteSubKeyTree(

@"CLSID\{" + t.GUID.ToString() + "}");

}

catch

{

}

}

#endregion

}

}

Ссылка на сообщение
Поделиться на других сайтах
  • 2 месяца спустя...


необходимо зарегистрировать *.DLL в реестре Windows и подключить к Solid Edge

вы бы рассказали что такое dll или если это какая-то наука, то подсказали бы где об этом прочитать можно ...?

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




  • Сообщения

    • gudstartup
      вы тоже думаете что можно все компоненты чпу заменить и ничего не изменится и предупреждение о том чтобы oprminf не восстанавливали на другой машине которое фанук встроил даже в загрузчик это просто алармисткий текст и ничего не будет..... ну и ну и где написано что она mate как например здесь с чего тогда базовый чпу mate если гл.плата не mate мне непонятно из-за экрана что ли
    • статист
      Охренеть, ни за что бы не догадался. Хоть бы словом где обмолвились об этом в документации. Короче нужна команда EMODIF, E_ID, 3, N_ID где E_ID - номер элемента, который мы собираемся модифицировать. Так как используется BEAM188, то у него не два узла оказывается рассматривается, а три, где первые два принадлежат элементу, а третий узел - направляющий. И соответственно число 3 - это номер узла балки, который мы собираемся модифицировать, то есть направляющий узел. И мы этот узел соответственно заменяем на узел с номером N_ID. И тогда сечение реально вращается. Разобрался по этому видео.    
    • Александр1979
      Материнка такая в руководстве есть. На 0i-D я менял материнку, опции не слетели. 
    • gudstartup
      @Viktor2004 кстати конкретно модели автора в руководстве нет хотя оно последней редакции 18 года
    • Viktor2004
      конкретно на этой не менял. На каких менял, написал выше
    • gudstartup
      какие платы и на каких системах вот в чем ворос конкретно на этой возникут проблемы
    • Viktor2004
      ну да. А то что я менял платы это мои бредовые фантазии   Ну исправили в паспорте. И что?
    • gudstartup
      это догадки и гадание на кофейной гуще а япривожу документ где написано про то что прочитайте пункт 4.11 а там представляете вот что 4) Замена печатной платы может привести к изменению идентификационного номера ЧПУ. Проверьте это на Экран ЧПУ. Если оно отличается от описанного в техническом паспорте, исправьте его.  
    • Viktor2004
      я менял все платы. И на форуме наверное не я один их менял. И никто еще не писал что при этом у него слетел сертификат Возможно ID номера проверяются только в момент установки опции, а когда они уже установлены и мирно хранятся в OPRM INF возможно ти уже на ID наплевать
    • gudstartup
      для кого это написано CAUTION Before replacing a printed circuit board, be sure to read Section 4.11, “OPTION INFORMATION FILE” to confirm the procedure.  
×
×
  • Создать...