Laden...

Forenbeiträge von KrümelKuchen Ingesamt 25 Beiträge

06.10.2011 - 14:12 Uhr

Wir reden hier nicht von serviceorientiert 😃

Das gaze ist eine Automatisierung eines externen Programmes. Hat nichts mit Service zu tun.

einen Service zu schreiben wäre außerdem ziemliche Fehlentwicklung bei dem fall ad jeder Benutzer eine eigene mdb lokal am Rechner hat. => Jeder Nutzer soll einen service laufen lassen?

Nicht jedes Problem hat zwangsläufig mit einer Webentwicklung zu tun bzw. hätte eine Berechtigung in Form einer Service Orientierten Landschaft zu exestieren.
Natürlich ginge es... aber das wäre als wenn man mit einem rießigen Vorschlaghammer sich alles hinhämmert.

Die mdb wird wie gesagt benötigt um Results des anderen Programmes auszulesen und Parameter zu übergeben.

Das ganze sollte im eigentlichen Sinne auch noch irgendwie performant ablaufen da ja nicht 1 2 zugriffe kommen sondern schon wesentlich mehr Zugriffe. Also jedes mal ein externes Programm starten mit Files schreiben und lesen wird dann auf dauer schon zu großen mißmut führen.

Das Optimale wäre halt wirklich ein ganz normales Datenzugriff auf das mdb File.

das ganze System ist etwas komplexer als es nur mit 2-3 Sätzen zu erklären.

LG

06.10.2011 - 13:07 Uhr

Ja hab gesucht.
Alles was mit Access arbeitet tut dies meist über OLEDB.

@FZelle
Wie gesgat Baggertechnik ist ungern gesehen.
Wäre also die absolute Notlösung ein Programm was die SQL Befehle absetzt das Dataresult zurückgibt. seie es als serealisiertes Datei oder wie auch immer.

Aber die architektur ist dann mal mehr als krank

Externes Programm angesprochen durch Trigger Befehl. Aufruf externes Programm um das Result zu bekommen, Result holen, DoSomething, Aufruf externes Program zum befüllen, Trigger ausführen.

Irgendwie krank ...

LG

06.10.2011 - 12:14 Uhr

Also ich glaub langsam das eigentlich das das triviale Problem der Zugriff auf eine mdb Datei nicht machbar ist außer den 2010 Treiber zu installieren.

gibt es da eigentlich eine Möglichkeit nur die Access Database Engine 2010 zu installieren ohne Office zu deinstallieren?.

Jeder Versuch den ich mit Interop bzw auch mit Netoffice gestartet habe ist leider gescheitert.
Ohne eine Access Installation nicht möglich.
(Also auch die DAO Methoden usw.)

LG

05.10.2011 - 15:55 Uhr

Hab mich gerade mit dem NetOffice beschäftigt.
Quitiert mir selbst die Examples mit ProgId not found.

Ich vermute mal läuft auch nur wenn Access installiert ist.

Gibt es keine Möglichkeit auf die .mdb Datei nativ zuzugreifen?

Eine 32 bit applikation davor zu schalten welche das ausliest und wegschiebt ist mir auch schon gekommen, ist aber irgendwie mehr als unelegant.
Eine "Baggertechnik" wollte ich eigentlich vermeiden.

Kannn doch nicht sein das man auf sowas nicht zugreifen kann -.-

//edit weiß einer vl ob man einigermaßen performant die mdb in eine andere "DB" umwandeln könnte.

Zur Erläuterung:
Die mdb Datei dient einem anderem Programm für dei Datenübertragung, und in diese muss praktisch eingegriffen werden. Deswegen führt leider kein Weg an Access als Endprodukt vorbei.

LG

05.10.2011 - 14:54 Uhr

verwendetes Datenbanksystem: <MS Access>

Guten Tag,

Ich sitze nun schon geraumer Zeit vor einem "kleinen" Problem.
Wir haben hier ein Programm welches in 64 Bit kompiliert wird(und aus diversen Gründen muss) und auf eine .mdb Datei Zugreifen muss.

Ich weiß das der JET Provider und der ACE Provider nicht 64 Bit lauffähig sind.
Auch der Access Database Engine 2010 Provider kann leider nicht verwendet werden da Produktiv Office 2007 (32 Bit) verwendet wird. Somit fällt eine Installation flach.
Auch der Versuch die DLLs direkt eingebunden werden können (ohne eine Installation) klappte leider auch nicht.

Die Tipps die meistens gegeben werden wie Kompilierung auf x86 und andere Datenbank werden nicht weiterhelfen, da an diesen 2 Bedingungen nichts gerüttelt werden kann.

Vielleicht hat hier einer schon eine alternativ Lösung gefunden.

Mit freundlichen Grüßen
Krümel

/Edit: noch zur Info es ist kein Access installiert.

05.10.2011 - 14:42 Uhr

Jep beide Konstruktor sind parameterlos. (Also Form und Control).

LG

04.10.2011 - 16:46 Uhr

Hat MyTabControl einen public/internal constructor?

public constructor.

LG

04.10.2011 - 16:26 Uhr

sry habs falsch kopiert

das stimmt schon so ich hab nur oben beispielweise umbenannt wegen sonst unklarheiten mit Tabcontrol (aus Winforms) und eben der eigenen

das stimmt schon so.

Wie gesagt das Projekt lässt sich ja kompilieren, nur im Designer geht es halt nicht :<

04.10.2011 - 16:16 Uhr

namespaces passen. Code ist auch keiner dazwischen,

Das Projekt habe ich auch schon neu geladen


    /// <summary>
    /// Summary description for MyTabControl.
    /// </summary>
    public partial class MyTabControl : System.Windows.Forms.TabControl

//Edit angepasst

04.10.2011 - 15:27 Uhr

Hallo Com,

Ich hänge hier gerade an einem Fehler vom VS Designer für WinForms.
Da ich eigentlich nicht sonderlich viel zu tun habe mit GUIs bin ich hier doch etwas hilflos.

Ich habe hier ein Hobbyprojekt liegen welches mit VS 2008 + Framework 3.5 erstellt wurde.
Das Problem begann schonmal das zig Fehler auftraten das Projekt in VS 2010 zu öffnen. Es klappte dann als die Frameworkversion auf 4.0 gestellt wurde und lässt sich auch richtig erstellen.

Jetzt gehen die Probleme aber los. Die GUI aus WinForms hat ein eigenes TabControl. dieses wird aber nicht gefunden und der Desginer rennt in einen Fehler.

Nach einer längeren Recherche im Internet kam ich auf viele Lösungen... Die Tabcontrolls die instanziert werden nach oben legen, neukompilieren und und und.

Klappte alles nichts.

Wenn man es Debugged und erstellt kommt die GUI korrekt raus, nur eben im Desginer kommt der Fehler.

Vl könnt ihr mir sagen woran es liegt 😃

Das TabControl liegt im gleichen Projekt wie in dem Fenster in dem es genutzt wird.

Die Meldungen:

Fehlermeldung:
Could not find type 'My.MyTabControl'. Please make sure that the assembly that contains this type is referenced. If this type is a part of your development project, make sure that the project has been successfully built using settings for your current platform or Any CPU.

Und ich vermute mal daraus resultierenden Fehler:

Fehlermeldung:
The variable 'myControl' is either undeclared or was never assigned.

22.09.2011 - 09:48 Uhr

ansteuerbar/anpassbar dafür ist jedes Programm irgendwie. Ist halt nur die Frage des Aufwandes und des Könnens.

Aber mit Office klappt es def. nicht.

Aber was wäre denn der Sinn dahinter "Solitär" programmtechnisch anzusteuern?

LG

21.09.2011 - 11:16 Uhr

Kleiner Bug

Bei mir wird WARNING zu WARN

21.09.2011 10:10:51 WARNING Testmessage1

Desweiteren finde ich 400-500MB (schwankend) Ramverbrauch bei einer 22 MB Logdatei doch etwas sehr hoch.

Habe Gagweise mal eine 130 MB Logdatei erstellt... da ich leider nur 4GB Ram habe ging mir der Speicherplatz bei 2,5 GB langsam aus ^^
(sind ca 3 Millionen Einträge, habs nur getestet um mal den enormen Ramwachstum zu demonstrieren)

Ich weiß ja nicht was du da treibst, das klingt aber für mich nach einem sehr großen Overhead an Objekten. (die Datei selbst würde nicht diesen enormen RAM Wachstum erklären)

Evtl prüfst du deine Architektur nochmal nach starken Kopplungen.

Ansonsten der Logviewer sieht super aus

was noch fehlt wäre eine Filterfunktion alla: Zeige mir alles ab Datum X bis Y mit LogLevel ERROR z.B.

LG Krümel

16.09.2011 - 09:45 Uhr

Also Bei 800 Zeilen sollten eigentlich keine Probleme sein.
Ich hab zwar keine Datei mit 800 Zeilen da, dafür einige mit weit über 1500 Zeilen und sogar 5 Stück ab 8000+ ... und da läuft VS auch noch flüßig, bzw es verursacht keinen merkbaren Unterschied zu einer Datei mit nur 200 Zeilen.

Also würde ich mal behaupten das euer Performance Problem sicherlich nicht an VS2010 selber liegt sondern eher an zugeschalteten Plugins die irgendwas analysieren.

die Aussage bezieht sich auf ein Plugin freies VS 2010

LG

P.S. Nein die großen Klassen habe ich nicht verbrochen die habe ich so übernommen ... 😃 gibt wichtigere Dinge zu tun als das neu zu strukturieren

15.09.2011 - 14:32 Uhr

Also Ich glaube ich habe nun eine vernünftige Lösung gefunden.

Für all jene die mit der ca gleichen Problemstellung konfrontiert werden.

(besonderer Dank an KillerKrümel für seinen Link)

Es schaut nun wie folgt aus:

Quellcode und Programme wie gewohnt getrennt. Die .pdb Dateien liegen aber nicht bei den DLLs sondern in einem seperaten Verzeichnis. (Der Sauberkeit halber)

Dieses Verzeichnis wird wie im Link beschrieben in den Optionen (Symbol) den Pfad zu dem Ordner eingetragen. Nun findet der VS ohne Probleme den SRC Code zu den DLLs.

Einzig wichtig ist noch die Anmerkung das die PDB dateien dorthin verweisen wo sie kompiliert wurden => Eine Kompilierung von einem lokalen PC im Team ist damit nicht gerade empfehlenswert 😃

Danke für die Hilfe und die Aufklärungen.

Mit freundlichen Grüßen
Krümelkuchen

15.09.2011 - 12:34 Uhr

Ja, so ziemlich alles. Wie könnt ihr z. B. Änderungen verfolgen und dokumentieren? Wie stellt ihr eine alte Version her? Wie "mergt" ihr gleichzeitige Änderungen mehrerer Entwickler?

Änderungen werden durch SoftwareBugs bzw Änderungsanträge.
Dort wird jeweils der "Iststand" augenommen und am Ende ein "Jetztstand" protokliert.

Im großen und ganzen ist es der absolute Ausnahmefall das 2 Entwickler am gleichen Projekt arbeiten müssten.

Prinzipiell auf "Projektmappen" verzichten zu wollen, finde ich schon irgendwie "abenteuerlich". Die dienen ja u.a. auch dazu, Abhängigkeiten einzelner Projekte zu handhaben. Kein Versionsmanagement zu benutzen ist allerdings noch schlimmer.

Der Hauptpunkt ist auch noch gegen Projektmappen, wo zieht man einen Strich bei Zurodnungen?
Wir schreiben meist allgemeingültige DLLs, was da heißt eine DLL wird von mehreren Programmen genutzt(Sonst wäre ja der Sinn einer DLL verfehlt). Sollen deswegen alle Projekte in eine Projektmappe?
Das macht relativ wenig Sinn.
Sollte ein Programm (aus welchen Gründen auch immer) eine DLL für sich brauchen, dann bleibt diese natürlich wie die Unit Tests in der gleichen Projektmappe.
Einfaches Beispiel SAP Schnitstelle wird fast überall verwendet, wo ordnet man den Quellcode zu? In das Verwaltungsprogramm für Vertriebler, vl zum PDM system der Konstruktion? Aber die dann alle in einer Projektmappe? die haben evtl nur die Schnitstelle zu SAP gemeinsam.
Das sind Gründe wo wir gesagt haben das ein Verzicht auf Projektmappen ein muss für uns ist. Bzw die Gliederung sehr fein wird das im Regelfall pro DLL eine Mappe wird.

Und da die ganze Software nur Firmenintern genutzt wird ist auch eine Bearbeitung von alten Versionen nicht von nöten sein. Sollte ein Backup einer alten nötig sein haben schonmal 2 Instanzen versagt. (Entwickler + Tester) aber dafür gibts ja Serversicherungen.

In dem Sinne haben wir eig ein Managmentsystem nur was halt nicht mit einem seperaten System läuft sondern mit trivialen Lösungen.

Aber ich werde mich trotzdem mal in die Links und Systeme einlesen
Danke für die Links.

LG

15.09.2011 - 11:53 Uhr

Ach der Server wird mindestens 1 mal täglich gesichert auf den Sicherungsserver. Also so mal mit "weg" ist nicht, wird dann einfach per Mausklick die Spiegelung auf eine neue VM geworfen.

Ausfallzeit ~20 Minuten.

Aber bei einem SVN System habe ich ja eigentlich keine direkten Vorteile, vl habe ich den Sinn dahinter noch nicht ganz verstanden.

SVN System: 1 Verzeichnis am Server auf dem der Quellcode liegt. Die Benutzer haben alle ein Verzeichnis, welches sie aktualisieren können und eine Kopie der Quelldateien in ihrem Workdir haben (einfacher Kopiervorgang). Danach setzen sie ihr Bearbeitungsflag, so dass kein anderer an den Files rumschrauben kann.

Wenn die Arbeit fertig ist wird das Flag entfernt und auf den Server comitted.

Das ist doch grob gesagt ein Sourcecodemanagement System.

Ist relativ analog zu: Entwickler kopiert sich das Projekt was er braucht aus dem Ordner arbeitet daran und schiebt es zu den Testern, oder übersehe ich einen wesentlichen Punkt an dem Managment System?

zur Info: Ich bin nicht grundsätzlich gegen so ein System, bloß müssen Vorschläge und Änderungen begründet und präsentiert werden, bzw einen Wirklichen Vorteil bringen.
Ich pers. meine das die Systeme teilweise zu oft benutzt werden ... Wenn 2 Leute sich nicht absprechen können dann sind dort ganz andere Probleme im Team, anders sieht es aus wenn 15 Leute an einem Projekt sitzen, dann ist es wirklich eine Pflicht.

BTW: back zur Ursprünglichen Frage, reichen dann bei der Kompilierung pdbonly oder müssen alle Debuging Informationen geschrieben werden?

//Edit zur neuen Fragestellung von dir Killerkrümel:
Die Entwickler und Tester haben immer zugang zum Produktiven Quellcode mit Schreibschutz.

Also sieht so aus
Programm arbeitet mit einer DLL zusammen, eine Änderung am Programm ist von nöten.
Der Programierer kopiert sich dann das entsprechende Projekt welches er bearbeiten muss.
(Also nur das 1 Projekt)
Bei Debuggen soll er aber auch in die DLL schauen können. Datenübergabe prüfen was auch immer. (evtl liegt auch der Bug in einem anderem Projekt)
Ist die Arbeit abgeschlossen schiebt er den Quellcode zu den Testern(im gleichen Schritt wird die Version auch kompiliert)
Das Projekt ist nun für die Bearbeitung gesperrt.
Wenn die Tester sagen ja alles in Ordnung überschreiben sie den aktuellen freigegebenen Code und geben somit die Änderung frei.
So wird es derzeit gehandhabt.

Das Problem ist halt derzeit nur das beim Debuggen VS nicht immer den Freigebenen SRC der DLLs gefunden hat.

MfG Krümelkuchen

15.09.2011 - 11:27 Uhr

Danke für die Antworten schon einmal

Nein wir benutzen leider kein Sourcecodemanagement.
Wir machen das ganze wesentlich trivialer.

Programmierer hat ein Workdir indem das Projekt leigt an dem er arbeitet.
kann in dem treiben was er will, wenn er aber auf den Knopf Release drückt wird kompiliert und die DLLs + Quellcode in die Ordner für die Tester geschoben.

Diese Testen und kompilieren den Quellcode dann über eine Bat Datei und schieben wieder den Quellcode + Programme an die passenden Orte Programmserver + Ordner für freigegebenen SRC.

Aber das mit den PDBs wird dann der Schlüßel sein den ich suche. Dann müssen wir halt die Richtlinien dann ändern das bei der Freigabekompilierung PDB Dateien erstellt werden müssen.
(einfach Ablauf der Freigabe ändern... erst Prod Code sichern, neuen rüberkopieren, dann kompilieren statt kompilieren, sichern, verschieben)
Damit sollte nach meinem jetzigen Verstädniss alles passend laufen, oder sehe ich das nun falsch?

// Zum Managmentsystem
So ein Mangmentsystem wurde einmal getestet aber die Administration meinte, ihnen sei das zu aufwendig zu warten, wer eins fordert meldet sich damit freiwillig zum warten 😃
Das Problem was ich sehe ist das einfrieren des Testcodes.
Restriktion ganz einfach, alle Freigegbenen Programme müssen zu jedem Zeitpunkt so kompilierbar sein.
Meines Wissens hat ja so ein System nur "2" Ebenen.
ServerCode und Workdir
Programmierer reserviert und comitted wenn er fertig ist => Verstoß gegen die Restriktion.

MfG Krümelkuchen

15.09.2011 - 09:40 Uhr

Sehr geehrte Damen und Herren,

Ich hätte ein paar Grundlegende Fragen zum Thema Debugging über Projektmappen hinweg.

Wir haben uns hier überlegt das wir in der Firma das Konstrukt der Projektmappe "abschaffen" wollen.
Der Hauptgrund liegt ganz eifnach an der Restriktion des Testzykluses (kein Arbeiten an Code der von der Abteilung getestet wird) und dadurch kommt es einfach zu doppelten Wartungsarbeiten bei Projektmappen.

Aufgrund dessen kam der Wunsch auf jede DLL und Programm in eine eigene Projektmappe zu legen.

Die Idee sah auf den ersten Blick sehr gut aus da das ofizielle Hauptargument für Projektmappender ist, das Visual Studio nur 1 mal gestartet sein muss. Jedoch bei näherer Überlegung kam mir das Problem des Debugging in den Sinn.

Zum Problem selbst:
Also unsere Kompilierungen und Quellcodestücke liegen auf 2 verschiedenen Servern (Verweise werden einfach mit einem fixen Pfad gesetzt also kein .Net Framework[Verweis hinzufügen -> durchsuchen]).
Wenn ich in Projektmappe 1 mein Programm debugge aber bei der Fehlersuche in eine DLL reindebuggen muss die auf der Programmserver liegt(ohne irgendwelche Debugginginformationen bei der DLL)aber der Quellcode zu der DLL in Projektmappe2 liegt habe ich doch hier ein Problem.

Teilweise findet VS den Quellcode und debugged "ganz normal" und manchmalspringt er einfach darüber weil er den SRC nicht findet.

Deswegen meine Frage. Wie findet der Debugger den Quellcode passend zur DLL? Kann man irgendwo die SRC Pfade eintragen passend zu den DLLs in irgendwelchen Konfigurationsfiles?

Ich hoffe auf positive Antworten.

Sollte es Unklarheiten geben oder weitere Informationen benötigt werden fragt einfach.

MfG Krümel

//Edit: Eingesetzte Entwicklungsumgebung hier: VS Prof. 2010, und zur Kompilierung(bis auf Debug) MsBuild

26.07.2011 - 16:25 Uhr

vielen Dank für deine hilfe

LG

26.07.2011 - 14:41 Uhr

Hallo community;

Ich habe eine Frage zum Debuggen mit Visual Studio 2010.

Gestern habe ich ein Programm übernommen in welchem ich nach Bugs usw suchen soll, nun ist das Problem das es sich um eine Spooler -> Worker Kombination handelt. Für den Spooler ansich zu debuggen ist kein Problem und für den Worker gibt es eine Lokalversion. Jedoch tretten Benutzerspezifische Probleme auf und ich muss die Spooler -> worker direkt debuggen.

Also Grob aufgezeigt: Spooler -> Process.Start(Worker) --> Worker.exe gestartet und rödelt rum.

Die Daten holt sich der Worker via Pipe vom Spooler.

D.h. ich müsste beim Debuggen vom Spooler in den Worker Prozess reindebuggen können.

Ist das überhaupt möglich?
(Quellcode von beiden Programmen sind in der selben Mappe)

LG

10.05.2011 - 19:16 Uhr

Ähm jo

Impressumspflicht (§5 TMG). Mehr glaube ich muss eine Seite glaube ich gar nicht haben 😃

Nur halt aufpassen mit Urheberrecht usw.

Besteht natürlich kein Recht auf absolute Vollständigkeit und Korrektheit.

Mein IT Recht Kurs ist nun doch schon 1 Jahr her.

LG

10.05.2011 - 14:38 Uhr

eine andere Alternative ist auch der Decompiler aus diesem Board.

Ich such euch mal den Link raus (hieß wias mit Jade).
Ist nix besonderes aber tut was er tun soll 😃

Jade.NET (C# - Decompiler)

LG

09.05.2011 - 16:10 Uhr

Hm Wenn ich das richtig verstehe ist das praktisch eine Art Spooler?

Ich glaube aber nciht das dein Weg zu einem schönen Ergebnis führt, da du keine konstante Leistungsanforerung bzw Zetanforderung hast.

folgendes Beispiel (2 Tasks zur Übersicht)

T1 schaue nach
T2 schaue nach
T1 findet was und arbeitet (0,2 sekunden)//geschätzte Zeit
T2 findet nichts und schläft 2 Sekunden
T1 sucht
T1 findet nichts und schläft 2 sekunden
ca 1,5 Sekunden tut keiner was und dannfängt T2 wieder an.

Anderes Problem ist du hast immer 4 Tasks die was tun und Ressourcen in der CPU anfordern.

Ich würde es so machen:

Ein Event (Wenn Möglich) wenn das Ereignis neue Daten auftritt. (ggf. einfach nur einen Thread zum schauen)

Bei auslösen des Events/bzw finden von Daten, startest du damit einen neuen Task.

Die Änderung grob:
du erstellst einen Task erst, wenn du ihn brauchst und legst nicht 4 Tasks irgendwo schlafen und weckst sie auf usw.

Aber sonst sehe ich eigentlich nicht was du fragen wolltest. Deine 2 Vorposter haben die Frage doch ganz gut beantwortet.

MfG Krümel

09.05.2011 - 13:16 Uhr

Erstmal danke für die Antworten:-)

ich schau mir die 2 Projekte mal an. Schade das es anscheinend nciht so leicht mit Boardmitteln aus .net geht.
Und warum das ganze?

Javascript wird in diesem Context als Skriptsprache für eine Anwendung benutzt.
Diese Anwendung führt eig alle Aktionen über diese Skripte aus, und diese Skripte muss ich nun auch ausführen können.

Das ist der Grund dafür.

//Edit:
Also ich habe mir nun Jint angeschaut, und das ist eig genau das was ich brauche 😃
Werde damit nun ein paar Tests fahren, aber soweit ichs sehe ist das Optimal
Vielen Dank für eure Hilfe

LG

09.05.2011 - 11:55 Uhr

Guten Tag;

Ich habe eine Frage zu Javascripten in C#.
Vorab ich habe diese Frage nicht in Webtechnologien gestellt, weil ich keine Antworten zu ASP.net haben will.

folgende Problemstellung:

Ich soll ein Javascript aus einem lokalem Programm starten wie eine Art Funktion.
Beispiel in Psoidocode:


if(a==b)
CallScript(Javascriptdatei.js, Argument1, ..., Argument n)

Die Frage ist, wie rufe ich also die Javascriptdatei auf ohne die Verwendung von ASP bzw ohne eine Webpage auf?

Ich hab mich schon durch die Dokumentation gewühlt und schon einige Klassen gefunden wie ClientScriptManager oder JScript, jedoch nichts passendes für mich gefunden

Vermutung von mir bei diesem Problem ist eh nur meine Unfähigkeit die Klasse zu finden X.x

MfG Krümel