Как я называю код.NET (C#/vb.net) от vbScript?

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

.general{
  width: fit-content;
}
.img{
  display: flex;
  align-items: end;
}
img{
  border: 1px solid black;
}
body {
  background-color: #979797
}
.options{
  display: flex;
  flex-direction: column;
}
.radio{
  position: relative;
  height: 50px;
}
input[type="radio"]{
  position: absolute;
  top: calc(50% - 4px);
  right: 0;
  margin: 0;
}
<div class="general">
  <form action="">
    <div class="img">
      <img src="https://via.placeholder.com/150" class="center">
      <div class="options" class="center">
        <div class="radio">
          <img src="https://via.placeholder.com/50">
          <input type="radio" name="answer1" value="apple">
        </div>
        <div class="radio">
          <img src="https://via.placeholder.com/50">
          <input type="radio" name="answer1" value="chicken">
        </div>
        <div class="radio">
          <img src="https://via.placeholder.com/50">
          <input type="radio" name="answer1" value="carrot">
        </div>
      </div>
    </div>
  </form>
</div>

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

Я надеюсь, что этот код полезен. Благодаря.

6
задан AnthonyWJones 18 December 2008 в 10:22
поделиться

3 ответа

Может быть очень просто сделать это. Но существует много мест, где это не настолько просто. Это во многом зависит от того, что Ваш класс должен смочь сделать, и как Вы намереваетесь развернуть его.

Некоторые проблемы для рассмотрения:

  • Ваш класс должен иметь конструктора без параметров.
  • Это не может выставить статические методы.
  • Развертывает Ваш COM DLL в глобальном кэше сборок хорошо? В противном случае Вы оказываетесь перед необходимостью давать ему строгое имя и регистрировать его использование regasm /codebase.
  • Вы заботитесь о том, что GUID определяют класс и его интерфейсы? В противном случае можно позволить regasm присвойте им, но они будут отличаться каждый раз, когда (и каждое место), класс регистрируется. При необходимости в GUID, чтобы остаться инвариантными через установки, необходимо будет отметить участников с Guid атрибут.
  • Вы собираетесь использовать маршалинг по умолчанию типов данных между.NET и COM? В противном случае Вы испытываете необходимость для маркировки свойств и методов с MarshalAs атрибут.
  • Для Вас имеет значение, какой COM-интерфейс Ваш класс выставляет? Если так, Вы испытываете необходимость для контакта с InterfaceType атрибут.
  • Ваш класс должен повысить или ответить на события? Если так, существуют последствия для того, как Вы разрабатываете свой интерфейс класса.

Существует очень хорошее (если датированный) статья о взаимодействующем с COM и .NET здесь. (Много вещей, что переговоры по статье о, как генерация библиотек типов, обрабатываются для Вас автоматически теперь.) И документация Microsoft актуальна, но не совсем так детализированная.

6
ответ дан 9 December 2019 в 20:50
поделиться

Необходимо использовать regasm утилита для регистрации блока (точно так же, как Вы делаете regsvr32 с серверами COM). Затем можно использовать его от COM. Удостоверьтесь, что это установлено в GAC. Материал должен иметь [ComVisible(true)] быть применимым от COM.

5
ответ дан 9 December 2019 в 20:50
поделиться

Существует опция "COM Accessible" для каждого проекта, который можно выбрать. Затем конечно, необходимо зарегистрировать блок для использования его, но это об этом.


Я должен был отправиться на охоту немного для нахождения его для C# (я привык к VB.Net), но можно найти опцию путем двойного щелчка по Properties папка в Проводнике Решения, выбирая Application вкладка и затем нажатие Assembly Information... кнопка.

1
ответ дан 9 December 2019 в 20:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: