vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Allgemeine Diskussionen
Limitation in VB6 
Autor: Hakiri
Datum: 23.11.11 09:18

Hallo,
bekanntlich ist VB6 in einigen Bereichen etwas limitiert, was grundsätzlich aber keine Hürde darstellen dürfte. Lediglich die Menge der 'Identifiers' *) ist auf ca 32.000 begrenzt. Wenn man hier an die Grenzen kommt, muss man Umstrukturierungen vornehmen.

Nun stelle ich zur Diskussion, ob jmd diese Grenzen schon kennen gelernt hat, und was man tun kann, wenn auch alle neue Strukturierungen nicht weiter helfen, oder dadruch erst mal nur Zeit gewonnen wurde. Hilft z.B. das Auslagern in eine ActiveX?

Hat jmd oder kennt jmd ggf ein Tool, mit dem man die Identifiers zählen kann, um mal ein Gefühl zu bekommen, wie dicht man an der Grenze ist?

*) Identifiers:
Bezeichner, d.h. nicht-reservierte Schlüsselwörter, die unter anderem Formulare, Steuerelemente, Module, Variablen, Konstanten, Prozeduren, Funktionen und Objekte umfassen.

mehr Infos auch hier:
http://www.xlam.ch/xlimits/visualbasic.htm

Martin Domian

CioTec Ltd
F37 Waterfront Studios 1 Dock Road
London E16 1AH United Kingdom

Tel.: +44 7810 255482
Mail: MDomian@ciotec.de
URL: http://www.ciotec.de

UTR 64446 15259 (Unique Taxpayer Reference) Company No 10914665

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Limitation in VB6 
Autor: Blackbox
Datum: 25.11.11 19:45

Hi,

die Menge der Identifiers ist bei VB schon immer bei 255. Solltest Du nähere Erkenntnisse die zu deiner Zahl führen haben, so sind wir ganz Ohr!
Und solltest Du wirklich eine Ahnung davon haben, was Du anfrägst - ich bezweifle das nämlich - so antworte, für was Du das brauchst.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Limitation in VB6 
Autor: ModeratorDaveS (Moderator)
Datum: 25.11.11 20:06

Nicht ganz

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Limitation in VB6 
Autor: GBO
Datum: 25.11.11 20:15

Beides irgendwie richtig.

Also ich kenne 3 "Grenzen" an die ich schon gestoßen bin.

Das eine sind die 255 Controls auf einer Form. Da hilft indizieren der Controls, wobei das nicht immer geht. Ein Button ist schließlich kein Label, ein Label keine Textbox usw. Je unterschiedlichem Control brauchts also minimum schonmal einen Namen.
Wie man die in der Controlsauflistung der Form zählen kann sollte wohl klar sein ^^
Ein anderes Problem sind ggf Events, wenn man die in Klassen programmieren will wirds mit indizierten Controls auch schwierig.

Der zweite Punkt ist, dass der Maschinencode einer Sub etc max 32KB gross sein darf (<- vielleicht sind es auch 64KB, jedenfalls gibts da eine Grenze). Codeteile rausnehmen, in Unterfunktionen auslagern und die aufrufen - die Lösung ist auch nicht schwer.

Die dritte Grenze sind die 32000 Namen im globalen Namensraum. Dazu zählen Controlnamen von Form, Formnamen, Public Subs, Function ..., Public Konstanten, Variablen, Enums ... eben alles was Public ist.
Da hilft es Teile in DLLs auszulagern.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Limitation in VB6 
Autor: Hakiri
Datum: 27.11.11 09:32

Hallo GBO!

Ja, es gibt zahlreiche Limitation (siehe Links im Startbeitrag), die kann man alle mit einfachen Mittelm umgehen, und selbst wenn man so irre ist und mehr als 255 Controls auf der Form haben muss, kann man das mit Indexen lösen, und dann wird einem sogar das zählen abgenommen

Worauf es aber ankommt ist das was Du als drittes schreibst.
Der globalen Namensraum, genau das sind die Identifiers, und da wüsste ich gerne mit unseren Projekten, wo wir da stehen. Man könnte ein kleines Programm schreiben, welches die zugehörigen Dateien durchparst, aber vielleicht gibt es da etwas einfacheres, denn wenn VB diese Grenze hat, dann wird es auch irgendwie wissen, wie der Stand ist, oder jmd hat das Rad dafür vielleicht schon erfunden.

Wir haben einiges AdOns für VB geschrieben, vielleicht findet man da was im internen Namespace.

Martin

Martin Domian

CioTec Ltd
F37 Waterfront Studios 1 Dock Road
London E16 1AH United Kingdom

Tel.: +44 7810 255482
Mail: MDomian@ciotec.de
URL: http://www.ciotec.de

UTR 64446 15259 (Unique Taxpayer Reference) Company No 10914665

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Limitation in VB6 
Autor: Dirk
Datum: 01.12.11 13:52

Ich vermute, der kann so etwas: http://www.aivosto.com/project/project.html. Er hilft dir auch dabei Ungenutztes zu eliminieren.

Gruß
Dirk

--
?Get it right the first time

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Limitation in VB6 
Autor: Dirk
Datum: 01.12.11 13:56

Hier mal ein Summary Report zu meinem Projekt:
Summary report - XXXXXX
______________________________________________________________________ 
 
System summary 
 
Projects                               12 
Total files                           516 
Source files                          378 
Source lines (LINES)               215970 
System size                         Large 
VB version(s)                         VB6 
 
Source lines (LINES): Total number of physical source lines 
 
Total size 
 
Source lines (LINES)               215970 
Source size                          6852 kB 
Resource files                       2584 kB 
Binary property (frx) files           864 kB 
 
Logical line: Lines continued on several lines are counted as one logical line. 
Lines excluded by conditional compilation are not included in the logical line _
  counts. 
 
 
Files 
 
Total files                           516 
Source files                          378 
Other files                           138 
 
File types 
Modules                                55 
Forms                                  38 
UserControls                            6 
Classes                               279 
Resource Files                          3 
Libraries (Declared)                   12 
Binary Property Files                  37 
Libraries (Controls)                    8 
Libraries (Referenced)                 20 
Version Compatibility Files            12 
Related Files                          21 
Project Workspaces                     12 
Project Files                          12 
Project Group File                      1 
 
Source file ages 
Oldest                           25.06.04 cExceptionInfo.cls 
Newest                           18.11.11 cGrHarnessSegmentConnection.cls 
Modified today                          0 0% 
Modified in 7 days                      0 0% 
Modified in 30 days                    45 12% 
Modified in 365 days                  137 36% 
Older than 365 days                   241 64% 
 
Source file last modified           Files 
2004                                    2 
2005                                    7 
2006                                   15 
2007                                    4 
2008                                   20 
2009                                   69 
2010                                  124 
2011                                  137 
Total source files                    378 
 
Average source file age is 20.8 months = 1.7 years 
 
Forms and controls 
 
Forms                                  38 
UserControls                            6 
Controls                              750 
 
Procedures 
 
Total procedures                    12611 
Source procedures                   10081 
Binary procedures                    2530 
- COM                                2530 
 
Source procedures                   10081 
Sub                                  2877 
Function                             1987 
Property accessor                    4924 
Event, Custom Event                    90 
Declare Sub/Function                  203 
 
Source procedures                   10081 
Private                              5060 
Friend                                195 
Public                               4826 
 
Properties                           3222 
Read/Write access                    1694 
- Get/Let/Set                           8 
Read only access                     1433 
Write only access                      95 
 
Properties and accessors             4924 
Accessors                            4924 
- Get                                3127 
- Let                                1618 
- Set                                 179 
 
Variables and constants 
 
Total                 Variables Constants 
Source                    14341      3122 
Binary                     4920       219 
 
Scope                 Variables Constants 
Global                       27      1954 
Module-level               1686      1025 
Local                      5181       143 
Parameters                 7447 
Total (source)            14341      3122 
 
Other declarations 
 
In source files 
 
Types                                  76 
Enums                                 176 
Enum constants                       1488

Gruß
Dirk

--
?Get it right the first time

Beitrag wurde zuletzt am 01.12.11 um 13:57:02 editiert.

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Limitation in VB6 
Autor: Hakiri
Datum: 02.12.11 07:53

Guten Morgen Dirk!

Ja klasse!
Das Tool ist zwar nicht gerade ein Schnäppchen, aber genau etwas, was mir ein wneig Arbeit und Sorge abnehmen könnte und die Infos übermittelt, die ich brauche.

Danke, auf so etwas hatte ich gehofft.

Es ist sicher auch für andere hilfreich.
Mir sind mehrere Firmen bekannt, die immer noch haufenweise Funktionen in VB6 einbauen und deren Produkte weiter wachsen und sicher noch lange im Markt bleiben.

Martin Domian

CioTec Ltd
F37 Waterfront Studios 1 Dock Road
London E16 1AH United Kingdom

Tel.: +44 7810 255482
Mail: MDomian@ciotec.de
URL: http://www.ciotec.de

UTR 64446 15259 (Unique Taxpayer Reference) Company No 10914665

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel