Laden...
A
a957m myCSharp.de - Member
Dipl. Ing. Informationstechnik Stuttgart Dabei seit 20.05.2007 254 Beiträge
Benutzerbeschreibung
Ich habe ca. vor einem Halben Jahr begonnen mich mit C# zu beschäftigen. Folgende Themen habe ich mir schon angeignet Windows Forms, Datenbankprogrammierung

Forenbeiträge von a957m Ingesamt 254 Beiträge

06.08.2018 - 08:32 Uhr

Hallo Witte,

Du hast mich verstanden 😁

Ich habe einen ziemlich komplexen Select, dem ich mit DbParameter Kritierien zur Selektion übergebe. Jetzt muss ich den Select um eine where in clause erweitern und würde gern die Liste per DbParameter setzen. Dazu habe ich nichts gefunden. Habe jetzt die komplette where in clause in das SQL gepackt.

Aber vielleicht hat ja jemand noch eine Idee.

Danke

03.08.2018 - 16:34 Uhr

verwendetes Datenbanksystem: Oracle

Hallo,

bekomme gerade folgendes nicht hin … hat vielleicht jemand eine Idee.

Habe folgenden select:

select * from zzz where kst not in ('1234','3444','4444);

Würde die Liste in der where in clause gerne über einen Parameter übergeben. Geht so was ?

Vielen Dank.

29.08.2012 - 14:44 Uhr

Ja, klar. Ich habe aber auch schon das Problem, dass die Texte nicht richtig angezeigt werden.

Ich werde wohl versuchen mit dem HierarchicalDataTemplate die Items zu befüllen. Dort brauche ich ja aber auch wieder den Value-Converter.

Vielen Dank für Eure Unterstützung.

29.08.2012 - 14:19 Uhr

Auszüge aus der Klasse:

public abstract class CBaseKnoten : IValidierbar, INotifyPropertyChanged
{
#region Member Variablen
        protected CBaseKnoten m_parent;
        protected bool m_status;
#endregion

...

 [XmlIgnore]
        public bool Status
        {
            get { return m_status; }
            set
            {
                m_status = value;
                if (PropertyChanged != null) PropertyChanged(this, new PropertyChangedEventArgs("Status"));
            }
        }

...
#region Ereignisse
        public event PropertyChangedEventHandler PropertyChanged;
#endregion
29.08.2012 - 14:06 Uhr

Hi,

anbei ein Auszug der Code-Behind Datei:

private void AddItem2Tree(CBaseKnoten _knoten, TreeViewItem _item)
        {
            foreach (CBaseKnoten bk in _knoten.Children)
            {
                TreeViewItem subitem = MakeTreeViewItem(bk);
                _item.Items.Add(subitem);
                AddItem2Tree(bk, subitem);
            }
        }
        private TreeViewItem MakeTreeViewItem(CBaseKnoten _knoten)
        {
            TreeViewItem item = new TreeViewItem();
            item.DataContext = _knoten;
            item.Tag = _knoten;
           
            return item;
        }
29.08.2012 - 13:37 Uhr

Hi,

hab nach Euren Anregungen noch mal meinen Code durchforstet und festgestellt, dass in der Code-Behind Datei die Text-Eigenschaft für den TextBlock gesetzt wird. Mache ich dies über XAML werden keine Texte mehr angezeigt. Damit ist die Vemutung von Quaneu nun doch bestätigt. Nur was kann da falsch laufen ? Beim Erzeugen der TreeViewItem Objekte setzte ich den DataContext auf das jeweilige Objekt.

29.08.2012 - 12:31 Uhr

Hallo Quaneu,

die Lösung über einen Converter habe ich relativ häufig bei meiner Suche im Internet gefunden. Scheint relativ gängig zu sein, aber aus meiner Sicht nicht sehr schön, ich würde ja schon gern alles in XAML machen.

Der DataContext sollte ja eigentlich schon stimmen, da die Texte im Tree korrekt angezeigt werden.

Danke für Deine Unterstützung.

29.08.2012 - 10:55 Uhr

Hallo Kollegen,

bräuchte eine konkrete Anregung. Hab einiges zu dem Thema gefunden und hatte auch das Gefühl, dass ich schon langsam etwas mit der WPF machen kann, aber nun dies...

Hab Objekte mit der Eigenschaft Status in einem Baum visualisiert. Abhängig von Status sollen unterschiedliche Images vor den Items angezeigt werden. Dies passiert dummerweise nicht, es wird immer das gleiche angezeigt.

Die Objekte habe ich über den DataContext an das jeweilige TreeViewItem gebunden. Hat jemand eine Idee

<Style TargetType="{x:Type TreeViewItem}">
                    <Setter Property="HeaderTemplate">
                        <Setter.Value>
                            <DataTemplate DataType="my:CBaseKnoten">
                                <StackPanel Orientation="Horizontal">
                                    <Image Name="Bild" Width="16" Height="16" Source="Images\Saved.png"/>
                                    <TextBlock Text="{Binding}" Margin="5"/>
                                </StackPanel>

                                <DataTemplate.Triggers>
                                    <DataTrigger Binding="{Binding Path=Status}" Value="True">
                                            <Setter Property="Image.Source" Value="Images\Changed.png" TargetName="Bild"/>
                                        </DataTrigger>
                                </DataTemplate.Triggers>
                                
                            </DataTemplate>
                        </Setter.Value>
                    </Setter>
                </Style>
27.04.2012 - 10:01 Uhr

Hallo,

hast Du schon mal die Ländereinstellungen verglichen. Ist es beides mal ein deutsches Windows 7 ?

Tschüss

26.04.2012 - 13:03 Uhr

Hallo,

ich mach das so:

chartTemp.ChartAreas[0].AxisX.Minimum = min.ToOADate();
chartTemp.ChartAreas[0].AxisX.Maximum = max.ToOADate();

Dabei ist das Zeitfenster über die Zpt min und max definiert ist. Wenn die aktuelle Zeit größer als max ist, muss das Zeitfenster weitergeschoben werden.

Zum Beispiel:

max.AddSeconds(10);
min.AddSeconds(10);

Bin gerade dabei mit einer Scroll-Bar es so hinzubekommen, dass ich mir den zeitlichen Verlauf auch noch anschauen kann, dies will aber noch nicht so richtig klappen.

04.04.2012 - 12:55 Uhr

Hallo sceoo,

was bedeutet resetet ?

04.10.2011 - 12:45 Uhr

Danke, das war was ich gesucht habe !

04.10.2011 - 12:19 Uhr

ja Du hast recht, das würde das Problem weitgehend lösen, bis auf die Fälle bei denen ich die Konfigurationsdatei als Resource der Assembly dazu binde.

Hätte irgendwie gern eine einheitliche Lösung. Ich stelle mir so etwas vor, wie das Einfügen einer Verknüpfung in die jeweiligen Projekte, aber das scheint es nicht zu geben.

04.10.2011 - 11:32 Uhr

Hallo Kollegen,

hab folgendes Problem:

Habe eine Projektmappe mit mehreren Projekten. Weiter habe ich ein paar Konfigurationsdateien, die projektübergreifend gepflegt werden. Beim Erstellen der Projekte sollen die Konfigurationsdateien unterhalb des Buildverzeichnis in einen Ordner kopiert werden.

Wenn ich die Konfigurationsdateien den einzelnen Projekten hinzufüge wird eine Kopie der jeweiligen Datei im Projektverzeichnis erstellt.

Hat jemand einen Tipp ?

Danke

30.09.2011 - 13:18 Uhr

Oh Sorry, die wichtigste Info vergessen, mit Visual Studio 2010. In den alten Studio Versionen hatte ich das Problem nicht.

30.09.2011 - 12:29 Uhr

Hi,

war nur um etwas auszuprobieren.

Eigentlich will ich den Web-Service Aufruf in einer dll kapseln und diese Kollegen für ein C++ Projekt zur Verfügung zu stellen.

30.09.2011 - 11:31 Uhr

Hallo Kollegen,

ich versuche mich gerade mit C++ zu programmieren. Hab die WinForm Vorlage genutzt und wollte eigentlich nur auf einen Web-Service zugreifen. Aber wenn ich in der Projektmappte rechts auf mein Projekt klicke, erscheint dort der Menüpunkt Dienstverweis hinzufügen... nicht. Bei meiner Internet-Recherche musste ich feststellen, dass der Rest der Welt das Problem nicht hat.

Hat jemand ein Tipp ?

Vielen Dank

22.09.2011 - 11:56 Uhr

Hi,

hab so was auch mal gemacht. Dabei bin ich folgendermaßen vorgegangen.

Ich habe jedes DDL Statement (oder auch mehrere) das zur Erzeugung der Datenbank notwendig ist, in einem XML Dokument gespeichert und durchnummeriert.

Auf der Datenbank hab ich eine Tabelle, auf der ich die Nummer des letzten erfolgreichen Statements gemerkt wird, somit hat der Updater immer wieder einen Aufsatzpunkt und weiß ob die Datenbankstruktur aktuell ist bzw. ab welchem Statement er weiter machen muss.

Den Code kann ich Dir leider nicht rausgeben.

11.08.2011 - 10:06 Uhr

Ja, genau, es sind momentan sehr viele Events und damit immer wieder der gleiche Code mit dem Invoke.

Das nur mit einem Event zu machen ist vielleicht keine schlechte Idee.

Ich bin gerade am Überlegen, ob ich das Thema aus den einzelnen UI Klassen auslagere und so eine Art Dispatchter Klasse mache, die ein Event aus der Daten-Klasse fängt und dann an die jeweilige UI-Klasse schickt.

11.08.2011 - 09:13 Uhr

Hallo Kollegen,

ich programmiere gerade eine Anwendung, die Daten in separaten Threads von mehreren Mikrocontrollern über serielle Schnittstelle holt und auswertet.

Für die Visualisierung habe ich eine Forms Anwendung, die Daten visualisiert (x-y Plot und ähnliches).

Jetzt gibt es einige Zustände, innerhalb der Messwertauswertung, die ich über Events an die Oberfläche schicken will, damit diese darauf reagieren kann. Jetzt müsste ich für jedes Event innerhalb der Oberfläche fangen und mit Invoke den entsprechen MessageHandler aufrufen, gibt es da einen besseren Vorschlag ?

Vielen Dank für Eure Unterstützung.

06.04.2011 - 16:38 Uhr

Na so ein Mist, der ganze Aufwand für nix.

Wie ich vermutet habe, kann ich die dll nicht überschreiben, weil sie noch geöffnet ist.

Hat jemand ein Tipp, was da schief gelaufe sein kann ?

06.04.2011 - 16:18 Uhr

Hi Kollegen,

hab erst mal eine Version hinbekommen. Ich hoffe jetzt nur, dass der Unload auch wirklich funktioniert.

using System;
using System.Collections.Generic;
using System.Text;

using NLog;

using System.Reflection;
using System.Security.Policy;

namespace DAI.UpdService
{
    public interface IUpdModul
    {
        bool Start();
    }

    public class ModulStarter : IDisposable
    {
        private static readonly Logger log =
           LogManager.GetCurrentClassLogger();

         IUpdModul m_modul = null;
         AppDomain m_extDom = null;
         object m_extObj = null;

        public ModulStarter(string _dll)
        {
            try
            {
                m_extDom = AppDomain.CreateDomain("otherDomain");
                AssemblyName extName = new AssemblyName();
                string cb = "file://" + _dll;
                extName.CodeBase = cb;
                Assembly extDll = m_extDom.Load(extName);
                Type extType = extDll.GetExportedTypes()[0];
                m_extObj = m_extDom.CreateInstanceAndUnwrap(extDll.FullName, extType.FullName);

                foreach (Type t in extDll.GetTypes())
                {
                    if (t.IsClass && t.IsPublic && (t.GetInterface(typeof(IUpdModul).FullName) != null))
                    {
                        m_modul = (IUpdModul)Activator.CreateInstance(t);
                        break;
                    }
                }
            }
            catch (Exception ex)
            {
                log.Error("Modul: " + _dll + " kann nicht geladen werden! "+ex.Message);
                throw new Exception("Modul: " + _dll + " kann nicht geladen werden! " + ex.Message);
            }
        }

        public bool Start()
        {
            //UpdLib ausführen
            try
            {
                m_modul.Start();

            }
            catch (Exception ex)
            {
                log.Error("Fehler bei Ausführung Update Modul" + ex.Message);
                return false;
            }

            return true;
        }

        public void Dispose()
        {
            m_modul = null;
            m_extObj = null;

            AppDomain.Unload(m_extDom);
        }
    }
}

Bis denne!

04.04.2011 - 11:37 Uhr

Hallo Kollegen,

bin gerade dabei einen Updater für eine Applikation zuschreiben (hab nichts gefunden, dass in das Umfeld passt). Dabei kopiert ein System Dienst dll's von einem Share und soll die enthaltenen Assemblies dann dynamisch laden. Das hat auch alles funktioniert. Der System-Dienst sollte diese Assemblies bloss auch wieder entladen, damit ggf. wieder eine neue dll kopiert werden kann.

Dies scheint aber nicht ohne weiteres zu gehen, hab hier im Forum recherchiert, dass ich die Assemblies in eine separate AppDomain laden muss und an dieser Stelle hänge ich jetzt schon seit Stunden (und versuche den umfangreichen Posts die Lösung für meinen Fall zu entlocken.)

Meine Anforderung:

* Assembly laden
* Methode ausführen
* Assembly entladen

Anbei mein jetziger Stand für jeden Tipp bin ich dankbar.

  try
            {
               AppDomainSetupsetup = new AppDomainSetup();
                setup.ApplicationBase = System.Environment.CurrentDirectory;
                setup.PrivateBinPath = System.Environment.CurrentDirectory;

                Evidence e = AppDomain.CurrentDomain.Evidence;
                AppDomain otherDomain = AppDomain.CreateDomain("otherDomain",e,setup);
                otherDomain.TypeResolve +=newResolveEventHandler(otherDomain_TypeResolve);

                object dd = otherDomain.CreateInstanceAndUnwrap("UpdLib.dll", "UpdTool.UpdLib");

Danach fliegt eine Exception mit der Message:
"Die Datei oder Assembly ... oder eine abhängige unde nicht gefunden. Der angegebene Assembly Name oder CodeBasis ist ungültig. HRESULT 0X0131047."

Der EventHandler wird nicht angesprungen.

Danke und Sorry für den vielen Text.

07.03.2011 - 08:30 Uhr

Hi,

habs folgendermaßen gemacht.

gridGutStk.Language = XmlLanguage.GetLanguage("de-DE");

Über XAML hab ich's nicht hinbekommen.

Jetzt habe ich das Problem, dass ich den Datumspalten keinen Zeitstempel sehen will, hat da noch jemand eine Idee ?

Danke

02.03.2011 - 14:44 Uhr

Hallo Kollegen,

hab ein Dialog mit einem Datagrid in dem direkt Daten aus einem DataTable angezeigt werden. Die Columns werden automatisch erzeugt. Das funktioniert auch alles prima. Nur das Datum wird mit Englischen Format dargestellt.

Finde keine Eigenschaft mit der ich dies beeinflussen könnte.

Hat jemand einem Tipp ?

14.02.2011 - 12:44 Uhr

Hi,

die Klassen erstellt man mit

xsd file.xsd /classes

Tschüss

27.01.2011 - 12:30 Uhr

Hi,

danke für die Antwort. Habe weniger ein Problem mit XSD, sondern wollte wissen wir der grafische XSD Editor von VS2010 zu nutzen ist. Den verstehe ich gar nicht .

Tschüss

26.01.2011 - 16:16 Uhr

Hallo Kollegen,

hab schon mehrfach gehört und gesehen, dass VS2010 einen schicken grafischen Editor hat um XSD (XML Schema) zu bearbeiten.

Allerdings schaffe ich es überhaupt nicht, das Ding zu bedienen, die MSDN Seiten dazu verstehe ich nicht recht und auch Hr. Kühnel geht nicht auf das Thema ein.

Weiß jemand ein Howto, wo beschrieben ist, wie man von Grund auf, eine XSD Datei erstellt.

Danke

11.08.2010 - 08:12 Uhr

Hi,

na was denkste was beim ersten Durchlauf passiert ?

Liste_string[0] == Liste_string[0]

Ich würde, die Elemente in einem Dictionary<string,string> sammeln. Eine foreach Schleife und bei jedem Element nachschauen, ob es schon im Dictionary enthalten ist. Das funktioniert, dann auch wenn ein Element öfter als zweimal vorkommt.

Tschüss

23.07.2010 - 11:01 Uhr

Hab ein Breakpoint auf diese Stelle gesetzt. Der wird nicht angesprungen.

23.07.2010 - 10:35 Uhr

Haste natürlich recht ...

Das ist die Basis Klasse mit den Event Handler

public partial class uiGridZeile : td.rex.RexUILib.Steuerelemente.uiVariableBaseControl
    {
        public uiGridZeile()
            : base()
        {
            InitializeComponent();

            lbVarBez.DataBindings.Add("Text", m_value, "VariableBez");
        }

        public uiGridZeile(CVariable _variable)
            : base(_variable)
        {
            InitializeComponent();
            lbVarBez.DataBindings.Add("Text", m_value, "VariableBez");

            btnSet.Visible = !_variable.ReadOnly;
            btnSet.DataBindings.Add("Enabled", m_value, "Dirty");
        }

        private void btnGet_Click(object sender, EventArgs e)
        {
            OnValueGet();
        }

        private void btnSet_Click(object sender, EventArgs e)
        {
            OnValueSet();
        }
    }

Der Code für den Event Handler vom Designer generiert

// 
            // btnGet
            // 
            this.btnGet.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
            this.btnGet.Location = new System.Drawing.Point(405, 4);
            this.btnGet.Name = "btnGet";
            this.btnGet.Size = new System.Drawing.Size(42, 23);
            this.btnGet.TabIndex = 1;
            this.btnGet.Text = "Get";
            this.btnGet.UseVisualStyleBackColor = true;
            this.btnGet.Click += new System.EventHandler(this.btnGet_Click);
            // 
            // btnSet
            // 
            this.btnSet.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
            this.btnSet.Enabled = false;
            this.btnSet.Location = new System.Drawing.Point(447, 4);
            this.btnSet.Name = "btnSet";
            this.btnSet.Size = new System.Drawing.Size(42, 23);
            this.btnSet.TabIndex = 2;
            this.btnSet.Text = "Set";
            this.btnSet.UseVisualStyleBackColor = true;
            this.btnSet.Click += new System.EventHandler(this.btnSet_Click);

Das ist die abgeleitete Klasse, die zusätzlich noch eine Textbox hat

public partial class uiSimpleTextboxZeile : td.rex.RexUILib.Steuerelemente.ValueGrid.uiGridZeile
    {
        public uiSimpleTextboxZeile()
            : base()
        {
            InitializeComponent();
           
        }

        public uiSimpleTextboxZeile(CVariable _variable)
            : base(_variable)
        {
            m_bKeinEreignis = true;

            InitializeComponent();
            txtWert.DataBindings.Add("Text", m_value, "Wert");
                
            txtWert.Enabled = !_variable.ReadOnly;

            m_bKeinEreignis = false;
        }

        private void txtWert_TextChanged(object sender, EventArgs e)
        {
            if (m_bKeinEreignis) return;

            btnSet.Enabled = true;
        }
    }  

Vielen Dank für Deinen Einsatz.

23.07.2010 - 09:42 Uhr

Hallo,

viel Quellcode kann ich da nicht liefern. Da ich eigentlich hauptsächlich mit dem Designer gearbeitet habe.

Vorgehen:

* Hab das User Control A erstellt, das zwei Buttons hat und jeweils einen Event-Handler
* von B hab ich ein weiteres User Control abgeleitet
* In meiner Form habe ich das USer Control B eingefügt
😦 Beim Anklicken der Buttons auf User Control B wird der Exception Handler nicht ausgeführt.

Also eigentlich nichts codiert, nur Designer genutzt.

22.07.2010 - 12:38 Uhr

Hallo Kollgen,

folgendes Problem.

Ich habe ein Steuerelement mit zwei Buttons erstellt (mit Event Handler wenn der jeweilige Button geklickt wird). Dieses Steuerlement soll die Basis für weitere Steuerelement sein.

Leite ich nun ein weiteres Steuerlement von meinem Basis-Steuerlement ab, wird beim Klicken der Event-Handler nicht ausgeführt.

Die InitlaizeComponent Methode im Konstruktor wird ausgeführt, dort wird auch das Button Click Event mit der richtigen Methode verbunden.

Versteh nicht was da los ist?

Hat jemand schon mal was ähnliches erlebt.

Bin für jeden Tipp dankbar.

Tschüss

19.07.2010 - 15:27 Uhr

Ich denke, es müsste doch ausreichen, den Dienst im Kontext eines Benutzers laufen zu lassen, bei dem die Umgebungsvariablen richtig gesetzt sind.

19.07.2010 - 08:07 Uhr

Hi,

hast Du schon versucht den Dienst mit dem gleichen User laufen zu lassen ?

(Bei Dienste verwalten / im Reiter Anmelden)

Tschüss

09.07.2010 - 12:42 Uhr

Hi,

würde sagen das geht nicht. Was hast Du denn vor ?

Tschüss

14.06.2010 - 15:16 Uhr

Hallo xxMUROxx,

stellst Du das funkionieren meines Selects in Frage ?

Arbeite mit Oracle welches DBMS zum Einsatz kommt, Stand da nirgends.

14.06.2010 - 12:48 Uhr

so vielleicht ...

select LegalFormName, Anzahl
from LegalForm,
(
select LegalForm_IdLegalForm as id, count(*) as Anzahl
from Company
group by LegalForm_IdLegalForm
)
where id=IdLegalForm
order by Anzahl

29.04.2010 - 08:04 Uhr

Hallo,

danke für die Anregungen. Eigentlich hatte ich gehofft ich kann das direkt im Studio machen. Breakpoint setzen geht ja auch, somit sollte dies ja auch vorgesehen sein. Leider wird dieser nie angesprungen.

Na dann werde ich wohl auf Firebug umsteigen.

Tschüss

28.04.2010 - 15:31 Uhr

Hallo Kollegen,

bin nicht der große Webgestalter und will mir gerade ein paar Internet-Seiten zusammenbauen.

Klappt mit VS erstmal auch ganz gut (html mit Intellisense und Validierung).

Nur das debuggen von Javasript funktioniert nicht. Der gesetzte Breakpoint wird nie angesprungen, obwohl die Funktionalität im Browserfenster ausgeführt wird.

Hat da jemand einen Tip ?

Danke

26.04.2010 - 09:09 Uhr

Hallo Kollegen,

hab gerade die Frage gestellt bekommen, ob es Probleme geben kann eine Applikation von mir (erstellt mit Visual Studio 6.0 mit MFC42 und ATL) unter Windows 7 zu betreiben.

Hat jemand Erfahrung mit dem Thema ? Hab auf die schnelle leider kein Windows 7 Rechner.

Wie sieht es eigentlich mit Support für Visual Studio 6 aus, ist dies von Microsoft abgekündigt ? Wie aufwändig ist die Umstellung auf aktuelle Sutdio Version (habe gehört dass der Compiler inzwischen doch etwas penibler ist).

Vielen Dank für Eure Unterstützung.

19.04.2010 - 14:11 Uhr

Wie stellst Du eigentlich sicher, dass zwei Bytes m PC angekommen sind ?

Über die Eigenschaft ReceivedBytesThreshold ?

19.04.2010 - 12:45 Uhr

Hallo,

erstma ne Frage, die Waage sendet zwei Bytes der Länge 7 und 8 ? Die Waage sendet unterschiedlich viele Datenbits oder wie ?

Generell hat die SerialPort ja einen Empfangspuffer, deshalb kann ja eigentlich keine Daten verloren gehen. Ich würde mal kontrollieren, wieivel Bytes wirklich ankommen.

Tschüss

31.03.2010 - 16:27 Uhr

Hallo Kollegen,

bin gerade am Überlegen, ob ich mir einen Farblaser-Drucker leisten soll. Hat jemand einen Tipp bzw. gute Erfahrungen mit einem Drucker.

Gut wäre:

* duplexfähig
* Druckgeschwindigkeit > 10 Seiten pro Minute
* mit WLAN

Bin für jeden Tipp dankbar.

30.03.2010 - 11:25 Uhr

Nö, hab Dich richtig verstanden. Meine Lösung sollte auch zur Entwurfszeit tun, solang Zugriff auf die Infrastruktur besteht.

Die Lösung mit dem XMl File geht auch über die Befüllung der jeweiligen Eigenschaft.

30.03.2010 - 10:35 Uhr

Hi,

ach so na dann. Reicht es nicht aus in Deinem Steuerelement Konstruktor die Daten der SPS zu lesen und der entsprechenden Eigenschaft zu zuordnen ?

Schwierig ist es hald, wenn auf einem Rechner entwickelt wird, der keinen Zugang zu der jeweiligen SPS hat (->Exception Handling)

30.03.2010 - 08:22 Uhr

Hallo,

hab auch schon sowas ähnliches gemacht. Allerdings mit C++. Du solltest Dir das Thema OPC genauer anschauen. OPC ist Standard für den Zugriff auf SPS Variablen, der Microsofts COM Technologie basiert. Sollte also ohne weiteres in C+ integriert werden können.

Tschüss

23.03.2010 - 07:53 Uhr

Hi,

ok verstanden.

Bei der Version 8.1.7 würde ich davon ausgehen, dass Du die tnsnames.ora Datei, in der alle Datenbanken drin sind, auf die Du von dem Rechner zugreifen kannst, selber parsen musst. Wobei das Problem schon mehrere hatten, eine google Suche mit "tnsnames.ora parsen" liefert doch einiges.

Ab Oracle 10 gibt es wohl Möglichkeiten die Abfrage über SQl Statements hinzubekommen.

22.03.2010 - 16:00 Uhr

Hi,

was heisst den alle Datenbanken ?

Bei Oracle gibt es pro Instanz immer nur eine Datenbank. Deshalb kann man auch nicht alle Datenbanken auslesen.

Tschüss

01.03.2010 - 10:21 Uhr

Hi,

das ist ja lustig, wieviele Leute PC Programme schreiben, um irgend eine Mikrocontroller Lösung zu konfigurieren.

Die SerialPort Klasse hat eine Eigenschaft mit der Du einen Timeout sezten kannst.

ReadTimeout in Millisekunden.

Tschüss