Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

(VB 6) Listbox - Begrenzte Zahl an Einträgen

Frage Entwicklung VB for Applications

Mitglied: 17735

17735 (Level 2)

01.10.2007, aktualisiert 02.10.2007, 5627 Aufrufe, 4 Kommentare

Hallo,

ein von mir geschriebenes Programm in VB6 berechnet alle Primzahlen bis zu einer vom Benutzer vorgegebenen oberen Grenze. Dabei werden alle Primzahlen einer Listbox hinzugefügt:

lstPrimzahlen.AddItem Primzahl

Anschließend, wenn die Berechnung fertig ist, möchte ich in einem Label ausgeben, wie viele Primzahlen gefunden wurden:

lblPrimzahlenCounter.Caption = lstPrimzahlen.ListCount & " gefundene Primzahlen"

Dies funktioniert soweit auch ganz gut, wenn man als obere Grenze eine Zahl kleiner als 386.000 eintippt. Wenn die Zahl größer ist, scheint das berechnen noch zu funktionieren, und die Primzahlen landen auch (anscheinend) vollständig in der Listbox, im Label steht dann allerdings eine negative Zahl, z. B.:

-32697 gefundene Primzaheln

Was soll das bzw. wie kann ich das beheben? Hat eine Listbox in VB vielleicht eine begrenzte Zahl an Einträgen? Habe dazu bisher nichts gefunden.

Gruß,
Ahnenforscher
Mitglied: AndreasHoster
01.10.2007 um 19:07 Uhr
Ich finde, der Fehler klingt sehr nach falscher Interpretation von signed und unsigned Integern.

Eine unsigned Integer hat einen Wertebereich von 0 bis 65535 (16bit) und eine signed Integer geht von -32768 bis 32765, wobei das höchstwertige Bit bestimmt, ob positiv oder negativ, d.h. wenn die Listbox mehr als 32765 Elemente enthält und eine unsigned Integer zurückgibt (was auch Sinn macht, da es ja nicht weniger als 0 Einträge geben kann, aber die implizite Wandlung in einen String von signed Integern ausgeht, dann kann sowas schon passieren.

Es gibt doch sicherlich in VB6 Funktionen, die explizit Zahlen in Strings umwandeln und auch mit unsigned Integern zurechtkommen.

Nicht auszuschließen ist aber natürlich auch die Variante, daß VB6 tatsächlich nur 32765 Einträge in einer Listbox verkraftet. Habe kein VB6, kann es leider nicht ausprobieren. Aber mit einer Zählschleife von 1 bis 40000 und das Ergebnis in eine Listbox reinschreiben könnte man das recht einfach testen.
Bitte warten ..
Mitglied: 17735
01.10.2007 um 19:16 Uhr
Hallo,

also ich kenne die Funktion CStr() die eine Variable in den Variablentyp String umwandelt - und diese wende ich auch an. Leider bringt das mit und ohne Umwandlung keinen Unterschied, wobei deine Begründung am Anfang ziemlich logisch scheint, da der Fehler wirklich in diesem Bereich auftritt.

Gruß,
Ahnenforscher
Bitte warten ..
Mitglied: 17735
01.10.2007 um 19:40 Uhr
Hi,

also ich hab da gerade was gefunden:

Aufgrund eines Bugs in der VB-Listbox ist es nicht möglich, auf mehr als ca. 32000 Einträge zuzugreifen, da die ListCount-Eigenschaft den Datentyp Integer hat. Ab dieser Grenze ist der Listcount-Wert blöderweise negativ! Unter Windows9x ist es noch nichteinmal möglich, überhaupt mehr als 32000 Einträge einzufügen! Unter Win2000 kann man sie zwar einfügen, aber nicht drauf zugreifen.

(Zitat von http://www.activevb.de/tipps/vb6tipps/tipp0469.html)

Schade!

Gruß,
Ahnenforscher
Bitte warten ..
Mitglied: 17735
02.10.2007 um 17:03 Uhr
Hat jemand eine Idee, wie man das Problem umgehen kann? Vielleicht gibt es eine gleichwertige Alternative zur Listbox in VB6?

Gruß,
Ahnenforscher
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Powershell Button um Listbox einträge auszuwählen
gelöst Frage von BuggerBatch & Shell4 Kommentare

Hallo, ist es möglich Einträge in einer Listbox per extra Button auszuwählen? In einer langen Liste hätte man so ...

Visual Studio
VB - Mail Attachments - Anhang mittels Listbox
gelöst Frage von KurdirektorVisual Studio4 Kommentare

Hallo, ich habe folgenden Code geschrieben Dieser funktioniert soweit auch ganz gut aber leider nur dann wenn auch alle ...

VB for Applications
Suche mittels Eintrag in Listbox und einer gewählten Checkbox
Frage von aivilonVB for Applications2 Kommentare

Moin Admins Folgendes Szenario: Bei mir im Geschäft verwendet die Vermittlungshotline ein wirklich abstruses, riesiges Excel als Telefonliste. Es ...

Datenbanken
Alle Einträge zählen die einen bestimmten Status haben und diese einzeln anzeigen
Frage von tobmesDatenbanken1 Kommentar

Hi, wie der Titel schon verrät möchte ich in meiner Datenbank Einträge zählen und diese dann anzeigen. Hier mal ...

Neue Wissensbeiträge
Windows 10

Windows 10 Fall Creators Update - Neue Funktion Hyper-V Standardswitch kann ggf. Fehler bei Proxy Configs verursachen

Erfahrungsbericht von rzlbrnft vor 5 StundenWindows 101 Kommentar

Hallo Kollegen, Da wir die Gefahr lieben, haben wir bei einigen Usern nun mittlerweile das Creators Update drauf. Einige ...

Sicherheit

TLS-Zertifikat und privater Schlüssel von Microsofts Dynamics 365 geleakt

Information von Penny.Cilin vor 6 StundenSicherheit

Microsoft hat versehentlich das TLS-Zertifikat inklusive dem privaten Schlüssel seiner Business-Anwendung Dynamics 365 geleakt. TLS-Zertifikat und privater Schlüssel von ...

Viren und Trojaner

Deaktivierter Keylogger in HP Notebooks entdeckt

Information von bitcoin vor 1 TagViren und Trojaner2 Kommentare

Ein Grund mehr warum man Vorinstallationen der Hersteller immer blank bügeln sollte Der deaktivierte Keylogger findet sich im vorinstallierten ...

Router & Routing

Lets Encrypt kommt auf die FritzBox

Information von bitcoin vor 1 TagRouter & Routing

In der neuesten Labor-Version der FB7490 integriert AVM unter anderem einen Let's Encrypt Client für Zugriffe auf das Webinterface ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

LAN, WAN, Wireless
Brainstorming, einfachste Option 1 getrenntes LAN (mit WAN zugang)
Frage von 132954LAN, WAN, Wireless13 Kommentare

Hi, folgendes: Wir bekommen eine Glasfaser Leitung, Und das sollte Optional so aussehen: Ein Modem/Router für das WAN, ein ...

Batch & Shell
Trusted Sites für alle User auf dem PC einpflegen
Frage von xXTaKuZaXxBatch & Shell12 Kommentare

Aufgabestellung: Es sollen auf 1 PC (bzw. mehreren PCs) vertrauenswürdige Sites per Powershell eingetragen werden, die für alle User ...

Netzwerkgrundlagen
Hi eine blöde frage. xD
Frage von 132954Netzwerkgrundlagen12 Kommentare

Also: Habe 2012 r2 essentials neuinstalliert, allerdings installiert diese version ja gleich diesen gangen AD kram mit, den hab ...