Daffy0815 hat geschrieben:Da liegt wohl ein Missverständnis vor!
Sin und Zweck der Prozedur ist es festzustellen welche ComPorts verfügbar sind damit das eigentliche Programm über das global Array diese dann zur Auswahl anbieten kann.
Gut, aber dann brauchst du das Array auch nicht als Parameter zu übergeben.
Daffy0815 hat geschrieben:Das mit dem 256 X ReDim ist korrekt. Das liegt bei mir einfach daran, dass ich es auf Grund meiner sonstigen Programme im Bereich Microcontroller gewöhnt bin "sparsam" mit Speicher umzugehen.
Dann solltest du lernen auch auf einem PC effizient zu programmieren. Dein Vorgehen ist hier nämlich nicht effizient und wäre es auf einem Mikrocontroller auch nicht wirklich. Bei jedem vergrößerndem Redim kann es passieren, dass der nun größere Speicherbereich nicht mehr an dieser Stelle vergrößert werden kann und somit an anderer Stelle im Speicher alloziert werden muss, wodurch solange der doppelte Speicher verbraucht wird wie es dauert den Inhalt des alten Arrays an die Speicherstelle des neuen zu kopieren. Dann erst wird der Speicher des alten wieder freigegeben.
Alloziert man allerdings von Anfang an die maximale Größe, die das Array haben kann, dann kann es nur noch kleiner werden. In deinem Fall würde man im schlechtesten Fall zwischenzeitlich 255 + 256 = 511 Elemente allozieren und in meinem Fall nur 256 Elemente.
Daffy0815 hat geschrieben:Nun, das hat den Vorteil das man immer weis welchen Typ die Variable hat!
Gut, wenn man das nicht selbst überblicken kann, dann macht man das halt so. Sauberer ist es trotzdem, wenn man Typen nur einmal an einer Stelle deklariert und das war's dann. Somit kann man sie auch nachträglich wesentlich schneller ändern, ohne dass man den ganzen Code durchsuchen muss.
Siehe das bitte einfach nur als konstruktive Kritik an. Da steckt nichts persönliches dahinter. (Und in diesem Forum wird ja gerne persönlich auf Kritik reagiert

).