Яков Сироткин ([info]yakov_sirotkin) wrote,
@ 2004-08-27 19:24:00
Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Через COM!
Имеем флагманскую платформу одной известной компании под названием .Net. Под неё написан простенький модуль, который умеет брать данные с удалённого сервера. Нужно обеспечить использование этого кусочка кода в другом флагманском продукте этой же компании, то есть в Excel. После двух дней битья головой о стенку пришёл гуру, удалил пару интерфейсов, пару раз щёлкнул мышкой и всё заработало.

Следующим развлечением стала установка этого модуля без помощи Visual Studio. С командной строки не получилось, поэтому при помощи гуру и мышки сделали специальный инсталятор, который задаёт много вопросов, при повторной установке требует uninstall, но как-то работает.

То, что VB понимает массивы строк, но не понимает массивов объектов из C#, поэтому приходится делать специальную обёртку а-ля collection — это уже мелочи.

Помножим всё это на документацию, из которой такой тупой программист, как я, не смог вытянуть ничего работающего про интеграцию Excel и .Net и получим перспективу создания корпоративных решений на платформе Microsoft.



(Post a new comment)


[info]piggymouse
2004-08-27 03:55 pm UTC (link)
Хорошо бы в твоём тексте явно пометить, где идёт речь о COM, а где о .NET. Какой именно "VB" не понимает массивы дотнетовских объектов?

(Reply to this) (Thread)


[info]piggymouse
2004-08-27 03:56 pm UTC (link)
А вообще умный [info]sema меня весной учил: не используй interop services, козлёночком станешь.

(Reply to this) (Parent)(Thread)


[info]yakov_sirotkin
2004-08-27 04:36 pm UTC (link)
Речь, конечно, о VB в Excel, VB.Net понимает C# и без помощи COM. А за [info]sema я, конечно, очень рад, но не мог бы он уговорить наших заказчиков перестать использовать Excel? А ещё лучше уговорить их переписать весь их софт на Java, а то у меня пока даже первое не получается:)

(Reply to this) (Parent)(Thread)


[info]piggymouse
2004-08-27 05:14 pm UTC (link)

OK, я так и думал.

Допустим, этот "простенький модуль, который умеет брать данные с удалённого сервера" был бы написан на Джаве. Тебе от этого было бы легче прикручивать его к Excel?

(Reply to this) (Parent)


[info]seliv
2004-08-27 03:59 pm UTC (link)
И эти люди будут рассказывать нам о преимуществах .нета перед явой :-))

(Reply to this) (Thread)


[info]piggymouse
2004-08-27 05:17 pm UTC (link)
Яша гонит пургу и притворяется простецом. .NET имеет к COM такое же отношение, как Java, а Яша нам тут двигает про какую-то одну-единственную "платформу Microsoft". Что, Java-COM interoperability это сплошное пиво и кегли?

(Reply to this) (Parent)(Thread)


[info]seliv
2004-08-27 06:47 pm UTC (link)
Ответственно заявляю - никакго пива и кеглей там и в помине нет. Орудие Java-COM interoperability - спирт и топор (в лучшем случае самогон и пила двуручная).
Более того, как ни смешно это звучит, когда понадобилось это сделать, в качестве прослойки между Java и COM-объектами выступил именно (сюрприз! сюрприз!) VB-адаптер. Почему-то именно на VB его оказалось написать проще всего.

(Reply to this) (Parent)(Thread)


[info]alf_kadett
2006-08-12 01:23 pm UTC (link)
Гонишь, Java+COM - это трава. Чистая трава :)

(Reply to this) (Parent)


[info]yakov_sirotkin
2004-08-27 06:50 pm UTC (link)
Это ты слегка лукавишь:) COM Interop не является сильной стороной Java, хотя я уверен, что по "Java COM" ты найдешь много интересного. А вот для любителей Microsoft, у которых выше крыши написано на Excel, вся эта галиматья не есть хорошо.

Если COM Interop от .Net отбросить, то он станет ещё больше похож на Java, а "отстройка" от конкурента Microsoft-то нужна:)

(Reply to this) (Parent)


[info]alf_kadett
2006-08-12 01:22 pm UTC (link)
Это сплошная трава, меня уже второй день плющит :)

(Reply to this) (Parent)(Thread)


[info]piggymouse
2006-08-12 04:57 pm UTC (link)
ПРЕВЕД!

(Reply to this) (Parent)


[info]sorhed
2004-08-27 04:41 pm UTC (link)
Эт ещё что, я вот драйвер пишу под Windows... вот, уже чуть ноутбук не угробил :))

(Reply to this) (Thread)

пидорский отстой эти ваши
[info]der_wolf
2004-08-28 01:01 am UTC (link)
технологии microsoft. Через жэ и без ума. Всё в одну кассу собрали и думают, всем будет хорошо. Даже в COM врубиться надо потратить месяц. Кстати, заметьте, часто используется язык, который даже особо не считают за нормальный, а так, типа чтобы скрипты мелкие писать - VB, VBScript. А иногда без него даже никак.
Яша, а ты меня удивил. Ты что думал, будет легко, да ? :)
Легко тем, кто работает без windows.
Я, между прочим, сейчас тоже слегка с Excel/VBScript трахаюсь. Задача, решение которой в Unix нашлось бы через 5 минут поисками в портах и прочих 3d-party, здесь пишется в муках.

(Reply to this) (Parent)(Thread)

Re: пидорский отстой эти ваши
[info]yakov_sirotkin
2004-08-28 04:37 am UTC (link)
Яша не думал, что будет легко, Яша думал, что будет плохо:( Кстати, если бы заказчик всё писал бы под Unix на C++, то было бы не лучше. Яша сторонник Java:)

(Reply to this) (Parent)(Thread)

Re: пидорский отстой эти ваши
[info]sorhed
2004-08-28 01:08 pm UTC (link)
А что, Java лучше, что ли? :) Я, конечно, пишу под Java, но это по той же причине, что все пишут под Windows :) Существует множество (ну, не множество, ну несколько) куда как более правильных платформ, которым не хватает только раскрутки в бизнес-кругах.

(вздыхает) вот VisualWorks Smalltalk, например...

(Reply to this) (Parent)(Thread)

Re: пидорский отстой эти ваши
[info]yakov_sirotkin
2004-08-28 01:19 pm UTC (link)
И что мешает этим перцам раскрутиться?

(Reply to this) (Parent)(Thread)

Re: пидорский отстой эти ваши
[info]sorhed
2004-08-28 01:26 pm UTC (link)
Алан Кей — человек, совершенно несовместимый с бизнесом :) То же относится и к многим другим смоллтокерам.

(Reply to this) (Parent)

Re: пидорский отстой эти ваши
[info]sorhed
2004-08-28 01:06 pm UTC (link)
Кхм, это я попрошу. Они не наши, они Microsoft :) И вообще — не корысти ради, а токмо волею пославшей мя.

Но, увы.
1) без Windows работать не получается. То есть можно, конечно, но недолго. Не в том плане, что я не могу работать без Windows (могу!), а в том плане, что не могут 95% пользователей, для которых, собственно, программы и пишутся.
2) а VB — любимый язык билла гейтса, так что для Microsoft это тоже принципиально.

(Reply to this) (Parent)


Create an Account
Forgot your login or password?
Login w/ OpenID
English • Español • Deutsch • Русский…