Laden...

Forenbeiträge von camelord Ingesamt 256 Beiträge

26.01.2009 - 12:00 Uhr

Ja herbivore, das dachte ich auch schon und habe mir mal den Business Contact Manager von MS angeschaut.
Das geht schon auch in die Richtung, ist mir aber zu viel Marketing drin. Ich hätte lieber was Richtung Projektverwaltung.. Das OnTime hats bisher am ehesten getroffen.

26.01.2009 - 10:51 Uhr

das sieht schon eher danach aus, wonach ich suche.. danke schon mal m@crotron.
Kostenlos ist es für Single User auch.. prima.

26.01.2009 - 09:55 Uhr

Ja so in der Art..
Eine Liste von Projekten mit seinen Aufgaben und Zeiten sollte schon vorhanden sein.

Jedoch ziele ich mehr auf Dokumentenverwaltung.
Es sollte möglich sein, Dokumente (evtl. per Drag Drop) Aufgaben zuzuordnen, Notizen erstellen, Mails hinzuziehen und die Dateien Kategorien zuordnen..

Das ganze kann man dann entweder nach Projektansicht, oder nach Dokumentenansicht durchsuchen.

26.01.2009 - 08:31 Uhr

Hallo,

da ich mittlerweile mehrere Entwicklungsprojekte betreue und manche schon einige Jahre laufen, bin ich gerade auf der Suche nach einem Tool, mit dem ich übersichtlich und schön geordnet, meine Kommunikation mit dem Kunden veralten kann. Und das Projektbezogen und in Aufgaben gegliedert. Die Aufgaben sollte man kategorisieren können. Dann sollte man Mails, Dateien, Notizen etc. in die Verwaltung mit reinziehen können.. Gibts sowas?

Gruß
camelord

20.01.2009 - 08:21 Uhr

uh andenkopflang

klar, ich trottel..

ich habe jetzt die Msflxgrd.ocx und MSHFLXGD.OCX erfolgreich mit regsvr32 registriert und zack.. schon gehts.

Danke!

20.01.2009 - 08:09 Uhr

Guten morgen,

ich habe eine alte .NET 1.1 Anwendung, die verschiedene DLLs verwendet.
Unter anderem:

  • AxInterop.MSFlexGridLib.dll
  • AxInterop.MSHierarchicalFlexGridLib.dll
  • Interop.MSFlexGridLib.dll
  • Interop.MSHierarchicalFlexGridLib.dll

Das sind wohl FlexGrids, die Daten in Tabellenform anzeigen sollen.

Jetzt bekomm ich beim start der Anwednung immer die Fehlermeldung:
System.Runtime.InteropServices.COMException(0x800...): Klasse nicht registriert..

Deshalb gehe ich davon aus, dass ich die DLLs, die wohl COM Objekte Darstellen, noch registrieren muss. Dass geht aber weder mit regsvr32.exe noch mit gacutil..

Hat da jemand nen Tip.. Ich komm nicht mehr weiter.

Gruß
camelord

14.01.2009 - 08:47 Uhr

danke schon mal..
Die Kommunikation wird im Netzwerk stattfinden.
Ob die verschiedenen Rechner in einer Domain sind oder lose im Netz angestöpselt sind, ist noch nicht klar.. Spielt das ein Rolle?

Kann ich mir dieses Remoting als klassische Client - Server Technologie vorstellen?

14.01.2009 - 08:23 Uhr

Hallo,

ich benötige Kommunikation zwischen verschiedenen Rechnern.
Ich dachte dabei an .NET Remoting. Reine Socket Kommunikation will ich nicht verwenden, da ich Remoting noch nie verwendet habe, und dies mal auspropbieren will.

Kennt jemand ne gute Guide zu .NET Remoting, oder ist davon auf jeden Fall abzuraten?
Soll ich lieber eine andere Technologie verwenden?

Gruß
camelord

27.11.2008 - 14:27 Uhr

hmm, ich habs jetzt mal ohne onPaint() gemacht:
Scrollt wunderbar..
Sollte ich das anders programmieren, oder passt das so?

Das ist der Inhalt der MainForm (siehe Bild)


 public partial class Form1 : Form
    {
List<Panel> myRails = new List<Panel>();
        int myBorderSize = 0;
        int myNumberOfPanels = 6;
        private readonly Size myPanelSize = Size.Empty;

        private enum ScrollDirection
        {
            Left,
            Right
        }

        public Form1()
        {
            InitializeComponent();

            myPanelSize = new Size((int)Math.Round((float)((panel1.Size.Width / 3) - 5), 0, MidpointRounding.AwayFromZero), panel1.Size.Height - 10);

            for (int i = 0; i <= myNumberOfPanels; i += 1)
            {
                Panel thePanel = new Panel();
                thePanel.BorderStyle = BorderStyle.FixedSingle;
                thePanel.Size = myPanelSize;

                myBorderSize += 5;

                thePanel.Location = new Point(myPanelSize.Width * i + myBorderSize, 5);
                myRails.Add(thePanel);
                panel1.Controls.Add(thePanel);

            }
        }

        private void FillRails(ScrollDirection theScrollDirection)
        {           
            for (int thePanelPixel = 0; thePanelPixel <  myPanelSize.Width; thePanelPixel += 1)
            {
                for (int i = 0; i < myRails.Count; i++)
                {
                    int theNewXPoint = 0;
                    switch (theScrollDirection)
                    { 
                        case ScrollDirection.Left:
                            theNewXPoint = myRails[i].Location.X - 1;
                            break;

                        case ScrollDirection.Right:
                            theNewXPoint = myRails[i].Location.X + 1;
                            break;
                    }
                    myRails[i].Location = new Point(theNewXPoint, myRails[i].Location.Y);
                }
                panel1.Update();
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            //LEFT
            FillRails(ScrollDirection.Left);
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //RIGTH
            FillRails(ScrollDirection.Right);
        }
}

21.11.2008 - 09:47 Uhr

Jetzt hab ich schon die erste Frage.

Wenn du dir das Bild anschaust, siehst du drei Panels (R1 - R3) mit Objekten drin. Diese drei Panels sind jedoch nur ein Ausschnitt von mehreren Panels. Wegen Platzmangels kann ich aber immer nur drei anzeigen.

Jetzt wäre es optimal, wenn man einen Button nach rechts/links drückt, die aktuellen 3 Panels verschwinden und die nächsten drei Panels nach rechts/links flüssig reingezogen werden. Wie wenn man durchblättern würde.

Geht das auch in der OnPaint() Funktion, oder ist das etwas komplizierter?

Gruß
camelord

21.11.2008 - 08:45 Uhr

alles klar..
danke für das Angebot

19.11.2008 - 13:36 Uhr

ich habs mir mal angeschaut.. ich denke dass übernehm ich so.

danke!

18.11.2008 - 07:46 Uhr

Klasse Powerbond.. Genau sowas such ich!
Danke.. Solche Tools sind Gold Wert und machen einem das Entwicklerleben einfacher..

17.11.2008 - 15:20 Uhr

Hallo,

ich habe eine Applikation, deren Meldungen (Fehler, Infos etc.) in der Standard Resource Datei ausgelagert sind.
Die Texte sind auf mehrere Sprachen übersetzt und in lokalisierten Resource Dateien (z.B. Resources.fr-FR.resx, Resources.it-IT.resx usw. Insgesamt 6 Resource Dateien) gespeichert.
Jetzt haben sich in letzter Zeit einige Änderungen ergeben, die neue Texte in der Standard Resource Datei zur Folge hatte.
Ein paar Einträge wurden bereits in die lokalisierten Resourcen nachgezogen und übersetzt, jedoch nicht alle.
Ich habe keinen Überblick mehr, welcher Text bereits übersetzt ist, und welcher nicht.
(Resourceinhalt ist sehr groß geworden).

Gibt es ein Tool oder eine Möglichkeit, die lokalisierten Resource Dateien mit der Standardresource abzugleichen, um festzustellen, welche Einträge noch übersetzt werden müssen.

Gruß
camelord

14.11.2008 - 16:45 Uhr

Ja, ich stell mir das auch nicht schwer vor..

Falls es aber schon eine Art Grafikframework o.ä. bekannt wäre, hätte ich halt das verwendet.

Trotzdem danke

14.11.2008 - 15:17 Uhr

Hallo,

meine Applikation benötigt eine Funktion die ich im folgenden Beschreibe. Bevor ich mit der Entwicklung anfange, wollte ich fragen, ob es so etwas in der Art schon gibt:

Ein Panel (BasePanel) hat mehrere Controls in seiner Controls Liste und sind wahllos im Panel angeordnet.
Wenn man nun einen Button drückt, erscheint ein neues Panel auf dem BasePanel, dass man mit der Maus über das gesamte Panel ziehen kann. Wenn man beim ziehen nun über eines der Controls kommt, verfärbt sich dieses Control z.B.

Gruß
camelord

12.11.2008 - 15:37 Uhr

gut hat geklappt..

danke euch!

12.11.2008 - 14:20 Uhr

Hallo,

in meiner C# Applikation (.NET 3.5, VS 2008) habe ich eine Funktion implementiert, die nur für einen bestimmten Kunden gilt.

Jetzt dachte ich, dass ich per Compilerswitch die Function "freischalten" kann, standardmäßig ist sie aber "deaktiviert".

Wie geht sowas? Gehts überhaupt so?

Gruß
camelord

11.11.2008 - 16:06 Uhr

Ok Remote-Debug scheint nun zu funktionieren..

danke..

11.11.2008 - 13:31 Uhr

ich versuchs mal mit windbg..
Der Rechner, auf dem die Applikation läuft ist ein Produktions-PC in einer Fabrikhalle.
Da installiere ich kein VS..

11.11.2008 - 12:19 Uhr

Nein, ich habe kein anderes Framework auf diesem Rechner. Nur Version 1.1

Die Applikation hängt an drei Umgebungskomponenten.
Das sind: MSMQ, Datenbank und Userrechte

Da ich damals, als ich das Programm entwickelt habe, keine besondere Beachtung der Umgebung geschenkt habe, schmiert das Programm irgendwo im Code ab, an der ihm etwas von den Komponenten fehlt.

Nun habe ich gehofft, dass ich durch die Speicheradresse rausbekomme, in welcher Funktion das Programm abbricht, um so die fehlhafte oder fehlende Komponente herauszubekommen..

Gruß
camelord

11.11.2008 - 11:24 Uhr

Hallo,

ich habe eine alte .NET 1.1 Applikation, die jetzt einen Absturz meldet, wenn man das Programm startet.

Es kommt leider nur eine Systemabsturzmeldung mit einer Speicheradresse.
Kann ich mit irgendeinem Tool mithilfe der Speicheradresse rausfinden, welche Funktion bei dem Absturz betroffen ist?

Gruß
camelord

25.09.2008 - 15:11 Uhr

Hallo,

ich habe drei verschiedene Projekte, jedes in einer unterschiedlichen Projektmappe.
Das zweite baut auf dem ersten auf und das dritte auf dem zweiten, sprich das zweite verwendet die DLL des ersten, die dritte die DLL des zweiten Projekts.

Jedes Projekt hat ein paar Einstellungen in einer Settingsdatei gespeichert.

Nachdem ich die DLL des zweiten Projekts in das dritte eingebunden hatte, hatte ich erwartet, dass beim Complieren des dritten Projekts, die Settingsdatei des ersten und zweiten Projekts zusammen mit der Settingsdatei des dritten Projekts im Build Ordner des dritten Projekts vorhanden und einstellbar ist.

Ich finde aber nur die config Datei des dritten Projekts.

wie macht man sowas?

Gruß
camelord

24.09.2008 - 11:05 Uhr

Jetzt hab ich den Übeltäter: DataSource!

Ich habe die Datasource herausgenommen und die Items manuell gefüllt.
Danach gings auf Anhieb gut..

Hier der funktionierende Code:


//Constructor
{..
 myCameraJobColumn.DisplayMember = "Name";
 myCameraJobColumn.ValueMember = "Number";

 foreach (KeyValuePair<int, string> theData in EnvironmentSingleton.Instance.CameraJobs)
{
     CameraJobs theCameraJob = new CameraJobs(theData.Key, theData.Value);
      myCameraJobColumn.Items.Add(theCameraJob);
}
..}

//CameraJob Data Class
class CameraJobs
{
      public CameraJobs(int theNumber, string theName)
        {
            myNumber = theNumber;
            myName = theName;
         }

      private int myNumber;

      public int Number
      {
           get { return myNumber; }
           set { myNumber = value; }
      }

            private string myName;

      public string Name
      {
           get { return myName; }
           set { myName = value; }
       }
}

//Fill the ComboBox
foreach (Control theCameraControl in myCameraTable.Controls)
            {
                int theIndex = myCameraJobDataGridView.Rows.Add();
                myCameraJobDataGridView.Rows[theIndex].Cells[myCameraColumn.Name].Value = theCameraControl.Text;
                DataGridViewComboBoxCell theCameraJobComboxBox = myCameraJobDataGridView.Rows[theIndex].Cells[myCameraJobColumn.Name] as DataGridViewComboBoxCell;
               
                //Preselect the CameraJob, if any has been assigned
                if (theCameraControl.Tag != null)
                {
                    for (int theRowIndex = 0; theRowIndex < theCameraJobComboxBox.Items.Count; theRowIndex += 1)
                    {
                        CameraJobs theCameraJob = theCameraJobComboxBox.Items[theRowIndex] as CameraJobs;
                        int theCameraIndex = int.Parse(theCameraControl.Tag.ToString());
                        if (theCameraJob.Number == theCameraIndex)
                        {
                            theCameraJobComboxBox.Value = theCameraJob;
                            myCameraJobDataGridView.UpdateCellValue(myCameraJobColumn.Index, theIndex);
                        }
                    }
                }
            }

24.09.2008 - 08:27 Uhr

So, hier der Screenshot vom richtigen Stacktrace. Bei GetFormatedValue hauts ihn raus.
ich kann damit immernoch nix anfangen..

23.09.2008 - 16:33 Uhr

OK Th69, die Datasource ist nun der Column zugewiesen. Es ist so, dass jede ComboBox in der Column dieselben Daten hat.

Im Anhang habe ich mal ein Screenshot vom DataError Event hinzugefügt.. Da ist der Stack leider leer..

23.09.2008 - 15:29 Uhr

hmm, ich weiß jetzt gar nicht wo ich ansetzten soll.

Ich will doch nur aus der Combobox ein bestimmtes Item Selektieren, so wie bei der normalen ComboBox mit SelectedIndex. Das kann doch nicht so schwer sein.

23.09.2008 - 13:00 Uhr

Den DataError hab ich schon angehängt. Der sagt dasselbe, hilf mir aber bei der Problemlösung nicht..
NULL hat der Value auf jeden Fall nicht! Ich weise nur zu, wenn ich auch einen Wert finde.

23.09.2008 - 11:39 Uhr

Hallo,
ich habe ein DataGridView (myCameraJobDataGridView), dass eine Spalte mit Textboxen und eine mit ComboBoxen (DataGridViewComboBoxCell) hat.

In einer Schleife fülle ich das Grid mit Werten auf:

foreach (Control theCameraControl in myCameraTable.Controls)
            {
                //Add new Row to the Grid
                int theIndex = myCameraJobDataGridView.Rows.Add();

                //Set the value of the first Column (TextBoxes)
myCameraJobDataGridView.Rows[theIndex].Cells[myCameraColumn.Name].Value = theCameraControl.Text;

                //Set the value of the second Column (ComboBoxes)
                DataGridViewComboBoxCell theCameraJobComboxBox = myCameraJobDataGridView.Rows[theIndex].Cells[myCameraJobColumn.Name] as DataGridViewComboBoxCell;

                //Set the DataSource of the ComboBox with a previous filled Datatable
                theCameraJobComboxBox.DataSource = myCameraJobTable;
                theCameraJobComboxBox.DisplayMember = "Name";
                theCameraJobComboxBox.ValueMember = "Number";

                //Preselect the CameraJob, if any has been assigned
                if (theCameraControl.Tag != null)
                {
                    for (int theRowIndex = 0; theRowIndex < myCameraJobTable.Rows.Count; theRowIndex += 1)
                    {
                        DataRow theRow = myCameraJobTable.Rows[theRowIndex] as DataRow;
                        if (theRow["Number"].ToString().Equals(theCameraControl.Tag.ToString()))
                        {
                            theCameraJobComboxBox.Value = theRow;
                            myCameraJobDataGridView.UpdateCellValue (myCameraJobColumn.Index, theIndex);
                        }
                    }
                }
            }

Das funktioniert wunderbar, bis ich zu dem Punkt komme, an dem ich die Applikation starte.
Es kommt jedesmal der Fehler:


DataGridView Default Error Dialog

The following exception occurred in the DataGridView: System.FormatException: DataGridViewComboBoxCell value is not valid. To replace this default dialog please handle the DataError event.

OK

Die Tipps aus anderen Foren funktionieren nicht.
Zu hülf..

Gruß
Camelord

18.09.2008 - 11:03 Uhr

ok das reicht schon..

danke dir.

18.09.2008 - 10:52 Uhr

Hallo,

ich muss aus meiner Applikation heraus, ein externes Programm starten und wieder schließen.

Ich dachte, dass ich dazu System.Diagnostics.Process verwende. Das klappt auch ganz gut, jedoch muss ich wissen, wann das externe Programm geschlossen ist.

Jetzt meine Frage: Gibt es in .NET 2.0 eine Möglichkeit (nicht unbedingt mit der Process Klasse) eine Art BeginEndProcess() Funktion, die einen Callback aufruft, sobald der Prozess beendet ist?

Gruß
camelord

02.09.2008 - 17:21 Uhr

Nächstes Problem:

Ich habe eine Datenbank angelegt, die folgende Tabellen hat:

RDB$PAGES
RDB$DATABASE
RDB$FIELDS
RDB$INDEX_SEGMENTS
RDB$INDICES
RDB$RELATION_FIELDS
RDB$RELATIONS
RDB$VIEW_RELATIONS
RDB$FORMATS
RDB$SECURITY_CLASSES
RDB$FILES
RDB$TYPES
RDB$TRIGGERS
RDB$DEPENDENCIES
RDB$FUNCTIONS
RDB$FUNCTION_ARGUMENTS
RDB$FILTERS
RDB$TRIGGER_MESSAGES
RDB$USER_PRIVILEGES
RDB$TRANSACTIONS
RDB$GENERATORS
RDB$FIELD_DIMENSIONS
RDB$RELATION_CONSTRAINTS
RDB$REF_CONSTRAINTS
RDB$CHECK_CONSTRAINTS
RDB$LOG_FILES
RDB$PROCEDURES
RDB$PROCEDURE_PARAMETERS
RDB$CHARACTER_SETS
RDB$COLLATIONS
RDB$EXCEPTIONS
RDB$ROLES
RDB$BACKUP_HISTORY
MON$DATABASE
MON$ATTACHMENTS
MON$TRANSACTIONS
MON$STATEMENTS
MON$CALL_STACK
MON$IO_STATS
MON$RECORD_STATS
Box
BrandOwner
CounterRange
DataSource
GreyMarketScheme
InkType
Insert
Job
LoyaltyScheme
ProducedCounter
Production

Wenn ich z.B. einen Select auf die Tabelle Production machen will, kommt immer die Fehlermeldung:

Dynamic SQL Error
SQL error code = -204
Table unknown
PRODUCTION
At line 4, column 13

STATEMENT:
TIBOInternalDataset: "FrmSqlEditor.FraSqlEdit.IboQuery.IBOqrIboQuery."

Der SQL Befehl:

SELECT * FROM Production;

Nehme ich eine Systemtabelle, funktioniert es

SELECT * FROM RDB$DATABASE;

Was stimmt noch nicht?

02.09.2008 - 13:09 Uhr

JUHU, ich habs!!

Der Fehler lag daran, dass ich FirebirdDDEXProvider32.reg zur Registrierung verwendet habe. Diese Version FirebirdDDEXProviderPackageLess32.reg war die richtige!

Unglaublich, wie man so mies dokumentieren kann!

Gruß
Camelord

01.09.2008 - 08:12 Uhr

Ich hab VS 2005 Professional Edition..

Das Hinzufügen der 5 Tools FBCommand, FBCommandBuilder, FBConnection, FBDataAdapter und FBDataConnectionUIControl hat geklappt und lässt sich in einem Windows.Forms verwenden.

Ich verstehs nicht.

29.08.2008 - 14:42 Uhr

Anbei noch meine Konfigurationen. Ich hoffe, da kann mir jemand weiterhelfen.

Registrierungsdatei: FirebirdDDEXProvider32.reg

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0\DataSources\{2979569E-416D-4DD8-B06B-EBCB70DE7A4E}]
@="Firebird Data Source"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0\DataSources\{2979569E-416D-4DD8-B06B-EBCB70DE7A4E}\SupportingProviders\{92421248-F044-483A-8237-74C7FBC62971}]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0\DataProviders\{92421248-F044-483A-8237-74C7FBC62971}]
@=".NET Framework Data Provider for Firebird"
"DisplayName"="Provider_DisplayName, FirebirdSql.VisualStudio.DataTools.Properties.Resources"
"ShortDisplayName"="Provider_ShortDisplayName, FirebirdSql.VisualStudio.DataTools.Properties.Resources"
"Description"="Provider_Description, FirebirdSql.VisualStudio.DataTools.Properties.Resources"
"FactoryService"="{AEF32AEC-2167-4438-81FF-AE6603341536}"
"InvariantName"="FirebirdSql.Data.FirebirdClient"
"Technology"="{77AB9A9D-78B9-4ba7-91AC-873F5338F1D2}"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0\DataProviders\{92421248-F044-483A-8237-74C7FBC62971}\SupportedObjects]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0\DataProviders\{92421248-F044-483A-8237-74C7FBC62971}\SupportedObjects\DataConnectionSupport]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0\DataProviders\{92421248-F044-483A-8237-74C7FBC62971}\SupportedObjects\DataConnectionProperties]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0\DataProviders\{92421248-F044-483A-8237-74C7FBC62971}\SupportedObjects\DataConnectionUIControl]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0\DataProviders\{92421248-F044-483A-8237-74C7FBC62971}\SupportedObjects\DataObjectSupport]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0\DataProviders\{92421248-F044-483A-8237-74C7FBC62971}\SupportedObjects\DataSourceInformation]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0\DataProviders\{92421248-F044-483A-8237-74C7FBC62971}\SupportedObjects\DataViewSupport]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0\Services\{AEF32AEC-2167-4438-81FF-AE6603341536}]
@="{8d9358ba-ccc9-4169-9fd6-a52b8aee2d50}"
"Name"="Firebird Provider Object Factory"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0\Packages\{8d9358ba-ccc9-4169-9fd6-a52b8aee2d50}]
@="Firebird Data Package"
"InprocServer32"="C:\\WINDOWS\\system32\\mscoree.dll"
"Class"="FirebirdSql.VisualStudio.DataTools.DataPackage"
"CodeBase"="D:\\Programme\\Firebird\\VSAddin\\FirebirdSql.VisualStudio.DataTools.dll"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0\Packages\{8d9358ba-ccc9-4169-9fd6-a52b8aee2d50}\SatelliteDll]
"DllName"="FirebirdSql.VisualStudio.DataToolsUI.dll"
"Path"="D:\\Programme\\Firebird\\VSAddin"

Die Daten aus dem Global Assembly Cache:

FirebirdSql.Data.FirebirdClient, Version=2.0.1.0, Culture=neutral, PublicKeyToken=3750abcc3150b00c, processorArchitecture=MSIL
              SCHEME: <OPAQUE>  ID: <FirebirdClient>  DESCRIPTION : <Firebird .NET Data Provider 2.0.1 (.NET 2.0)>  
FirebirdSql.VisualStudio.DataTools, Version=2.0.1.0, Culture=neutral, PublicKeyToken=bae6c78ccb0fcdb3, processorArchitecture=MSIL

Und hier noch die machine.config


<configuration>
  <configSections>
    <section name="firebirdsql.data.firebirdclient" type="System.Data.Common.DbProviderConfigurationHandler, System.Data, Version=2.0.1.0, Culture=neutral,PublicKeyToken=bae6c78ccb0fcdb3"/>
..
  </configSections>

..

<system.data>
    <DbProviderFactories>
      <add name="FirebirdClient Data Provider" invariant="FirebirdSql.Data.FirebirdClient"     description=".Net Framework Data Provider for Firebird"     type="FirebirdSql.Data.FirebirdClient.FirebirdClientFactory, FirebirdSql.Data.FirebirdClient, Version=2.0.1.0, Culture=neutral, PublicKeyToken=3750abcc3150b00c"/>
..
  </DbProviderFactories>
</system.data>

29.08.2008 - 10:28 Uhr

Das gibts doch nicht..
Jetzt versuch ich schon seit gestern dieses DDEX VS Studio Plugin zu installieren und kriegs nicht hin!

Ich habe die Versionen:
-VS Studio 2005
-FirebirdDEXProvider-2.0.2 (DDEX)
-FirebirdClient-2.0.1 (.NET Data Provider)
-Firebird-2.1.0.17798 (Datenbank)

Ich hab mich genau an diese Anleitung gehalten: codemuch

Jedesmal wenn ich im Server Explorer auf Datenverbindungen-Verbindung hinzufügen klicke, kommt die Fehlermeldung (siehe Anhang: Error1).

In der Computerverwaltung kommt eine Ereignisanzeige:

Die Beschreibung der Ereigniskennung ( 0 ) in ( devenv ) wurde nicht gefunden. Der lokale Computer verfügt nicht über die zum Anzeigen der Meldungen von einem Remotecomputer erforderlichen Registrierungsinformationen oder DLL-Meldungsdateien. Möglicherweise müssen Sie das Flag /AUXSOURCE= zum Ermitteln der Beschreibung verwenden. Weitere Informationen stehen in Hilfe und Support. Ereignisinformationen: .NET Framework Data Provider for Firebird: Der Herstellerdienst des Datenanbieterobjekts wurde nicht gefunden..

Kann mir da jemand weiterhelfen? Das nervt..

Gruß
camelord

28.08.2008 - 12:59 Uhr

Hoi,
das hört sich ja nicht schlecht an!
Ich probier den Firebird gleich mal aus..

Gibt es ein VS 2005 Addin und .NET Treiber für den den Firebird?

28.08.2008 - 08:00 Uhr

Was hast Du gegen DB2 ? 8o

Das frag ich mich auch gerade..
Aber ich schau mir gerne mal Firebird an..

27.08.2008 - 11:21 Uhr

Es wird eine Auswertung geben, die man monatlich oder jährlich zusammenfassen kann.
Ich versuche mich gerade an der DB2 Express-C von IBM. Wenn ich mich nicht verlesen habe, hat sie keine Beschränkungen und ist komplett kostenlos. Es gibt sogar ein Visual Studio AddOn.. Perfekt.
Kennt die Datenbank Version jemand?

27.08.2008 - 08:17 Uhr

Der Hintergrund:
Im Endeffekt ist es ein Client, der eine Datenbank im Hintergrund hat. Mehr nicht..
Es läuft eine Art Produktion bei der täglich ca. 20 MB Daten (vielleicht etwas mehr), gemessen and Textdateien, entstehen werden. Diese müssen geloggt und später ausgewertet werden.

26.08.2008 - 13:44 Uhr

Ok danke für die Hilfe! Hat prima geklappt.

Jetzt habe ich noch eine zweite Frage.
Das Limit der Größe pro Datenbank des Sql Servers 2005 Express liegt bei 4GB. Kennt jemand eine relationale Datenbank, die kein Limit in der Datenbankgöße hat und eine Lizenz nicht gleich 2000 € oder mehr kostet wenn man das dazugehörige Programm verkaufen will.

Gruß
Camelord

22.08.2008 - 15:57 Uhr

Hallo,

ich habe für eine Anwendung ein kleine Datenbank erstellt. Das sie nicht viel können muss, reicht der SQL Server 2005 Express aus.
Mit meinem Visual Studio konnte ich eine neue Datenbank und die Tabellen erzeugen.

Jetzt da das Programm fertig ist und ich es auf dem einem anderen Rechner installieren muss, musste ich entsetzt festellen, dass es keine Möglichkeit gibt, die Datenbank weder
zu exportieren noch zu auf dem neuen Rechner zu importieren.

Das war doch beim 2000er SQL Server ein Standardfeature..

Kann mir jemand weiterhelfen, oder muss ich ein kleines Programm entwickeln, dass die
die Datenbank exportiert und wieder importiert?

Gruß
camelord

20.08.2008 - 08:53 Uhr

OK die TCPClient, TCPListener Klassen kapseln das wichtigste um eine Verbindung zu erstellen und einen Socket für die Kommunikation zur Verfügung zu stellen.
Eigentlich nicht schlecht.. Warum benutzt das nicht jeder?
Alle Beispiele sind rein mit Sockets erstellt..

camelord

Edit: Oh, da hat das Eichhörnchen schon geantwortet.. Hatte ich nicht gesehen.

20.08.2008 - 08:08 Uhr

Gut so..

Eine Frage hab ich jetzt noch zu den Sockets.
Was ist eigentlich der Unterschied zwischen Socket und TCPListener? Wenn ich den TCPListener verwende, hab ich dieselben Möglichkeiten auf eine Verbindung zu warten und dann herzustellen, wie wenn ich die Socket Klasse verwende..

Gruß
Camelord

19.08.2008 - 14:32 Uhr

ok, danke für den Tipp NeuroCoder

19.08.2008 - 13:04 Uhr

👍 natürlich.. und ich mach solche verrenkungen..
Danke wolpertinger

19.08.2008 - 11:13 Uhr

Problem:

ich habe GetHashCode für eine Klasse überschrieben, die einen Key darstellt.
Der key setzt sich aus drei Werten zusammen:
Monat (myMonth), Jahr (myYear) und einem Referenz String (myReferenceName).
Da der Hashcode ein Int32 ist, muss ich den String in einen Int32 Wert konvertieren.
Das mach ich wie oben beschrieben.
Jetzt ist aber das Problem, dass der String eben zwischen 1 und 30 Zeichen lang sein kann, was mir bei 3 Zeichen z.B. den oben genannten Fehler bringt.

Jetzt dachte ich, dass es reicht, wenn ich die Anzahl der Bytes im Array abfrage und dementsprechend nach Int32 oder Int16 konvertiere oder nur den Byte Wert nehme.
(Siehe Codebeispiel)

Jetzt meinte aber wolpertinger:

also wäre das Array dafür zu groß bzw. dir würde ein Byte verlorengehen

Wie komm ich denn dann auf meinen Int Wert?

camelord

19.08.2008 - 10:16 Uhr

Hmm, wie löse ich dann folgendes:

public override int GetHashCode()
        {            
            //The OR-Assignement, let the Int value start by int.min if int.max is reached.
            int theHashCode = 23;
            theHashCode = theHashCode | myMonth;
            theHashCode = theHashCode | myYear;
            byte[] theReferenceNameAsByteArray = Encoding.ASCII.GetBytes(myReferenceName);

            if (theReferenceNameAsByteArray.Length >= 4)
            {
                theHashCode = theHashCode | BitConverter.ToInt32(theReferenceNameAsByteArray, 0);
            }
            else if (theReferenceNameAsByteArray.Length >= 2)
            {
                theHashCode = theHashCode | BitConverter.ToInt16(theReferenceNameAsByteArray, 0);
            }
            else if (theReferenceNameAsByteArray.Length == 1)
            {
                theHashCode = theHashCode | theReferenceNameAsByteArray[0];
            }
          
            return theHashCode;
        }
19.08.2008 - 09:57 Uhr

ach so, mit Zielarray ist die Quelle gemeint.
Das heißt ich muss in diesem Fall BitConverter.ToInt16(theStringAsArray,0) verwenden?