vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

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

Fragen & Antworten rund um sev-Komponenten
ListItems-Problem nur in kompilierter EXE 
Autor: Reinski
Datum: 16.01.06 18:46

Tach zusammen!

Obwohl ich ja schon länger mit dem Grid arbeite, werd ich aus der ListItems-Eigenschaft immer noch nicht schlau.
So ist es doch so, dass man mit einer Referenz auf eine ListItems-Instanz nur so lange arbeiten sollte, bis man diese Eigenschaft erneut aufruft.
Seit ich mich daran halte, sind auch einige hartnäckige Probleme verschwunden - und so wähnte ich mich schon als ListItems-Experte...
Bis jetzt, denn im folgenden Code-Schnipsel mache ich meiner Ansicht nach nichts falsch und in der IDE funktioniert auch alles, wie es soll.
Nur in der kompilierten EXE funktioniert es nicht. Da landet der im Else-Zweig gespeicherte 'OrigListKey' scheinbar im Daten-Nirvana.
    'Noch kein Original-Schlüssel gespeichert?
    If sevGrid1.ListItems(RowNo).CellText("OrigListKey") = "" Then
        'Schlüsselwert vorhanden?
        If sevGrid1.ListItems(RowNo).CellText("ListKey") = "" Then
            'Speichere -1 als Original-Schlüssel
            sevGrid1.ListItems(RowNo).CellText("OrigListKey") = "-1"
        Else
            'Speichere den aktuellen Schlüssel als Original
            sevGrid1.ListItems(RowNo).CellText("OrigListKey") = _
              sevGrid1.ListItems(RowNo).CellText("ListKey")
        End If
    End If
Und bitte nicht herum meckern, dass ich keinen With-Block benutze, denn damit funktioniert es in der Tat auch in der EXE.
Ich würde aber gerne wissen, warum es so nicht funktioniert, damit ich ggf. ähnlich Fälle in meinem Projekt lokalisieren kann.
Vielen Dank schonmal für die Hilfe.
Gruß!

Reinski

PS: Demo-Projekt mit SevGrid1, einem Command1 und folgendem Code:
Option Explicit
 
Private Sub Command1_Click()
    Static RowNo As Long
 
    RowNo = RowNo + 1
    If RowNo > sevGrid1.Rows Then
        RowNo = 1
    End If
 
    'Noch kein Original-Schlüssel gespeichert?
    If sevGrid1.ListItems(RowNo).CellText("OrigListKey") = "" Then
        'Schlüsselwert vorhanden?
        If sevGrid1.ListItems(RowNo).CellText("ListKey") = "" Then
            'Speichere -1 als Original-Schlüssel
            sevGrid1.ListItems(RowNo).CellText("OrigListKey") = "-1"
        Else
            'Speichere den aktuellen Schlüssel als Original
            sevGrid1.ListItems(RowNo).CellText("OrigListKey") = _
              sevGrid1.ListItems(RowNo).CellText("ListKey")
        End If
    End If
 
End Sub
 
Private Sub Form_Load()
    With sevGrid1
        .DataMode = Mode_List
        .AllowEdit = True
        .ColumnAdd "Val", "Val", 1500, ALIGNMENT_LEFT, , TYPE_COMBOLIST
        .ColumnAdd "ListKey", "ListKey"
        .ColumnAdd "OrigListKey", "OrigListKey"
        .AddItem "Montag" & vbTab & 1
        .AddItem "Mittwoch" & vbTab & 3
        .AddItem "Donnerstag" & vbTab & 4
        .AddItem ""
    End With
End Sub

Immer noch auf der Suche nach dem "Tu's trotzdem"-Button...

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
ListItems-Problem nur in kompilierter EXE725Reinski16.01.06 18:46
Re: ListItems-Problem nur in kompilierter EXE399ModeratorDieter17.01.06 07:58
Re: ListItems-Problem nur in kompilierter EXE434Reinski17.01.06 11:46

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-2025 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