Da musst Du ein zweites Bitmap mit 16bpp erstellen und das Original hineinzeichnen (Graphigs.FromImage(original)). Bin mir gerade nicht ganz sicher ob das reicht oder ob Du einen Farbquantisierungsalgorithmus brauchst; für 256 Farben brauchte ich jedenfalls den OctreeQuantizer.
ctor schrieb:
- die Controllerklasse sollte ohne großen Aufwand Instanzen der Zugriffklassen erzeugen können, daher wollte ich auch die Signatur des Konstruktors vorgeben
Das vorschreiben einer ctor Signatur alleine hätte dir aber auch nix gebracht.
Angenommen irgendwer hätte dir jetzt gesagt: das geht so und so.
Wie hättest du dann ohne Factory die Objekte erzeugen wollen?
Ich werde im Forum noch andere Beiträge mit anderen Fragen posten müssen, ich hoffe es wird sich weiter so gut um mich gekümmert
Vielen Dank
Marian Michalak
Nein, das reicht nicht. Da gibt es kein Thread Switch.
Thread Switches erreicht man z.B. mit Event (Klasse) oder Messages.
So, und die hier angesagte Lösung (da im Zusammenhang mit GUI) ist Invoke / InvokeRequired der des Controls / Form zu benutzen.
Das wurde von Knuddelbär bereits schon gesagt.
Simon
Nein, so einfach ist das nicht.
Die ganzen Standard-Dialoge beruhen noch direkt auf der WinAPI.
Das Stichwort dafür lautet: Custom Template
Einige Beispiele:
http://www.codeproject.com/KB/dialog/OpenFileDialogEx.aspx
http://www.codeguru.com/csharp/csharp/cs_controls/custom/article.php/c12801
ich weiß das ich was an meinem Stil ändern muss.
so zum problem. habs jetzt gelöst:
zu den Fehlern:
Die For schleife hat ja richtig gefunzt, aber es wurden nur 2 Einträge in die Verteilerliste geschrieben. Grund dafür war, das es immer die gleichen Emailadressen waren.
so ist es richtig:
For n = 0 To 2
objRcpnt1 = objRcpnts.Add("<TESTER " + CStr(n) + "> test"+Cstr(n)+"@tzest.de")
objRcpnt1 = objRcpnts.Add("<TESTER> test2@test.de")
Next n
Das nächste war, dass mir die Verteilerlisten nicht gefüllt wurden.
das Problem lag an der IF - Schleife mit objRcpnts.ResolveAll
danke trotzdem
bart
komisch
in summary pack ich immer eine beschreibung was die klasse macht
der return gehoert nach
// <returns></returns> - meiner meinung nach
ich mach das in meiner library immer so:
/// <summary>
/// Converts a given GUID to its name
/// </summary>
/// <param name="guid">[string] to GUID which have to be converted</param>
/// <exception cref="SDK:...">[ConvertException] Calls if the GUID is invalid</exception>
/// <returns>[string] The name for the GUID</returns>
public string GetNameByGuid(string guid)
{
IResult result = _comDatabase.GetNameByGuid(guid);
if (result.Error != null)
throw new ConvertException(result.Error.Message);
return result.Data as string;
}
wenn man dann daraus eine help datei generieren laesst - sind alle parameter und werte schoen ausgefuellt sodass man alles noetige schnell sieht
(der code ist natuerlich hier nur pseudo, solch eine methode hab ich nicht)
Naja du führst einfach eine Abfrage in deinem C# Projekt aus, welches die Anzahl der Spalten zurückgibt.
http://sql.1keydata.com/de/sql-count.php
Bin mir grad nicht Sicher wegen der zweiten Frage, aber nimm da mal lieber Memo als Spaltenobjekt.