Laden...

Forenbeiträge von Guggsdu Ingesamt 220 Beiträge

09.05.2006 - 12:50 Uhr

Ja aber wie kann ich mich denn da anmelden? Ich finde nix dazu! Oder seh ich's einfach nicht?

09.05.2006 - 10:10 Uhr

Tach zusammen!

Ich möchte mich zu einer Sybase DB verbinden (aus C#.NET heraus). Ich habe gelesen, daß es dafür eine Bibliothek oder so geben muß, in der der namespace
Sybase.Data.AseClient
enthalten ist.

Wo finde ich diese Datei? Über Sybase hab ich's nicht hingekriegt.

Gibts es andere/ bessere Wege sich zu verbinden (kein ODBC)

26.04.2006 - 09:18 Uhr

Geil! Das geht ja!!!

Heißen Dank!

25.04.2006 - 20:18 Uhr

Aha - schon ein Stück weiter.
Aber wie zum Henker kann ich dann diesen Code in VB einbinden und nutzen???

Ich versuche es mit:

Public Declare Function Foo Lib "MyLib.dll" (ByVal lala As String)

Aber es kommt nur: 'Datei nicht gefunden: MyLib.dll'
Aber die leigt direkt daneben (neben der mdb - ich will aus einer Access-Datei darauf zugreifen)

25.04.2006 - 19:38 Uhr

Tach zusammen!

Ist es möglich eine dll in C# zu schreiben und diese in VB6 einzubinden?
Der Hintergrund ist folgender: Ein laufendes Projekt (VB6) wird nach C#.Net umgesetzt. Da aber der Kunde schreit, muß auch an der VB-Version noch einiges gemacht werden. Um sich aber Arbeit zu ersparen, soll eine dll geschrieben werden, die in beiden Projekten genutzt werden kann.

Gibt es Lösungen?

02.03.2006 - 12:25 Uhr

Exakt!

Und nun hatte ich die Hoffnung, daß das bereits einer mal gemacht hat, dar mir Tips geben kann - oder Codefetzen.
Ev. existiert ja dafür bereits eine Klasse oder ein Algorithmus oder so.

Was soll's. Muß ich eben selber ran.

02.03.2006 - 11:24 Uhr

Also meines Wissens kann man einen Hashcode nicht rückwärts entschlüsseln.
Oder liege ich da falsch?

Eine Darstellung in Hex hat nur Buchstaben bis F, was eine Menge Möglichkeiten ausschließt.

Sonst noch Ideen?

02.03.2006 - 11:13 Uhr

Tach zusammen!

Ich suche einen Algorithmus, mit dem ich für meine Applikation Lizenzschlüssel generieren kann.
Im Lizenzschlüssel sollen ein paar Daten verschlüsselt sein (Anzahl der angeforderten Lizenzen, Datum, etc). Der Schlüssel soll aber nur aus Ziffern und Buchstaben bestehen.
(Weil der Lizenz-Freischaltschlüssel ja vom Anwender eingetippt werden soll).

Alle Crypto-Algorithmen, die ich unter .NET gefunden habe, sind ungeeignet, weil im entstandenen String auch Sonderzeichen auftauchen.

Hat jemand eine Idee oder Erfahrung? Bin für jeden Tip dankbar.

07.02.2006 - 07:00 Uhr

So richtig kapier ich net, was Du willst.

Wenn Du mit DataTable.NewRow() eine neue DataRow erstellst ist diese erstmal lokal und noch lange nicht in der DB. Daher hat erstmal kein weiter user zugriff.

Die neue DataRow gehört übrigens auch noch lange nicht zu Deiner DataTable. Das mußt Du explizit angeben. Mit NewRow erhälst Du lediglich eine neue DataRow, die nach dem Schema der Tabelle aufgebaut ist.

Also gehe so vor:

DataRow newRow = deinDataTable.NewRow();
// Jetzt Werte zuweisen:
newRow[0] = ???;
newRow[1] = ???;
...

// neue DataRow der Tabelle hinzufügen:
deinDataTable.Rows.Add(newRow);

-- Und jetzt muß die geänderte Tabelle noch in die DB geschrieben werden. Erst dann haben andere user Zugriff.

05.02.2006 - 12:28 Uhr

So ihr Nasen, ich hab's jetzt selber rausgefunden:

man muß vorher die Tabelle abrufen, die das Schema der eigentlichen Tabelle enthält:

reader.GetSchemeTable();

Der enthält für jede zu erstellende Spalte eine Reihe. Die Spalten wiederum beschreiben die Eigenschaften der zu erstellenden Spalte.

Mithilfe dieser Tabelle baue ich also das Grundgerüst meiner eigentlichen Tabelle auf (lege Spalten an, weise Eigenschaften zu).

Und dann klappt's auch mit dem Nachbarn: table.Load(reader);

So is das!

04.02.2006 - 18:25 Uhr

Tach zusammen!

Seit Framework 2.0 kann man eine tabelle aus einer Db auch mittels dataReader auslesen:

IDataReader reader = command.ExecuteReader();
DataTable table = new dataTable();
table.Load(reader);

Feine Sache, weil man kein dataSet mehr braucht.

Problem: ich habe Tabellen, in denen der Primärschlüssel aus 2 Spalten besteht, von denen jede für sich natürlich nicht eindeutig sein muß.

Den Datareader aber stört das gewaltig. er erkennt, daß es sich um eine Primärschlüsselspalte handelt, unterstellt, daß sie eindeutig sein muß und läuft auf einen Fehler, sobald ein Eintrag doppelt auftaucht.

Wie kann ich dem reader beibringen, daß es doch 2 Primärschlüsselspalten gibt?

03.02.2006 - 12:27 Uhr

Ja mit MySql geht das - aber ist denn das Sql-Standard? Soweit ich weiß nicht!

03.02.2006 - 11:09 Uhr

@Programmierhans :

Ich habe mir tatsächlich einen eigenen CommandBuilder geschrieben. und weißt Du was - der läuft deutlich schneller, als der frameworksche🙂

03.02.2006 - 11:07 Uhr

Ja, das ist der Fehler.
Das hilft mir auch bei meiner Mysql-DB.

Trotzdem die Frage: Kann man allgemein (also lt. sql-standard) mehrere Zeilen auf einmal in eine db einfügen?
Ich frage deshalb, weil die Lösung allgemeingültig (also auch für andere DBs) sein soll.

03.02.2006 - 10:21 Uhr

Du meinst mittels CommandBuilder?
Wenn ja: Haste Dir mal angeguckt, was der Builder für Sql-Anweisungen kreirt?
grauenhaft!
Soweit ich weiß, erstellt der CommandBuilder für jede geänderte Datenzeile eine eigene sql-Anweisung. Das bedeutet, daß er ja doch jedes insert einzeln abschickt 😦

03.02.2006 - 10:05 Uhr

In meiner DB kann es vorkommen, daß eine Tabelle mit ca. 400.000 neuen Datensätzen gespeist wird.
Wenn ich nun 400.000 Insert-Anweisungen einzeln runterschicke, dauert das etwa 30min. (und das lokal!).

Um die DB zu administrieren, verwende ich Sqlyog. Der kann einen Dump von einer Tabelle ziehen - das ist quasi eine textdatei mit einer Insertanweisung.
Rückwärts kann Sqlyog auch diesen Dump wieder in die Tabelle spielen. Und das geht selbst bei 400.000 DS ziemlich fix (ca. 1min).

Die Insertanweisung sieht etwa so aus, wie weiter oben bereits beschrieben
-> Insert into tbl (Col0, Col1) Values('A', 'b'), ('C', 'd')...

Ich wollte das nun so ähnlich machen, habe aber rausgefunden, daß sowas nur bei neueren MySqls funzt. StoredProcedure mag ich nicht nehmen.

Außerdem sollte die Lösung auch bei anderen DBs funktionieren (auch Access).

Kennt jemand eine Lösung?

Gruß
Guggsdu

03.02.2006 - 07:06 Uhr

Verstehe ich Dich richtig?
Ich mache einfach mehrere Insert-Anweisungen, bastle alles zu einem einzigen String zusammen und schicke diesen String (also mit 3 Insertanweisungen) auf ein mal runter?

Oder verstehe ich Dich falsch?

Gruß
Guggsdu

02.02.2006 - 22:06 Uhr

Tach zusammen!

Soweit ich weiß, kann man in eine Tabelle auch mehrere Datensätze mit einer Sql-Anweisung einfügen.
Beispiel:

Insert into tbl (colA, colB) Values('A', 'b'), ('C', 'd'), ('E', 'f');

Das funktioniert soweit auch. Aber irgendwann sagt mir die DB, daß ihr das zu viel ist. (Lost connection to server, bzw. max_packet_length überschritten, oder so ähnlich).

Ich habe dazu folgende Fragen:
Liegt die Grenze bei:

  • der Anzahl der Zeichen,
  • der einzufügenden Records
  • wo genau ist die Grenze (Welcher Wert)?

Weiß jemand rat? Bin für jeden Tip dankbar

Gruß
Guggsdu

PS.: Ich arbeite mit einer MySql 5.0

30.01.2006 - 21:05 Uhr

Die Access-Application existiert schon seit einigen Jahren und greift via ODBC zu. - ist eben so und läßt sich auch nicht so schnell anpassen - leider.

30.01.2006 - 14:19 Uhr

Tach zusammen!

Ich greife aus einem Access-Formular über ODBC auf eine Access-DB bzw. eine MySql-DB.
Bisher alles wunderbar - bis ich das Framework 2.0 (released) installierte. Seitdem kann ich nicht mehr über ODBC von Access aus zugreifen.
Das Access-Fenster 'flackert' wie wild und ich verliere die Kontrolle über Access.

Hat jemand ähnliche Probleme oder noch besser - eine Lösung???

Gruß
Guggsdu

13.01.2006 - 06:50 Uhr

Tach zusammen!

Ich arbeite mit C# unter .NET 2.0 auf einer MySql 5.0-DB.

Nun möchte ich in einem Tabellenfeld der DB (Typ VARCHAR) einen String speichern, der die Pfadangabe zu einer Datei enthält. -> 'D:\Dateiname.txt'

Das Updatecommand sieht dann etwa so aus:

UPDATE tabelle SET column = 'D:\Dateiname.txt';

In der DB kommt der String leider ohne Backslashes an. Ich hae es mit einem, zweien und auch mit drei Backslashes versucht - immer das gleiche Ergebnis: Die Backslashes fehlen dann im DB-Feld--> D:Dateiname.txt

Wenn ich das Updatecommand im MySql-QueryBrowser eintrage, funktioniert es!!!

Hat jemand das gleiche Problem? Und vor allem: wie kann man das lösen??

Ich benutze den MySql - eigenen .NET-Treiber.

Gruß
Guggsdu

12.01.2006 - 20:38 Uhr

Tach zusammen!

Das @-Zeichen kann ich - wie bekannt - benutzen, um zu verhindern, daß Backslashes als Escapesequenzen erkannt werden (z. B. für Pfade);

Das funktioniert dann, wenn ich nach dem @ manuell einen string angebe.
Was aber muß ich machen, damit die zeichen in einer stringvariable (in der ein Pfad gespeichert ist) nicht als Escapesequenzen erkannt werden?
(z. B. Wenn ich die Stringvariable einem Stringbuilder übergebe und zum Schluß: StringBuilder.ToString() aufrufe).

Gruß
Guggsdu

07.11.2005 - 12:42 Uhr

Tach!

Warum legst Du nicht einfach eine Eigenschaft vom Typ AnchorStyles an?

03.11.2005 - 13:56 Uhr

Ich steh auch auf die kleinen roten Knuller. Ich kenne den Errorprovider.
Ich nutze in meiner Eingabemaske auch den Errorprovider.
Aber stell Dir mal vor, eine Eingabe ist ungültig (also hat eine Textbox ein Erroricon). Jetzt klickt der User aber außerhalb der Eingabemaske. In meiner Anwendung heißt das z. B., daß die Eingabemaske verschwinden soll und eine andere Maske erscheint. Da die alte Maske aber ungültig ist, will ich wissen, ob die bereits gemachten Änderungen verworfen werden sollen oder nicht (dann würde die Maske nicht verschwinden und man könnte die Einträge noch korrigieren).

Verstehste?

03.11.2005 - 11:27 Uhr

Oh - danke für den Tip.

Wie würdest Du das Problem lösen?
Die Eingabemaske ist nicht vollständig ausgefüllt und der User klickt aber außerhalb der Maske. Nun soll ihm die möglichkeit zum Speicher oder Verwerfen gegeben werden.

03.11.2005 - 08:17 Uhr

Tach zusammen!

Folgender Testaufbau:

Eine Form,, auf der sich eine TextBox und ein Button befinden. Wird der Button gedrückt, erscheint eine MessageBox("Button pressed");

Bei der TextBox hänge ich mich an das Validating-Ereignis.

Wenn ich nun im Validating-Ereignis e-Cancel = true setze, kann die TextBox nixht verlassen werden. setze ich e.Cancel auf false klappt es wieder.

Wenn ich aber im Validating-Ereignis eine MessageBox aufpoppen lasse (ohne daß ich das e.Cancel anfasse), wird die TextBox zwar verlassen, aber die nächste Aktion wird nicht ausgeführt.

Also: Fokus in TextBox und dann versuchen auf den Button zu drücken. Ich würde erwarten, daß erst die MessageBox des Validating-Ereignisses erscheint und dann die Meldung "Button pressed" (weil den Button hab ich ja gedrückt). Aber es erscheint nur die erste MessageBox. Wenn ich nun nochmal auf den Buton drücke, kommt endlich die Nachricht "Button pressed".

Der Hintergrund ist der, daß ich beim Verlassen einer Eingabemaske abfragen will, ob die Änderungen gespeichert werden sollen.

Kennt jemand das Problem? Wie macht ihr das?

31.10.2005 - 14:09 Uhr

Naja ich dachte mit Regex isses einfacher - oder zumindest eleganter - aber wenigsten schneller.

Wie würdest Du es denn mit Deiner Variante machen?

31.10.2005 - 13:57 Uhr

Tach zusammen!

Ich suche einen regex-Ausdruck, der mir aus einem string folgendes heraussucht:

{irgendeintext}

ich möchte also die geschweiften Klammern und den einschließenden Text (kann Buchstaben oder Zahlen oder sonstirgendwas sein)

Kennt sich jemand damit aus?

29.10.2005 - 11:17 Uhr

Tach zusammen!

Kann mir jemand verraten, wie ich eine eigene resourcen-datei ins VS2003 einbinde?

Ich habe im Projektmappenexplorer bereits eine resx-datei eingefügt und bei *BuildAktion' -> 'Eingebettete Resource' eingestellt.

Aber die App findet die Resource nicht. Was mache ich falsch?

Die Resource dienst zur Mehrsprachigkeit und enthält Fehlermeldungen (und ist erstmal nur die default-resource)

19.10.2005 - 07:56 Uhr

Tach!

Vergibt Deine Tabelle keine Datensatz-ID? (z. B. Primärschlüssel). Dann lass Dir doch einfach immer den Datensatz mit der höchsten ID anzeigen.

Gruß
Guggsdu

16.09.2005 - 09:07 Uhr

Das glaube ich nicht.
Ich initialisiere den Record ja mit einem leeren String: "".
Und nur wenn ich den String ändere und wieder Lösche (also wieder "" erhalte) kommt der Fehler.
Ändere ich den String nicht und speiche den Record mit der Initialisierungsvariable, funzt es.

Außerdem lasse ich in dem Feld in der DB Nullwerte zu.

15.09.2005 - 20:47 Uhr

Tach zusammen!

ich arbeite mit einer C#-Applikation auf einer Oracle 9i-DB.

In einer Tabelle habe ich ein Feld 'EMAIL', in dem ich auch NULL-Werte zulasse.

In meiner Form binde ich eine Textbox an die entspr. DataTable, Feld 'EMAIL'.
Soweit klappt alles ganz gut.

Will ich eine neue Zeile in die Tabelle einfügen, lade ich in die Tabelle eine neue zeile mit:
table.LoadDataRow(new object[] {..., "", ...

Für die Spalte 'EMAIL' gebe ich also einen String der Länge 0 vor.
So ein record läßt sich auch tatsächlich in die DB schreiben. Wenn ich in die Textbox aber was reinschreibe und wieder lösche (das ergibt ja auch einen String der Länge 0) sträubt sich die Datenbank mit der Meldung:

"Parameter 'p5': No size set for variable length data type: String"

Woran liegt das und wie kann ich das lösen??

Gruß
Guggsdu

25.07.2005 - 10:15 Uhr

Tacho!

Bei welcher Codezeile wird denn der Fehler erzeugt?

Du solltest ma ein bissl mehr Code posten, damit man Dir weiterhelfen kann!

18.07.2005 - 12:31 Uhr

Tach!

Unter .NET gibt es doch bereits einen Oracle-Namespace:
System.Data.OracleClient (muß meistens extra importiert werden).

Dort dürftest Du alles finden, was Du brauchst.

17.07.2005 - 13:59 Uhr

Heureka!

Jawoll, das geht!!

Warum bin ich eigentlich nicht selber draufgekommen??

Danke!!

17.07.2005 - 13:03 Uhr

Tach zusammen!

Ich habe eine DB-Applikation. Ich arbeite zur Zeit auf eine Oracle-DB. Die Applikation soll aber auch andere DBs unterstützen.
Soweit habe ich das alles über Schnittstellen hingekriegt (Connection, Adapter, etc.).

Aber jetzt kommt's:
Wenn ich nun eine Tabelle im DataSet habe und aus einem Feld etwas auslesen will, werde ich mit dem DB-eigenen Datentyp konfrontiert.

Oracle liefert mir z. B. eine Zahl meist als Decimal (Konvertierung wird so vom Framework angeboten). Aber ich weiß ja nicht, was mir andere DB's so zurückgeben würden.

Jetzt könnte ich ja mit einem IDataReader arbeiten und dort: .GetInt32() aufrufen.
Das klappt soweit auch an den meisten Stellen.

Jetzt habe ich aber eine Tabelle bereits im DataSet drin. kann ich auf diese Tabelle einen Reader draufsetzen? Ich kann an dieser Stelle nicht nochmal ein Command.ExecuteReader() ausführen. Es muß doch möglich sein, auch auf einer im dataSet vorhandenen Tabelle einen dataReader auszuführen.

Hat jemand eine Idee??

11.07.2005 - 10:16 Uhr

Tach zusammen!

Benutzt man für jede Tabelle die man abfragt ein eigenes DataSet? Oder ein DataSet für die gesamte Anwendung?

06.07.2005 - 09:45 Uhr

Hm.
Das ist zwar ne Möglichkeit die geht, aber ist das echt so gewollt? Das ist ja tierisich umständlich.

Gibt's denn keine andere Idee? Ich dachte mir, daß dafür ja auch irgendetwas im Frameworkvorgesehen sein muß.

05.07.2005 - 19:23 Uhr

Tach zusammen!

Ich fülle eine Tabelle meines DataSets über einen DataAdapter mit der Fill()-Methode.
Der Adapter fügt neue Zeilen aus der DB hinzu bzw. ändert veränderte Zeilen auch im dataSet.

Wenn aber zwischenzeitlich Zeilen in der DB gelöscht wurden (z. B. durch einen anderen Nutzer), dann bleibt diese Zeile in meiner DataTable im DataSet stehen.

Nun könnte ich auf die entsprechende Tabelle ein Table.Clear() anwenden. Leider hat die Tabelle eine Relation zu einer anderen, sodaß das nicht möglich ist.

Wie kann ich der DataAdapter.Fill()-Methode beibringen, auch gelöschte Datensätze im DataSet zu löschen.

Bin für jeden Hinweis dankbar.

16.06.2005 - 20:53 Uhr

Tach zusammen!

Ich habe einem DataGrid einen DataGridTableStyle verpaßt und diesem wiederum eine DataGridBoolColumn. ich habe MappingName der tabelle und der Spalte gesetzt.

Die Spalte enthält ushort-Werte (fragt nicht warum!).
Also habe ich TrueValue = 1 und FalseValue = 0 der DataGridBoolColumn eingestellt.

Soweit so gut.

Wenn ich so eine Checkbox anklicke, wird die auch an- bzw. abgehakt. Sobald ich die Checkbox aber verlasse, wird sie grau und zeigt auch einen grauen Haken. Der Wert in der DB wird aber korrekt gesetzt.

Wie kriege ich das nun hin, daß die Checkboxen nun auch den richtigen Wert anzeigen??

Gruß
Guggsdu

21.05.2005 - 19:04 Uhr

Tach zusammen!

Wie kann ich im C# alle möglichen LPT- und COM-Ports auflisten, die ein Rechner zur Verfügung stellt?

12.05.2005 - 07:45 Uhr

Tach zusammen!

Ich habe da ein kurioses Problem:
Ich greife mit einer C#-Applikation auf eine Oracle 9i-DB zu. Ich benutze einen DataAdapter und einen CommandBuilder.
Der Adapter befüllt mir ein DataSet.

Nachdem ich nun Änderungen an der Tabelle vorgenommen habe. Schreibe ich diese mittels adapter.Update in die DB zurück.

Nun folgendes Szenario:

Die geladene DataTable besitzt nur eine Zeile, u. a. mit Zellen, in denen ein String gespeichert werden soll.

Mit table.Rows[0]["MyCell"] = textBox.Text weise ich nun einer Zelle den Wert einer TextBox zu.
Wenn in der TextBox was drin steht, oder (wenn nix drin steht) ich die TextBox nicht anfasse, funktioniert das Update. Wenn ich aber nur einmal reinklicke und nix reinschreibe oder den Eintrag lösche, kommt beim adapter.update() eine Fehlermeldung: 'Parallelitätsverletzung...'.

Kann mir das jemand erklären? Es handelt sich eindeutig um eine Fehlermeldung des Framework und nicht der DB.

Bin für jeden Hinweis dankbar.

10.05.2005 - 10:19 Uhr

Tach zusammen!

Zitat aus 'GotoCSharp' S. 206:

"...Da dieser finally-Block sozusagen eine Art Sicherheitszone darstellt, löst jeder Versuch, die Programmausführung mit return, goto oder einer anderen Anweisung aus dem finally-Block herauszuführen, einen Fehler aus."

So is das...

24.04.2005 - 08:53 Uhr

Tach zusammen!

Ich gebe dem Benutzer eines Programmes die Möglichkeit, aus einer ganzen Reihe von Eintragen (aus einem ListView) ein paar davon auszuwählen (im Normalfall wird er so etwa 3 oder 4 auswählen).

Nun möchte ich diese ausgewählten (nur die ausgewählten!) Werte in einer DB speichern und sehe dafür 2 Möglichkeiten:

1.: Ich lege in der entspr. Tabelle für jeden ausgewählten Wert einen Datensatz an.

2.: Ich füge die selektierten Werte zu einem String zusammen und schreibe dazwischen immer ein eindeutiges Trennzeichen. Damit ergibt sich für mich nur ein Datensatz.
Die Rücktrennung sollte später mit String.Split kein Problem darstellen.

Welche Möglichkeit ist die bessere?

21.04.2005 - 06:53 Uhr

MeasureString() habe ich versucht. Wenn der Font aber Bold ist, wird die Width manchmal falsch berechnet! (Klingt unglaublich, is aber so).

Immerhin kann ich jetzt das Ereignis abfangen und selbst reagieren (Doppeklick zwischen zwei Spaltenköpfe):
Man muß die protected WndProc(ref Message m) - -Methode überschreiben und die Windows-Messages abfangen.

Die falsche Berechnung bereitet mir allerdings noch Sorgen.

21.04.2005 - 06:47 Uhr

Tach!

Also ich kenne ja die genaue Arbeitsweise Deines Programmes nicht. Vielleicht liege ich deshalb auch mit meinem Vorschlag daneben:

Ist es denn nicht möglich EINE Tabelle zu erstellen und das DataGrid einfach nur als DataSource dranzuhängen (Das sollte mit einer schlauen SELECT-Anweisung doch möglich sein!?)

19.04.2005 - 06:47 Uhr

Danke herbivore,

aber weil die nicht-bold-Einträge dann nach hinten zu viel Platz aufweisen würden und die Spaltenüberschriften dann in jedem Fall bold wären, stellt das für mich keine Lösung dar.

18.04.2005 - 15:11 Uhr

Tach zusammen!

Ich habe ein ListView mit mehreren Spalten. Wenn ich nun Items (und SubItems) einfüge, kann es passieren, daß der enthaltene Text länger ist, als die Spalte breit ist. Wenn ich nun mit dem Cursor zwischen das Ende des betreffenden Spaltenkopfes und dem Beginn des nächsten gehe und doppelklicke, paßt sich die Spaltenbreite automatisch der Länge des längsten Textes im ListView an. (ähnlich wie im Excel).

Das funktioniert aber nur so lange, wie die Items den gleichen Font haben. Hat das Item mit dem längsten Text einen Font mit "Bold" (somit wird der Text länger), wird die Spalte nicht genügend verbreitert.

Ich habe nun festgestellt, daß bei der Berechnung der notwendigen Spaltenbreite offensichtlich der Font des ListViews und nicht der Font der einzelnen Items zur Berechnung herangezogen wird.

Nun würde ich ja die Berechnung auch gerne selber machen, weiß aber nicht, wie ich das Ereignis (Doppelklicken auf Spaltenkopfzwischenraum) abfangen soll.

Hat jemand eine Lösung (Vielleicht eine andere, als mein Lösungsansatz)? Hat denn schon mal jemand das Problem gehabt? Wie kann man das lösen? Ich bin für jeden Hinweis dankbar!

23.03.2005 - 10:28 Uhr

Tach!

Wie kann man die Größe eines Objektes (also sozusagen den Speicherbedarf im RAM) feststellen?
Mit SizeOf geht's irgendwie nicht!?

21.03.2005 - 07:57 Uhr

Tach zusammen!

Ich habe mal eine generelle Frage zum Design von Datenbankprogrammen.
Wie baut ihr sowas auf?
Stellt euch vor, das Programm hat eine ganze Menge Forms.

Fragt ihr die Daten in der Klasse der Form ab oder macht ihr dazu eine eigene Klasse?
Oder macht ihr einen zentralen 'Datenpool'?

Ich suche ein paar generelle Tips zum Aufbau/ Design eines solchen Programmes