German Listview.dll

D

Deleted member 103

Guest
Hallo,
wer kann mir helfen?

Ich habe eine Listview.dll mit "Visual Studio 2005" erstellt (es fehlen aber noch ein paar Funktionen).

Es ist auch kein Problem in Basic4ppc einzufügen.
Aber schon bei der Zeile "listview1.new1("form1“,0,0,200,150)“ kommt der erste Fehler.

Was mache ich falsch?

Als Anlage ein Basic4ppc-Projekt (TestListview.zip) und das Listview-Projekt(Listview.zip)


Ciao,
Filippo
 

specci48

Well-Known Member
Licensed User
Longtime User
Hallo Filippo,

ich habe mich zwar bisher noch nicht an einer eigenen .dll versucht, würde aber gerne mal drüber schaun...
... wenn Du tatsächlich die Anhänge mitgeliefert hättest! ;)


specci48
 
D

Deleted member 103

Guest
mit etwas verspätung...:signOops:
 

Attachments

  • Listviewprojekt.zip
    14.1 KB · Views: 474

specci48

Well-Known Member
Licensed User
Longtime User
Die Fehlermeldung sagt etwas von fehlender Objektinstanz...

Ich habe mal Dein Projekt mit der VB-Variante der ScrollBar verglichen. Dabei ist mir aufgefallen, dass in Deinem Konstruktor kein Objekt erzeugt wird:

ScrollBar:
B4X:
    Sub New(ByVal FormName As Control, ByVal Left As Int32, ByVal Top As Int32, ByVal Width As Int32, ByVal Height As Int32, ByVal IsVertical As Boolean)
        If IsVertical Then
            sb = [B]New VScrollBar[/B]
        Else
            sb = [B]New HScrollBar[/B]
        End If
        sb.Left = Left
        sb.Top = Top
        sb.Width = Width
        sb.Height = Height
        FormName.Controls.Add(sb)

Somit müsstest Du Deine Listview um folgendes ergänzen:
B4X:
    Sub New(ByVal FormName As Control, ByVal Left As Int32, ByVal Top As Int32, ByVal Width As Int32, ByVal Height As Int32)
        [B]ListView1 = New ListView[/B]
        ListView1.Left = Left
        ListView1.Top = Top
        ListView1.Width = Width
        ListView1.Height = Height
        FormName.Controls.Add(ListView1)

        ' Select the item and subitems when selection is made
        ListView1.FullRowSelect = True

    End Sub

Vielleicht hilft es ja!

Gruß
specci48
 
D

Deleted member 103

Guest
genial!

du hast vollkomen recht, so muss es sein.
**********************************************
Sub New(ByVal FormName As Control, ByVal Left As Int32, ByVal Top As Int32, ByVal Width As Int32, ByVal Height As Int32)
ListView1 = New System.Windows.Forms.ListView
With ListView1
.View = View.Details
.Left = Left
.Top = Top
.Width = Width
.Height = Height
End With

FormName.Controls.Add(ListView1)
End Sub
**********************************************
Ich stelle die fertige DLL sobald ich fertig bin.

Danke und Ciao
FIlippo
 
D

Deleted member 103

Guest
Hallo,

ich brauche wieder etwas Hilfe damit ich die Listview.dll fertig machen kann.
Die jetzige Version ist bisher nur auf dem Desktop lauffähig.
Kann mir jemand sagen was noch fehlt, damit es auf dem PocketPC auch läuft?

Vielen Dank schon im Voraus

Ciao,
Filippo
 

Attachments

  • Listviewprojekt.zip
    53.3 KB · Views: 453
  • Fehlermeldung.jpg
    Fehlermeldung.jpg
    6.3 KB · Views: 345

hoffi

Member
Moin,

Ich hab mir mal deinen quellcode angeschaut und nichts auffäliges finden können (habe allerdings auch schon ewig nich mehr mit vb.net gearbeitet). allerdings ist mir aufgefallen, dass du die libary fürs cf 2.0 entwickelt hast? ich kann mich auch täuschen, aber meine erste libary hatte ich zuerst auch für 2.0 entwickelt und sie hat auch nich funktioniert. übertrage alles doch mal in ein neues 1.0 projekt. ich vermute, dass es dann funktioniert.

MfG Hoffi
 
D

Deleted member 103

Guest
Hallo hoffi,

erstmal vielen Dank für deine Antwort.
Es ist richtig, ich möchte die Library fürs cf 2.0 entwickeln weil hier ein paar Funktionen mehr sind die ich unbedingt für meine Application brauche.
Eins verstehe ich aber nicht, warum lauft es auf dem PPC nicht?
So viel ich weiss lauft Basic4ppc auch mit cf 2.0 oder?

Ich finde dass eine Listview-Library viel besser währ als ein Table-Control.

Na ja, vielleicht kann mir doch noch jemand weiter helfen oder mit entwickeln.

Ciao,
Filippo
 

specci48

Well-Known Member
Licensed User
Longtime User
Hallo Filippo,

mal ne ganz blöde Frage ... hast Du auf Deinem MDA Pro überhaupt .Net CF2 installiert?
Standardmäßig besitzt WM5 nur .Net CF 1.1 (genau wie mein iPAQ, daher kann ich Deine Library auch nicht testen).


specci48
 
D

Deleted member 103

Guest
Hallo specci48,

es ist bestimmt keine blöde Frage!
Das das .Net CF2 installiert ist sicher, sonst würde die SQL-Library nicht laufen und die läuft nur mit .Net CF2.

Aber so wie Erel jetzt mir in eine Email schreibt liegt es warscheinlich an Visual Studio 2005.
Hier die zwei sätze:
########################
You should make sure that you've created a .Net CF library and not a .Net
library.
If it was created with Visual Studio 2005 then it probably targets the .Net
CF 2.0.
########################

Ich werde es nochmal testen...

Ciao
Filippo
 

alfcen

Well-Known Member
Licensed User
Longtime User
Hallo Filippo,
Darf ich mich mit einer 'bloeden' Frage einklinken?
Hast Du Deiner ListViewTest.exe eine
ListViewTest.exe.config
hinzugefuegt?
Mit der config laeuft Deine DLL auf'm iPAQ hx4700 mit .NET CF2 problemlos.

Ganz Deiner Meinung, die ListView sieht besser aus als die Tabelle.
Auch wenn ich die ListView gerne unter .NET CF 1.0 lauffaehig haette, verstehe, dass Du .NET CF2.x Funktionen einbauen willst.

Gruss
Robert
 
D

Deleted member 103

Guest
Hallo Robert,

erst mal Danke für dein Fidback.
Du hast Recht, es muss nicht sein das nach jeder Sortierung der letzte Eintrag markiert wird. Es war alt nur für meine Applikation angepasst, ich werde es aber ändern.
Ich werde auch, soweit es mir möglich ist, eine Funktion einbauen um die Farben für die Zeilen zur konfigurieren.

Eine Frage noch! Warum wäre dir lieber Listview unter .NET CF 1.0?

Ciao,
Filippo
 

alfcen

Well-Known Member
Licensed User
Longtime User
Hallo Filippo
Die meisten WM5.0 Pocket PCs haben .NET CF 1.0 im ROM vorinstalliert. Version 2.0 muss zusaetzlich ins RAM installiert werden. Den meisten Anwendern ist das zuviel und viele wissen nicht, dass man 2.0 auch in eine Speicherkarte installieren kann. Persoenlich habe ich heute .NET CF 3.5 installiert (damit laeuft Deine DLL auch).

Herzlichen Dank, ich freue mich auf die neuen Funktionen :)

Was mir noch auffiel, der Listview.Clear Befehl loescht nicht die column headers (kann natuerlich auch beabsichtigt sein). Ein Listview.RemoveCols waere schoen zu haben.

Hattest Du Glueck mit der config Datei?

Gruesse
Robert
 
D

Deleted member 103

Guest
Hallo Robert,

mit der Config-Datei habe ich keine Probleme.
Was ist eigentlich neu in .NET CF 3.5 oder warum hast du es installiert?

Die Funktion Listview.RemoveCols werde ich auch noch hinzufügen.

Ciao,
Filippo
 

alfcen

Well-Known Member
Licensed User
Longtime User
Hallo Filippo
Nach der Forum Hackerei sind wohl einige posts verlorengegangen.
Hast Du inzwischen an Deiner DLL weitergearbeitet?
Ciao
Robert
 

alfcen

Well-Known Member
Licensed User
Longtime User
Ciao Filippo
Kein Problem, viel wichtiger ist, dass Dein Urlaub erholsam war.
Die neuste Version schau ich mir in Kuerze an.
Deine DLL is wirklich toll, bleib am Ball :)
Mille gracie!
Robert
 

specci48

Well-Known Member
Licensed User
Longtime User
Hallo Filippo,

damit wir das englische Forum nicht zu sehr mit einer Fremdsprache belasten, setze das Hilfe-Thema hier im deutschen Teil fort...

Um es gleich noch einmal klar zu stellen, ich finde Deine dll echt Klasse! :sign0060:
Das ändert aber nichts an der Tatsache, dass eine gute Hilfedatei Deine sehr gute Arbeit noch besser zur Geltung bringt.

Zum einen sind viele Dinge eben nicht so selbsterklärend wie Du als Entwickler der dll glaubst, so nenne ich z.B. nur die Funktion AddColumn. Nur über einen Blick in die Source ist klar, dass der dritte Parameter zur Textausrichtung dient und die Ausprägungen 0, 1 und 2 für linksbündig, rechtsbündig und zentriert stehen.
Zum anderen verliert man ohne direkte Hilfe in der IDE so langsam den Überblick, welche dll's es inzwischen mit welchen Funktionen gibt. Und nur die wenigsten werden sich die Mühe machen, nochmal sämtliche Sourcen aller verfügbaren Dll's zu durchforsten, nur um die eine oder andere Funktion zu entdecken...
Es ist ja auch nicht notwendig, gleich ein komplettes Handbuch zu entwerfen ... ;) Ein simples Textfile tut es auch, dafür wird Dein Englich sicherlich reichen.

Da ich heute aber ein wenig langeweile hatte, habe ich mal angefangen, eine (englische) chm Hilfe für Deine ListView.dll zu entwerfen (siehe Bildanhang). Wenn Du nichts dagegen hast, werde ich sie im Laufe der Woche vervollständigen und hier im Deutschen Forum für Dich zur Prüfung veröffentlichen. Anschliessend sollten wir sie dann der gesamten Community zur Verfügung stellen.

Viele Grüße
specci48
 
D

Deleted member 103

Guest
Hallo specci48,

ich habe gar nichts dagegen in gegenteil ich frohe mich das du eine Hilfe-Datei schreiben willst. Kannst du mir dann den Quellcode zur Verfügung stellen wenn du fertig bist? Ich könnte dann, falls neue Funktionen hinzu kommen, die Hilfe erweitern.

Ciao,
Filippo
 
Top