Laden...

Forenbeiträge von Howard Ingesamt 84 Beiträge

25.03.2013 - 19:25 Uhr

YO also **DAS ** hört sich dann ja mal wirklich gut an... ich danke dir sehr!!!

25.03.2013 - 16:19 Uhr

Okay ... der Taskplaner läuft ...

ABER 😁

gibts da irgendwie noch ne bessere Idee als in den Taskplaner "C:\Program Files (x86)\Internet Explorer\iexplore.exe" + WEBADRESSE einzutragen?
Oder ne Idee wie der dann wieder automatisch beendet wird?
Weil so hab ich ja irgendwann 4000x den IE im Hintergrund offen...iss ja auch nich soooo toll 8o

25.03.2013 - 15:13 Uhr

Iss jetzt nich dein Ernst.... HAHAHA wie geil is DAS denn?

also ich hatte sowas ja im Kopf aber dachte okay wenn ich **DAS ** frage wissen **alle **das ich **keine **Ahnung habe.... 😁

Okay ich check das mal aus und meld mich dann wieder...

25.03.2013 - 12:45 Uhr

Hallo liebe Leute,

ich habe hier eine Anwendung die bisher als Windowsdienst läuft. Nun sollte diese um Steuerung und eine gewisse Oberfläche erweitert werden und ich hatte mich entschlossen diese einfach direkt in einen IIS zu packen. Meine Idee: ich habe beides an einer Stelle zusammen die WebOberfläche UND den Scheduler "Dienst".

Was macht der Scheduler? Der ruft zu bestimmten (ca. 8 verschiedenen) Zeiten ProgramModule auf die wiederum ihr "eigenes Ding" machen.. (EMails versenden, DB Zugriffe usw.)

Soweit die Idee. Funktioniert auch alles supergut.. naja nicht alles sonnst wär ich ja nicht hier 😁

Das Problem ist das die Anwendung "nicht an" bleibt. Ich habe die Seite in einem eigenen Anwendungspool und hab auch (so denke ich jedenfalls) alles eingestellt das die Site NICHT "ausgeht"...

Habt ihr noch ne andere Idee? Oder ist es einfach ne blöde Idee sowas direkt im Webserver zu lösen? War so schön praktisch. Es greifen auch nur max. 3 Admins darauf zu also nix was ins Web an 100 User geht oder so...

01.11.2012 - 17:31 Uhr

ISCH RAAASSTE AUS!!!

lag doch der Fehler Tatsache an der den beiden äusseren Klammern und dem Semikolon am Ende!?!?!

UNFASSBAR!!!

mein code:

<img src="@{Html.ImageHandler("GetPhotoDetails","Main",new {ID=1});}" />

dein code:


<img src="@Url.Action("GetPhotoDetails", "Main", new { ID = 1 })" />

DANKE MANN!!

Kannste noch kurz die Erklärung nachliefern was der Schrott soll?
weil an anderer Stelle benutze ich das (funktionierend) so:


"@{Html.RenderAction("Translate","Main",new {germanWord = "Foto Nr."});}"

mit klammern UND Semicolon

01.11.2012 - 16:57 Uhr

Okay Leute ich dreh hier gleich durch,

ich baue gerade erst seit 2 Wochen mit ASP herum also habt Nachsicht 😁

Ich suche heute schon den ganzen Tag aber ich finde irgendwie nicht die Lösung.

Ich habe ein Bild als byte[] vorliegen und möchte diese einfach irgendwie auf einer Website darstellen. Ich hab auch schon vieles ausprobiert von ImageHelpern bis PDF-In-Image aber der bringt mir einfach nicht das Bild auf die Seite.

mein Controller sieht so aus


public FileContentResult GetPhotoDetails(int ID)
{
	actPhoto... aus der DB besorgtes Photo

	return File(actPhoto, "Image/jpg");
}

und die Webseite so:



<div style="background-color:Aqua">
	<img src="@{Html.ImageHandler("GetPhotoDetails","Main",new {ID=1});}" />
</div>


dort auf der Webseite hab ich alles schon probiert:

  • Html.RenderAction
  • Html.Action
  • Url.Action

ich hab echt keine Ahnung was ich da noch machen kann.

P.S.: bitte keine Diskussion darüber anfangen ob das speichern von Pics in ner DB sinnvoll ist oder nicht... ich bin im BrownField.. also kann ich erstmal nix ändern!!

30.08.2012 - 11:38 Uhr

...ich benutze VSTO.
Ist auf jedenfall ma ne Idee (hätt ich ja auch selber drauf kommen können 😄)
Aber danke

29.08.2012 - 17:01 Uhr

gibt es eine Möglichkeit per CommandLine irgendwie etwas an mein Outlook-AddIn zu übergeben und wenn Ja wie lese ich das dann wieder aus?

Vielen Dank
Howard

11.04.2012 - 15:16 Uhr

Also ich hatte versucht zu erklären das ich wirklich nur REINE "Business-Logic".dll's habe. Der Winforms Kram ist da total abgekoppelt (mit Unity und MVVM) so das dem benutzen also eigentlich nix im Wege steht. 😁 👍

Das diss nur ein kleiner Editor ist hab ich auch schon gemerkt nen paar Sachen könnten schon noch besser sein.

Aber zum probieren ob und wie das alles so funktioniert reicht mir das allemal.

... und wie geht das nun mit den DLL's?? 😁

11.04.2012 - 14:42 Uhr

Okay Leute nich schlagen....

gerade kommt mein Kollege von nem MS Event und bringt Webmatrix mit... cool (oder auch nicht werden wir sehen)

Er bringt auch die Info mit das nun alles gut wird und wir einfach alle unsere bestehenden Dll's aus unserem C# Winforms Projekt weiter/wieder- verwenden können... Leider hat er vergessen WIE DAS GEHT 😁

Okay also ich möchte NICHT meine Winforms Dll's benutzen aber die Logic.dll's und Adapter.dll's.
Ich sag mal sorry das ich hier so reinplatze weil ich habe bisher nur Winforms gebaut und hab mich bisher vor dem ganzen APS Zeuchs erfolgreich gedrückt aber kann sein das ich da nun ran muss 😁

ich hab schon einiges gefunden auf meiner Google Suche und den ersten Tests und so aber ich komm nicht klar wie ich auf ne Dll zugreifen kann.

Also angenommen ich habe ne StringRes.Dll und die hat nen Namespace Howard und ne Funktion GiveButtonText() wie komm ich aus nem Webmatrix Projekt an diese Funktion ran??

Howard

02.08.2011 - 14:26 Uhr

Okay eine Möglichkeit habe ich gefunden:

Man kann in der XML Datei für das Ribbon für jeden Button bzw. auch für das ganze Ribbon getEnabled eintragen


<button id="btnImport" onAction="btnClick" label="Import starten" size="large" getImage="getImages" getEnabled="GetBtnEnabled" />

Zwar wird die Funktion

public bool GetBtnEnabled(IRibbonControl control){...}

zunächst nur beim erstmaligem Anzeigen ** des Ribbons aufgerufen ABER** wenn man auf Statusänderungen im Programm reagieren will kann man durch Aufruf von

ribbon.Invalidate(); //ribbon ist die Membervari vom Typ IRibbonUI

den erneuten Aufruf der Funktion "erzwingen".

Wenn keiner ne bessere Idee hat würd ich das erstmal so lassen...

Vielen Dank das Ihr mir zugehört habt beim laut denken 😁

Howard

02.08.2011 - 09:42 Uhr

Hallo Leute,

ich hab mir ein AddIn für Outlook 2010 gebaut. Soweit alles super. Aber nun habe ich ein Ribbon eingebaut. Erst mit dem Designer und dann nach XML usw. funktioniert alles super hab auch Bilder drauf und der Klick reagiert auch. ABER:

Wenn ich versuche auf einen der Button zuzugreifen funktioniert das einfach nicht.
Ich benutze folgende Funktion um an den Button zu kommen:


ThisRibbonCollection ribbonCollection = Globals.Ribbons[Globals.ThisAddIn.Application.ActiveInspector()];

ribbonCollection.HowardOutlookRibbon.btnStartImport.Enabled		= true;

ich habe auch schon die anderen beiden Arten des Zugriffs versucht:


ThisRibbonCollection ribbonCollection = Globals.Ribbons[Globals.ThisAddIn.Application.ActiveExplorer()];

bzw.

Globals.Ribbons.HowardOutlookRibbon.btnStartImport.Enabled		= true;

Das Problem ich bekomme immer eine "Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt." Exception da immer

HowardOutlookRibbon == null 

und auch

ribbonCollection.Count == 0

ist.

Gibts da irgendwie noch nen anderen Weg um an die Buttons zu kommen oder hab ich irgendwas überlesen was ich noch registrieren muss oder so damit ich an die Globals komme?

Vielen Dank

Howard

01.03.2011 - 14:56 Uhr

Okay mann DAS war die Lösung...hats direkt gebracht. Danke dafür. Interessant für alle die hier noch mitlesen: die Einstellung in den Eigenschaften kommt erst zum Vorschein wenn man das Framework 4.0 einstellt.
Bis 3.5 hat man den Schalter garnicht

Howard

25.02.2011 - 16:43 Uhr

Hallo Friends,

ich hab nen Outlook.AddIn geschrieben was auch seit nen halben Jahr super läuft. Nun hab ich auf VS2010 umgestellt und kann das Teil nicht mehr übersetzen. Es kommt immer folgende Fehlermeldung:

..kann nicht über Assemblygrenzen hinweg verwendet werden, weil er einen generischen Parameter verwendet, bei dem sich um einen eingebetteten Interoptyp handelt....

mein Aufruf sieht so aus:

List<Microsoft.Office.Interop.Outlook.MailItem> mailItems .... <- zuweisung der gewählten MailItems

//Eine DLL die nen haufen Sachen mit den MailItems macht
meineDLL.ShowOutlookExportDialog(mailItems); <- hier knallt er weg beim Übersetzen

Hat irgendwer ne Idee??

Alternativ kann ich natürlich auch IN dem AddIn die MailItems in eine Liste meiner eigenen Klasse konvertieren und diese dann weiterreichen. Dabei hab ich nur ein Problem. Ich muss ganz am Ende der Function ShowOutlookExportDialog(..) die eigentliche Mail als .msg Datei mit Mail.SaveAs(...) wegspeichern.

2 Mögichkeiten:

  • ich speicher die Datei temporär ab und kopiere sie dann ... (nich so unbedingt gewünscht eher Plan B)

  • irgendwer hat ne Idee wie ich die Mail in den Speicher laden und sie als Objekt an meine function übergeben kann um sie dann dort zu speichern.

Howard

19.02.2011 - 18:23 Uhr

Okay also ich hab das mal ausprobiert mit dem

RegisterPrefix

Bei mir liefert das Teil nur "false" zurück... also bringts das auch nich..

Aber mit der GUID gehts ja erstmal... kann auch gern nochwas ausprobieren wenn wer noch Vorschläge hat. 😁

Howard

25.01.2011 - 22:13 Uhr

ich hab versucht mit

actWebClient.Headers[HttpRequestHeader.IfModifiedSince] = "Sat, 19 Jul 2008 19:43:31 GMT";

aber irgendwie klappt diss nich....

und für diss "Cache-Control" hab ich auch kein Beispiel gefunden irgendwie ...
mit

actWebClient.Headers.Add("Cache-Control", "no-cache");

funktioniert wieder nich kommt nen Compilerfehler X(

Howard

24.01.2011 - 22:48 Uhr

okay ich hab ne Lösung gefunden...die iss zwar irgendwie Dirty aber sie funzed...scheint irgendwie nen Problem im Webclient oder so zu geben. Schaut mal hier

nachdem ich nun sowas wie "OpenReadAsync(new Uri(uri.AbsoluteUri + "?" + Guid.NewGuid().ToString())" eingetragen habe bekomm ich auch in Fiddler zu sehen und natürlich auch in meiner App das der connect nun funzed....
also irgendwas wird dort krass gechached....

Also wen noch einer ne andere Lösung also irgendwie nich gaaaanz so Dirty..wär ich dankbar ...aber ich komm auch damit klar... logisch muss ja nich gleich ne Guid sein kann ja auch nen random int sein

Howard

P.S: @TheBrainiac: Danke für dein Hinweis mit dem "CachePolicy" dadurch hab ich die richtige Seite Gogglen können 😁 👍

24.01.2011 - 22:27 Uhr

also wir reden hier von silverlight 4.0
ich weis ja nich was ihr so probiert habt aber ich hab hier weder nen Dispose noch nen CachePolicy....

Howard

24.01.2011 - 21:16 Uhr

Also ich hab gerade mal die Fiddler Nummer ausprobiert...die iss ja ma rischtisch geil!!!
Danke mann da iss ne echt sinnvolle App....

Und mit der konnte ich sehen das meine App nur einmal beim Start eine Connection zur Website aufbaut.... und dannach nich mehr....hmm

also irgendwer chached da irgendwie irgendwas... nur wer??

Howard

24.01.2011 - 20:04 Uhr

Hai,

Hallo,

Dann solltest Du den WebClient in oder nach WebClientOpenReadCompleted disposen (da müsstest Du den Sender auf den WebClient casten können).
...
Gruß, MarsStein

also ich bekomme folgenden Compilerfehler wenn ich irgendwas mit Dispose versuche...auch beim Cast vom Sender

Fehlermeldung:
Fehler 3 "System.Net.WebClient" enthält keine Definition für "Dispose", und es konnte keine Erweiterungsmethode "Dispose" gefunden werden, die ein erstes Argument vom Typ "System.Net.WebClient" akzeptiert. (Fehlt eine Using-Direktive oder ein Assemblyverweis?)

@Xynratron:

das mit dem Fiddler check ich gleich mal aus...

Howard

23.01.2011 - 20:04 Uhr

Okay ich habs mal versucht mit deinen Hinweisen aber es ändert sich nix.
hier mal der Quellecode


/// <summary>
/// holt die Daten von der Webseite. Wird von aussen auf TimerIntervall aufgerufen
/// </summary>
public void ReadData()
{
	//using(WebClient actWebClient = new WebClient()) //funktionierte NICHT weil kein Dispose möglich
	WebClient actWebClient = new WebClient();
	{
		actWebClient.OpenReadCompleted += WebClientOpenReadCompleted;
		actWebClient.OpenReadAsync(new Uri(actURI));
	}	
}

/// <summary>
/// wenn alle Daten von der WebSeite geladen wurden
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void WebClientOpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
		{

			if (e.Error != null)
			{
				this.LastError = e.Error.Message;
			}
			else
			{				
				try
				{
					using (Stream s = e.Result)
					{
						XDocument doc = XDocument.Load(s);
                ......
						s.Close();
					}

				}
				catch (Exception ex)
				{
					this.LastError = ex.ToString();
				}
			}

		}

Howard

23.01.2011 - 15:37 Uhr

verwendete Web-Technologie: Silverlight und System.Net.Webclient

Hallo Leudde,

ich benutze die oben angegebene Technik um xml-Daten von einer Webseite zu laden. Die Seite habe ich mit php selbst gebaut und es funktioniert auch alles ganz toll.
Aber irgendwie werden die Daten nur beim ersten mal aufrufen von WebClient.OpenReadAsync() aktuell vom Server geholt.
Immer wenn ich die gleichen Zeilen Code nochmals ausführe (also innerhalb der Anwendung nicht durch neu start der Anwendung) dann bekomme ich das gleiche Ergebniss. Egal was sich in den xml-Daten auf dem Server geändert hat.
Ich lasse mir z.B. die Serverzeit in die XML schreiben aber es kommt nur beim ersten lesen die aktuelle Zeit. Jeder Aufruf dannach gibt die zuerst gelesenen Zeit zurück.
Wenn ich die gleiche Seite im Browser aufrufe bekomme ich jedesmal die neue aktuelle Serverzeit.

Gibts da irgendwie nen cache oder sowas?? Ich erzeuge auch in jeden lauf den WebClient neu mit "a = new WebClient()"

Howard

01.11.2010 - 09:49 Uhr

okay ich hab jetzt mal auf ner Testmaschine VS 2010 installiert und dort sind die Vorlagen sofort zu sehen....

Also irgendwas scheint Tatsache mit VS2005 zu sein ....

Danke aber nochmal für eure Hilfe

Howard

31.10.2010 - 21:52 Uhr

mich würde ja mal interessieren WIE du dein Gadget mit C# verknüpft hast.... kannste da mal nen kurzes Sample posten oder so??

Howard

26.10.2010 - 08:46 Uhr

hmm DAS wär ne Erklärung warum der Kram nich mehr zu sehen ist.... naja kann man nix machen... Ev könn wir hier ja ma umstellen auf 2010 oder so....

Aber vielen Dank für die Antworten....

Howard

25.10.2010 - 13:50 Uhr

So, nun bin ich endlich mal wieder an meinem Rechner und hab das ganze mal überprüft. Ich hatte alle Häckchen schon gesetzt. Aber irgendwie iss diss trotzdem nich da...

dieses "Shared Addin" Ding hab ich bisher noch nie genutzt. Ist das vergleichbar mit dem VSTO Stuff oder geht das völlig in ne andere Richtung???

Howard

13.10.2010 - 13:23 Uhr

Hallo Leudde,
ich musste mein Rechner komplett neu aufsetzten. Hab nun (endlich) nen Win7 drauf.
Als Studio hab ich immer noch VS2005 und Office ist 2010.
Nun musste ich natürlich auch das VSTO neu installieren. Allerdings was ich auch anstelle ich bekomm im VS nicht mehr die Projektvorlagen angeboten und ein bereits erstelltes Projekt kann ich nicht öffnen weil diss VS sagt der ProjektTyp wird nicht unterstützt. Ich glaube dieses Projekt ist sogar nen 2003er AddIn-Projekt.

Irgendwo auf den MS Seiten habe ich gerade gelesen das man, damit diese Vorlagen angezeigt werden können, nen entsprechendes Office drauf haben muss....
Heißt das ich muss jetzt mein ganzes Office 2010 wieder vom System schmeißen und mit Office 2007 bzw. 2003 wieder anfangen??

Howard

27.08.2010 - 18:30 Uhr

jo hab ich auch gedacht das es so einfach gehen würde aber ich hab bei mir irgendwie die Fields Collection nicht. 😦

Kann das irgendwie an 2003 liegen oder hast du doch noch ne andere Dll gezogen??

Howard

27.08.2010 - 16:33 Uhr

Hallo Leute,

ich beleb mal diesen Beitrag wieder.

Gibts irgendwie ne Möglichkeit ohne CDO oder Redemption & Co. an die Properties ranzukommen?
Oder ne andere Antwort auf die Frage Anhang in Mail unterscheiden von Bilder im HTML-Body

Howard

19.08.2010 - 14:04 Uhr

@0815Coder: gute Idee aber das ganze gilt ja nur für Unterverzeichnisse der Aktuellen Ordners...der ja wie bekannt ...Office11 ist...also das geht so leider nich...
Habe allerdings in der Hilfe noch eine weitere Möglichkeit entdeckt, wie man in der Config sagen kann, wo die entsprechende Assembly liegt:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
	<runtime>
		<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
			<dependentAssembly>
				<assemblyIdentity name="Microsoft.Practices.Unity.Configuration" culture="neutral" />
				<codeBase version="1.2.0.0" href="file://D:\Entwicklung\integration\bin\Microsoft.Practices.Unity.Configuration.dll"/>
			</dependentAssembly>
		</assemblyBinding>
	</runtime>
	<configSections>
		<section name="unity" type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection, Microsoft.Practices.Unity.Configuration" />
	</configSections>
	<unity>
		<containers>
			<container>
				<types>
					<type type="RED.C.Information.IInformation, RED.C.Information" mapTo="RED.Information.Information, RED.Information"/>
				</types>
			</container>
		</containers>
	</unity>
</configuration> 

Nach dem Laden der Config bekomme ich auch Zugriff auf die Section "ms.unity". Allerdings hat diese jetzt nicht den Type "Microsoft.Practices.Unity.Configuration" sondern "System.Configuration.DefaultSection". Somit kann Unity mit der Config nix anfangen. Offensichtlich ist die Struktur der Config-XML so nicht ok.

19.08.2010 - 11:35 Uhr

als Nachtrag: auch

AppDomain.CurrentDomain.SetData("APPBASE",@"....");

hat nix gebracht

Howard

19.08.2010 - 08:36 Uhr

Hallo Leudde,

wir benutzen hier "Microsoft.Practices.Unity" und den Common Service Locator library das funktioniert soweit auch alle wie es sein muss. Nur leider gibt es im zusammenhang mit Access2003 irgendwie Probleme. Da Access das startende Programm ist nimmt sich die ganze Anwendung den Office11 Ordner irgendwie als Startverzeichniss. Da wir die gleichen Probleme auch schon beim "alten" RalfW.Microkernel hatten haben wir beim initialisieren unserer C# Dll's als erstes mal das Environment.CurrentDirectory umgestellt damit immer UNSERER Arbeitspfad genommen wird und ebend NICHT der Office Ordner. Leider interessiert sich Unity irgendwie überhaupt nicht dafür. Die DLL's werden weiterhin im Office Ordner erwartet.
Wir laden die Dll's über eine XML Datei nicht aus dem Code herraus.
Hat irgendwer irgendwie ne Idee??

Howard

02.08.2010 - 16:22 Uhr

iss nu schon ne weile her aber iss da immer noch keiner der ne Idee hat??

Howard

30.06.2010 - 14:33 Uhr

Hallo Timur,

zunächst vorweg: den Artikel hab ich gelesen.... 👍 😁 (möglicherweise aber was übersehen...)

und dann kann ich deine Aussage nicht so ganz Bestätigen denn:

wenn ich auf einer User-Maschine Outlook(Office)2003 hab, dann die PIA's installiere und DANN nen Update auf egal was (2007 oder 2010) mache, dann läuft das AddIn auch weiterhin OHNE Probs.
Mein Problem ist, das es inzwischen hier in der Firma schon Rechner gibt die leider bereits Upgedated wurden oder von vornherein mit >2003 kommen.
Und DA hab ich dann nen Problem weil sich die 2003er PIA's nich mehr installieren lassen.

Howard

30.06.2010 - 13:26 Uhr

Hey Großmeister.... weis diss hier echt keiner?? Hmm

X(

Howard

24.06.2010 - 11:06 Uhr

ich hab nen Outlook AddIn für Office 2003 geschrieben. Nun haben wir aber inzwischen ein paar neue Rechner in der Firma darauf installiert der Admin gleich Office2007 oder aber auch Office2010.

Hab ich da irgendwie ne Möglichkeit die 2003er PIA's noch nachzuinstallieren??
Aktuell bekomm ich ja immer die Message das nen 2003er Office auf dem Rechner sein muss um die PIA's zu installieren.... X(

Howard

23.06.2010 - 09:52 Uhr

Ich greif ma diss Thema noch mal auf...auch wenns schon ne Weile her, aber Interessant uff jedenfall!!!

Also ich so als einfacher Programmer (also nix besonderes und so 😁 ) find irgendwie muss ich auch Golo Recht geben.
Wir haben hier vor ca. 3 Jahren ein neues großes Projekt angefangen und damals direkt mit dem Microkernel von Ralf Westphal auf Service-Locator gesetzt. Nun sind wir dabei auf Unity umzusteigen (Ralf sagt sein Kernel ist nicht mehr Zeitgemäß 8o ...so kanns gehn)
Bei der ganzen Leserei wie wo was funktioniert bin ich auf diese Diskussion hier gestoßen SEHR INTERESSANT: nichmal die großen Hirne und Denker unter uns sind sich einig.

Und noch ne „kätzerische“ Anmerkung: Irgendwie fühlt sich DI an wie naja sagen wir ma wie früher… ich muss alles irgendwie im Konstruktor (jaja oder Property) übergeben so mit 20 Parametern und so…

Zwischendurch kam mal eine Frage und ich hab nicht gesehen das die einer beantwortet hätte: wenn ich nun schon voll auf „Service-Location“ bin…was fürn Sinn macht es umzusteigen auf DI??

Howard

21.06.2010 - 11:12 Uhr

Wollte mich nur nochmal zu Wort melden das du nicht denkst deine Mühe (auf meine Frage zu Antworten) war vergebens 😁

Also mein Kollega baut gerade ne Spike um die Ideen die du uns gegeben hast mal auszutesten. Hat uns auf jedenfall eine neue Denke ermöglicht und sieht bisher aus ganz gut aus was er da zusammen schraubt.
Wenn er durch ist, melden wir uns nochmal mit nem Fazit damit auch alle anderen was davon haben die das hier lesen....

Bis denne

Howard

09.06.2010 - 14:01 Uhr

verwendetes Datenbanksystem: SQL Server 2005

Heute hab ich auf einem Clienet eine sehr merkwürdige SQLException bekommen:

Aufgrund eines Fehlers während der Initialisierung der Verbindung vor der Anmeldung konnte der Client keine Verbindung mit dem Server herstellen. Mögliche Ursachen sind u. a. folgende: Der Client hat versucht, eine Verbindung mit einer nicht unterstützten Version von SQL Server herzustellen, der Server ist ausgelastet und kann keine neuen Verbindungen annehmen, oder die Ressourcen auf dem Server sind eingeschränkt (zu wenig Arbeitsspeicher oder maximal zulässige Verbindungen). (provider: Named Pipes-Provider, error: 0 - Kein Prozess ist am anderen Ende der Pipe.)

bisher ist die nur einmal aufgetreten aber was der Rechner irgendwie öfter mal hat ist sowas wie

Connection-Status nicht offen!

Das Teil ist nen Laptop mit Vista und ich hab auch schon alle Energy Einstellungen angeschaut das der also nicht die Netzwerkverbindung immer kappt wenna in den Standby geht.

Hat irgendwer ne Ahnung wonach man Suchen kann? Das Ding iss, das im gleichen Netz ca. 8 weitere Rechner stehen Laptops und Desktop Rechner (mit Win7,Vista und XP) die alle absolut KEINE Probleme machen....

Howard

06.05.2010 - 12:26 Uhr

Hallo Leutz,

ich plage mich seid geraumer Zeit mit dem ewigen: Update, neu registrieren, kein Adminmode usw. rum. Das ganze ist ne bestehende Access Anwendung die mit C# aufgebohrt wurde. Leider ist es aus vielerlei Gründen nicht möglich einfach den ganzen alten Kram loszuwerden.

Damit das ganze verständlicher wird hab ich mal nen Bild gebastelt.

Die Frage ist: hat irgendwer schon ne Lösung am Laufen oder ne Idee im Kopp wie ich diese COM/.tlb connection loswerden kann?

Wichtig dabei: es muss von C# aus auf Access zugegriffen werden (bestehende Dialoge müssen angezeigt werden können und ja es gibt Übergabeparamter) aber auch muss von Access aus auf C# Assemblies zugegriffen werden können da der Zugriff auf den SQL Server (aber nur teilweise) auch über C# Assemblies laufen MUSS!!

Howard

20.10.2009 - 09:17 Uhr

Wenn nicht zu viele Werte in der Liste sind und die Performance nicht kritisch ist kannst du auch LINQ verwenden:

ich dachte das gibts erst ab VS2008 oder?

Howard

19.10.2009 - 14:18 Uhr

Danke für die schnelle Antwort.

  • oder nur eine Datenbankverbindung nutzen

Okay aber wie soll ich DAS denn lösen? dieses ...OpenConnection() ist doch in einer völlig anderen Klasse. Die hat doch keine Ahnung das sie

  1. innerhalb einer Transaction läuft
  2. mehrfach hintereinander aufgerufen wird....

Ich dachte genau für sowas nimmt man die "ambient" Transactions???? (oder hab ich doch keine??)

Howard

19.10.2009 - 12:37 Uhr

verwendetes Datenbanksystem: SQLServer 2005

Ich bekomme die Meldung "Transaktionen mit IsolationLevel-Snapshot können nicht erweitert werden." bei folgendem Code:


public class DBLogic
{
	public DbConnection OpenConnection()
	{
		DbConnection    retConnection;
		String          connString ="...";
	
		dataProviderFactory             = DbProviderFactories.GetFactory("System.Data.SqlClient");
		retConnection                   = dataProviderFactory.CreateConnection();
		retConnection.ConnectionString  = connString;
		retConnection.Open();
		
		return retConnection;
	}
	
	public void GetFullKontaktList<T>()
	{
		...
		using (DbConnection connection = OpenConnection()) <-- Exception
		{...}
	}
}

public class DBForm
{
	private void button1_Click(object sender, EventArgs e)
	{
		TransactionScopeOption  tssOptions  = new TransactionScopeOption();
		TransactionOptions      tsOptions   = new TransactionOptions();
		
		tsOptions.IsolationLevel = System.Transactions.IsolationLevel.Snapshot;
		tsOptions.Timeout        = new TimeSpan(0, 0, 0, 0, 0);
		
		using(TransactionScope ts = new TransactionScope(tssOptions,tsOptions))
		{			
			DBLogic.GetFullKontaktList<Person>();
			DBLogic.GetFullKontaktList<Firma>(); <-- Exception
		}		
	}
}

Ich kann mit der Meldung GARNIX anfangen...irgendwer ne Idee??

Howard

19.10.2009 - 10:22 Uhr

Hey vielen Dank für den Link.
Allerdings ist mir nicht ganz klar wie deine Klasse mir bei meinem Prob helfen kann und wie/wo ich sie dann einbaun soll DAMIT sie mir hilft 😃

Howard

16.10.2009 - 19:22 Uhr

jo okay wenns soooo einfach wäre wär geil 😁 ich hatte nen schreibfehler drinn hab den mal verbessert....
Aber danke für den Hinweis....

Howard

16.10.2009 - 17:10 Uhr

Hallo Leudde ich hab da mal nen Prob:
gegeben sei folgendes



public interface IKontaktDaten {....}

public interface IFirma : IKontaktDaten{....}

public interface IPerson : IKontaktDaten{....}

public class Firma : IFirma {....}

public class Person : IPerson {....}

public List<T> GetKontaktList<T>() where T: IKontaktDaten, new(){...}

public void Function()
{
	List<IKontaktDaten>	listKontakte; //IKontaktDaten da ich in diese Liste gern beides Firma UND Person reinladen würde
	
	listKontakte = GetKontaktList<Person>(); //<-- Eine implizite Konvertierung vom Typ "System.Collections.Generic.List<Person>" in "System.Collections.Generic.List<IKontaktDaten>" ist nicht möglich.

	
	//Ich würde gern danach sowas machen
	listKontakte = GetKontaktList<Firma>();
}

//Alternativ kann man das natürlich so machen
public void Function()
{
	List<IFirma>	listFirmen;
	List<IPerson>	listPerson;
	
	listPerson = GetKontaktList<Person>();		
	listFirmen = GetKontaktList<Firma>();
}

Irgendwie hab da wohl noch was nicht ganz verstanden mit den Generics. Klar kann ich 2 Listen machen aber einfacher wäre eine.
Hat da wer mal ne Idee??

Howard

11.09.2009 - 10:46 Uhr

ja danke diss passt. Nun kann ich wenigstens die beiden gegeneinander rechnen und hab dann auch den offset den ich brauche.

Danke

Howard

10.09.2009 - 16:27 Uhr

😁 okay also mit diese meinte ich die Werte die durch TitelLeiste und Rahmen abgezogen bzw. draufaddiert werden müssen. Frage ist wie komme ich an diese?? Ich will einen Dialog anzeigen in einem Dialog ähnlich einem Kontextmenü. Wenn das kontextmenü nun aber über den Rand des Dialoges geht dann soll der nicht rechts sondern links vom cursor bzw. noch unter sondern ÜBER dem Cursor angezeigt werden.
Dazu check ich die MausPosi + width/height vom Kontext, ob die über der Size vom Dialog liegen. und DAS geht bei der Heigth halt schief wegen den ca. 30 Points...

ich hoffe man versteht was ich will...

Howard

10.09.2009 - 13:59 Uhr

okay du hast recht...hab ich mich irgendwie vermessen 🙂 und wenn man dann noch die Schatten hinzufügt usw. dann kommt man auf den Wert.
Nun die Frage die kommen musste 😁 Wo bekomm ich denn diese Werte her??

Howard

10.09.2009 - 11:51 Uhr

Hallo Leutz,

wenn ich nen Eventhandler baue für nen MouseMove und mir die Koordinaten anschaue die dabei im MouseEventArgs.Location stehen dann stimmt die Höhe meines Dialoges nicht mit den Werten überein. Ich hab das auch auf nem Rechner eine Kollegen geprüft dort bekomme ich ebenso nen falschen Wert. Es sind immer so ca. 30 Points die dort weniger auf der MouseLocation sind. Die Titlebar des Dialoges kanns eigentlich auch nicht sein da die auf jedenfall weniger als 30 hat.

Irgendwer ne Idee??

Howard