VBStreets Conference - Изглед на тема - Предайте масив на процедурата

Целият вкус на програмирането!

  • Списък на форумитеVisual basicVisual Basic 1-6
  • Променете размера на шрифта
  • ЧЗВ
  • вход

предава масив на процедурата

предава масив на процедурата

Помощ, моля, как да решим проблема.
Има персонализиран тип

Публичен тип MyType
var1 като низ
var2 като низ
Краен тип

Има масив
dim arr () като MyType

Има процедура
Обществен Sub MySub (arg1, arg2, arr, arg3)

Така че този трик с масив от променливи от персонализиран тип не работи.
Компилаторът казва:
Само дефинирани от потребителя типове, дефинирани в публични обектни модули, могат да бъдат принудени към или от вариант или да бъдат предадени на функциите със късно обвързване.

Кажете ми, моля, какви са опциите за процедурата за обработка на масив от променливи от персонализиран тип.

и ако е така, функцията е обявена за нещо като ок
Публичен Sub MySub (arg1, arg2, arr () As MyType, arg3)

Благодаря момчета.
Тази ситуация обаче не се коригира напълно.

Това, което Корги предложи, работи без проблеми и това вече е опция. Единственият недостатък е, че масив от твърдо посочения тип MyType се предава на процедурата, тоест масив от друг тип не може да бъде предаден. Това е необходимо, за да има различни типови структури, които имат едни и същи свойства, така че за процедурата MySub са необходими само същите тези свойства на масиви от променливи от различен тип. Малко неудобно.

Сега за предложението за суперски. Ако dim arr () е деклариран като Variant, тогава компилаторът ще каже, че е необходим обект, когато попълня arr ()

Напр. arr (1) .var1 = "dima" казва, че е необходим обект.