Laden...

Forenbeiträge von c#_gast Ingesamt 71 Beiträge

07.12.2006 - 08:04 Uhr

da hätte ich mal noch eine frage:
Was sind eigentlich die DispIDs und für was ist das Interface genau da?

06.12.2006 - 16:48 Uhr

naja, bei der Methode die ich Aufruf geb ich nur nen String zurück. oder passen die String-Datentypen aus VB6 und C# nicht zusammen??

06.12.2006 - 15:24 Uhr

hallo,
ich versuche eine c#-klasse, welche in einer comvisible dll ist, in vb6 zu instanzieren.
ich habe schon 2 möglichkeiten ausprobiert:


Dim test As New myDLL.myClass

dabei bekomme ich einen Automatisierungsfehler wenn ich dann eine Methode daraus aufrufen will.


Dim test As Object
Set test= CreateObject("myDLL.myClass")

dabei bekomme ich auch einen Automatisierungsfehler.

was mache ich denn falsch??

27.09.2006 - 15:55 Uhr

Original von Yellow

Soll die C#-Form nicht in der Taskleiste erscheinen? Dazu gibt es in der Form eine Property "ShowInTaskbar" die du auf false setzen musst.

das hab ich auch schon gemacht und es funktioniert

Wenn du die .NET-Anwendung als DLL in VB6 verwendest wird sie "in-process" ausgeführt und erscheint somit auch nicht im TaskManager.

sie erscheint aber im taskmanager, das ist ja das problem.

Soll das .NET Fenster sich für den User anfühlen als wäre es ein Teil deiner VB6 Anwendung, musst du das Fenster mit Windows-API Funktionen kapern. Siehe auch
>

das mit dem handle übergeben machich schon, sonst könnte die vb6 anwendung nicht auf die c# form zugreifen.

das problem entsteht, wenn ich eine Touchscreen-Tastatur einblende (wird vom vb6 programm gemacht) und zu der zeit meine c# form im vordergrund ist. dann wird die vb6 anwendung in und die tastatur in den vordergrund gebracht. jetz kann ich zwar mit ALT+TAB meine c# form wieder einblenden und die tastatur bleibt auch da, doch jedesmal wenn ich was an der tastatur mach, verschwindet die c# form wieder!
das darf nich passieren.

27.09.2006 - 13:46 Uhr

hallo.
ich mach folgendes: ich habe ein Rahmenprogramm in VB6, in welches man DLLs(komplette Anwendungen) hineinlädt und diese dann verwenden kann.
jetz habe ich so eine DLL in C# geschrieben, funktioniert auch alles, außer das C# Programm (nur ein Formular als Oberfläche) als extra Anwendung erscheint im TaskManager etc. . das ist störend in meinem vb-programm, weil beide kommunizieren.

kann man das irgendwie verhindern, das sich c#-form extra startet bzw. erscheint??

es soll quasi im vb Form integriert sein als child.

danke

04.09.2006 - 09:43 Uhr

hallo.

Gibt es irgendeine Möglichkeit im Deployment Project eigene Dialoge einzubinden. Ich bräuchte zum Beispiel einen mit mehr als 4 RadioButtons.

Hab bis jetzt noch keine Möglichkeit gefunden, geht das überhaupt?

Danke!

PS:weiß jemand wo die Dialoge im System abgelegt sind?die müssen doch auch in irgendweiner DLL sein!?

28.08.2006 - 12:07 Uhr

danke schonmal.

aber entweder habe ichs nicht richtig verstanden oder es ist nicht das richtige für mich.

ich will das im PropertyWindow im Eingabefeld für meine Eigenschaft dann rechts der Button mit den 3 Punkten ist und damit ein OpenFileDialog aufgeht, man eine datei auswählen kann und der Pfad dann in der Eigenschaft steht.

28.08.2006 - 10:57 Uhr

hallo.

ich habe mir ein eigenes Control gemacht und darin habe ich eine Eigenschaft in der ein Pfad inkl. Dateiname hinterlegt wird.
wenn ich das control auf irgendeiner form hinzufüge, erscheint meine property ja im ProperiesWindow.
Kann man für die Property ein OpenFileDialog hinterlegen, so dass man den Pfad nicht eingeben muss sondern eben die Datei auswählen kann??

Danke!

21.07.2006 - 14:46 Uhr

achso, also muss ich die größe immer einzeln berechnen.

hab gedacht es gibt vielleicht so ne methode oder so wie z.B. FitToParent() oder so, die das für mich macht.

danke

21.07.2006 - 14:30 Uhr

hallo, ich wollte fragen obs da ne möglichkeit gibt?

und zwar füge ich zu einem panel zur laufzeit button hinzu, jetz soll der button ´so groß sein wie das panel, wenn aber 2 button drauf sind sollen die zusammen so groß sein wie das panel, also jeder halb so groß. das geht dann so weiter mit jedem button der hinzugefügt wird.

also soll das panel immer komplett ausgefüllt sein. wie mache ich das??

11.07.2006 - 11:18 Uhr

hallo,

ich will unter angabe des pfades zu einem verzeichnis alle dateien mit einer fortlaufenden nr. umbenennen. muss ich diese dazu erst öffnen und wieder speichern mit openfiledialog und savefiledialog oder geht das auch einfacher mit File, FileInfo, Directory - Klassen usw.?

wenn ja, wie?

24.02.2006 - 10:07 Uhr

ok, vielen dank!

22.02.2006 - 16:43 Uhr

hallo,
wie kann ich bei der definition einer neuen Font die FontStyle -eigenschaft auf Bold und Italic setzen. geht ja nur ein was von beiden. aber irgendwie muss man doch auch beides zusammen setzen können.
weiß einer was?

22.02.2006 - 16:42 Uhr

sorry das ich dich hier so basteln lasse.
hat sich erstmal erledigt, is jetz nich so wichtig.

22.02.2006 - 15:07 Uhr

oh, hab vergessen was zu sagen. funktioniert bei mir auch. aber sobald ich im MouseMove von pnl2 irgendwas mache, und wenn ich nur nen punkt abfrag, dann passiert das.

21.02.2006 - 16:55 Uhr

na mal ganz minimal ausgedrückt mach ich sowas:

Panel pnl1 = new Panel();
Panel pnl2 = new Panel();

pnl1.Width = 500;
pnl1.Height = 500;
pnl2.Width = 400;
pnl2.Height = 400;

pnl1.AutoScroll = true;

pnl1.Controls.Add(pnl2);


//pnl2 größer als pnl1 machen

pnl2.Height = 1000;

so, wenn es jetzt größer als sein Container ist, erscheinen die ScrollBalken. wenn ich jetz aber mit der Maus über pnl2 fahre oder clicke, während es nach unten gescrollt ist, springt es wieder nach oben.

reicht das?

21.02.2006 - 14:14 Uhr

kann keiner helfen?? X(

21.02.2006 - 11:22 Uhr

hallo, habe ein Problem beim Scrollen, versuchs mal zu beschreiben:

Also erstmal habe mich ein panel (pnl1) mit AutoScroll auf true. dann habe ich darauf ein weiteres panel (pnl2), dessen größe variieren kann, und das beinhaltet eine Zeichenfläche. wenn jetzt pnl2 z.B. höher ist als pnl1 kommen die scrollbalken. passt auch alles. wenn ich jetz aber die maus über pnl2 beweg, springt der Scrollbalken immer nach oben. er bleibt also nicht an der position an die ich gescrollt habe.
allerdings wenn der focus nich bei pnl1 liegt, sondern bei einem anderen panel oder so auf meiner form, dann passiert das nicht.

woran kann das liegen??
hatts überhaupt einer verstanden? 🙁

20.02.2006 - 13:18 Uhr

ich mein z.b. wenn man in paint was markiert, hat man dann so nen rahmen rum. damit kann man dann das objekt vergrößern usw..

20.02.2006 - 11:24 Uhr

hi,
kann man irgendwie für pictureboxen so steuerzeichen anzeigen lassen, also dass man wenn sie markiert ist an den ecken diese rechtecke hat zum größe ändern und solche sachen??

10.02.2006 - 10:25 Uhr

ok, hat sich erledigt. Jetzt gehts. Danke!

10.02.2006 - 10:14 Uhr

kannst des mit System.Security mal bitte bischen genauer erläutern, steh bischen aufn schlauch.

@herbivore:
das gibts bei mir nicht: Systemsteuerung/Verwaltung/Microsoft .NET Framework 2.0 Configuration/Configure Code Access Security Policy

ich hab nur: Systemsteuerung/Verwaltung/Microsoft .NET Framework 2.0 Configuration/ und dann kommt MyComputer und die restlichen punkte find ich so nich.

10.02.2006 - 09:53 Uhr

wenn ich meine form mit Application.Exit(); beende, funktioniert das auch. aber wenn das programm von einem netzlaufwerk aus gestartet wird kommt eine SecurityPermission! Woran könnte das liegen??

09.02.2006 - 13:04 Uhr

Original von marsgk
Ich glaub die ToolStripLabels haben eine AutoSize(oder so) Eigenschaft, vielleicht liegt es daran.

Danke, AutoSize wars! hät ich eigentlich auch drauf kommen können. 🤔

09.02.2006 - 11:49 Uhr

hallo,
ich habe auf meiner form ein StatusStrip eingefügt und darauf 3 ToolStripStatusLabel. ist auch alles schön und gut, außer das ich die Größe(width) der StatusLabel nicht verändern kann. wenn ich im designer eine ander größe eingebe und bestätige, setzt sie sich automatisch wieder zurück. wie kann ich das vermeiden?

07.02.2006 - 17:03 Uhr

danke

07.02.2006 - 17:02 Uhr

was ist eigentlich der unterschied zwischen StatusBar und StatusStrip?? oder gibts da keinen?

07.02.2006 - 14:35 Uhr

hallo,

kann man eigentlich ein label irgendwie drehen??
also mir würde es reichen 90°.
geht das irgendwie, brauch das für das zeichnen von etiketten.

07.02.2006 - 13:21 Uhr

hallo, ich hab ein kleines problem.
und zwar will ich einen Pfad in einen String schreiben:

string path = @"c:\\Data";

das funktioniert ja auch, aber wenn ich jetz den pfad von einer methode zurückgegeben bekomme, wie funktioniert das dann?

string path = Environment.GetEnvironmentVariable("%USERPROFILE%");

da bekomm ich den pfad zum USERPROFILE zurück, aber der string path bleibt leer!!
da kann ich doch aber kein @ davorschreiben, wie geht das dann??

danke!

31.01.2006 - 15:48 Uhr

hallo,
kann man irgendwie den Abstand zwischen zwei Objekten vom Typ Point berechnen? Also dass man dann z.B. einen int-Wert oder so bekommt?? gibts da schon irgendwelche methoden?

31.01.2006 - 11:33 Uhr
Stream fs = new FileStream(path, FileMode.Create);
XmlTextWriter xtw = new XmlTextWriter(fs, System.Text.Encoding.ASCII);
		
xtw.WriteStartDocument();
xtw.WriteStartElement("Data");
xtw.WriteStartElement("Global");
xtw.WriteElementString("Width", width.ToString());
xtw.WriteElementString("Height", height.ToString());
xtw.WriteEndElement();
xtw.WriteEndElement();
xtw.WriteEndDocument();
		
xtw.Close();
fs.Close();

das ist ein kleiner Auszug, hab aber nur paar knoten weggelassen die ich noch schreib, genau wie oben die.

31.01.2006 - 10:55 Uhr

hallo, hab mal ein kleines problem.
ich erstell in einem programm ein xml-file mit einem XmlTextWriter. das funktioniert auch alles, aber wenn ich die datei dann öffne steht alles in einer Zeile hintereinander, also alle Knoten. hab das vor einem halben Jahr schon mal gemacht, da war nach jedem EndKnoten ein Zeilenumbruch, untergeordnete Knoten waren eingerückt usw.
allerdings weiß ich nicht mehr wie ich das gemacht hab, hab den Code auch nicht mehr.

kann mir da jemand weiter helfen??

31.01.2006 - 10:47 Uhr

hallo,
ich glaub ich steh grad bischen aufn schlauch. ich hab ne PictureBox und hab mit

Image.FromFile(Pfad);

ein Bild eingefügt.
kann ich den Pfad von dem Image in der Box später wieder auslesen oder muss ich mir den extra merken in einer extra variable??

17.01.2006 - 15:55 Uhr

starte dann mal neu, is bloß grad schlecht. meld mich wieder obs geklappt hat.

danke.

17.01.2006 - 14:44 Uhr

Original von HoGi
Du mußte den IntPtr (ptr), der von CreateFile zurückgegeben wird mit "CloseHandle" wieder freigeben.

hab das jetz gemacht. hab den oben genannten dllimport gemacht und im programm sag ich dann:

CloseHandle(ptr);

bekomm den Fehler aber immer noch. mach ich noch was falsch?

17.01.2006 - 13:01 Uhr

mein code sieht so aus:
dllimport:

[DllImport("kernel32.dll", SetLastError=true)]
   		static extern IntPtr CreateFile(string lpFileName, uint dwDesiredAccess,
       		uint dwShareMode, IntPtr lpSecurityAttributes, uint dwCreationDisposition,
       		uint dwFlagsAndAttributes, IntPtr hTemplateFile);

dann in einer methode:

IntPtr ptr = CreateFile("LPT1", GENERIC_WRITE, 0, IntPtr.Zero, OPEN_EXISTING, 0, IntPtr.Zero);
			
			/* Is bad handle? INVALID_HANDLE_VALUE */
      		if (ptr.ToInt32() == -1)
      		{
     			Marshal.ThrowExceptionForHR(Marshal.GetHRForLastWin32Error());
      		}
		    else
                 {
                 lpt = new FileStream(ptr,FileAccess.ReadWrite);

                 //hier folgt dann code zum drucken

                   lpt.Close();
                 }

also schließ ich den lpt1 ja eigentlich.
woran könnte es denn noch liegen?

17.01.2006 - 10:07 Uhr

hallo, ich ein Problem beim drucken.
also, ich druck vom programm raus direkt über LPT1 auf einen Etikettendrucker. dabei sende ich die anweisungen binär an lpt1 und der drucker wertet dies dann aus. funktioniert auch alles!
jetzt mein problem: nachdem ich 3-5 mal gedruckt habe, bekomme ich eine Fehlermeldung.

"System.Runtime.InteropServices.COMException (0x800700E7): Alle Pipeinstanzen sind ausgelastet."

kann mir jemand sagen was genau der grund dafür ist, oder noch besser eine Lösung nennen?

13.01.2006 - 10:34 Uhr

Vielen Dank Meli!!!
hast mir sehr geholfen, jetz gehts!!
danke! 😁

12.01.2006 - 17:06 Uhr

Original von svenson
De MS-Link scheint tot. Hier nochmal der Weg: Die Win32-Funktion OpenFile() mittels Pinvoke/DLLImport verfügbar machen. Die Datei "LPT1:" damit öffnen und den Zeiger (bzw. IntPtr), den die Funktion zurückgibt, in den FileStream-Konstruktor werfen. Dann wie gehabt arbeiten.

kannst du mir das mal genauer erklären? ambesten mit nem codebeispiel!!wär echt super, vertseh das grad nich so genau, mach c# noch nich so lang.

12.01.2006 - 15:54 Uhr

ich will ja eigentlich keine gerätedateien öffnen.
ich will eigentlich nur die daten an die schnittstelle senden. zum testen hab ich das so gemacht, das ich im texteditor ein paar befehle eingegeben hab:


N
LO50,10,4,130
X100,10,4,200,150
A300,30,1,5,1,1,R,"TEST"
P1

jede Zeile stellt eine Anweisung für den drucker dar, habs abgespeichert und dann per cmd an den Drucker geschickt:

type druck.txt > LPT1

das müsste ich eben jetzt aus c# raus machen!
Wie kann ich das machen? Kann man einen Binärstream an LPT1 schicken oder kann ich irgendwie den Kommandozeilenbefehl aufrufen??

12.01.2006 - 10:29 Uhr

Original von Xqgene
bei uns in der Firma stehen Elton Orion Etikettendrucker.

für den haben wir ein Paar Reports in Navision geschrieben. Dabei werden an den Drucker einfach Steuerbefehle gesendet und zwar im Text Format. Sieht auf dem Bildschirm etwa so aus:

  
A34,0,0,1,1,2,N,"BlaBla Artikelbezeichnung"  
ZT  
S2  
D7  
N  
OD  
Co  
A340,86,0,4,1,2,N,"Firma"  
A30,108,0,4,1,1,N,"03.01.06 "  
B30,30,0,1,2,15,48,B,"0001"  
P1  
Q154,24  
q456  

als Treiber ist der Generic/Text only eingestellt.

so was sollte auch bei Zebra geben.

hallo, ich arbeite auch an einem etikettenprogramm. die daten die an den Drucker (UBI-Drucker) geschickt werden müssen sind so wie die oben genannten. aber wie schicke ich diese daten aus c# über lpt1 an den drucker?? kann mir jemand helfen?vielleicht ein Codebeispiel oder so!?!

danke.

12.01.2006 - 09:55 Uhr

@hemasek:
genau das gleiche will ich auch machen. wie hast du es jetzt gelöst??

Oder weiß jemand anderes wie er es gemacht hat oder überhaupt realisierbar ist??
wär wirklich wichtig!

10.01.2006 - 10:08 Uhr

ich wollte eine Eigenschaft für eine Koordinate x in einer Klasse machen. diese soll man dann als int und als double (oder eventuell float) setzen können. also das ich einfach an x eine Zahl übergeb, und dann automatisch die entsprechende Eigenschaft genutzt wird, je nachdem ob es eine int oder float Zahl ist.

10.01.2006 - 09:52 Uhr

hallo,
kann mir jemand sagen, ob man Eigenschaften in C# auch überladen kann?
mit methoden geht das ja.
wollte das so machen:

public int X
{
	get
	{
		return intx;
	}
	set
	{
		intx = value;
	}
}
	
public double X
{
	get
	{
		return dx;
	}
	set
	{
		dx= value;
	}
}
15.12.2005 - 16:34 Uhr

HILFE!!!!
Ich komm nicht weiter!
@dr4g0n76: Danke nochmal für dein Beispiel, so ungefähr stell ich mir des auch vor mit den Rechtecken verschieben und so!!
Aber ich steig da nicht durch. Ich bin noch zu neu in C# um dein Programm zu vertstehen!
Kannst du mir, oder jemand anderes, erklären wie man das grundsätzlich macht, dass man ein Rechteck auf einer Fläche (z.B. einem Panel) zeichnet und dieses dann aber als einzelnes Objekt hat und verschieben und vergrößern kann!?!
wäre wirklich sehr wichtig! Hab mich sehr mit dem Grafikeditorbeispiel beschäftigt, aber ich verstehs einfach nicht.

wär spitze wenn mir jemand was dazu sagen könnte!!

vielen dank!!

14.12.2005 - 14:21 Uhr

Original von dr4g0n76
Bisher war dazu immer ein externer Debugger nötig, bzw. wurde der Debugger von Microsoft eingesetzt.

welchen externen debugger könnt ihr da empfehlen??
oder wie benutze ich den von Microsoft??

14.12.2005 - 11:34 Uhr

hallo. hab mal ne frage zur Entwicklunbgsumgebung Sharp Develop. Wie kann man da debuggen?wie setzt man haltepunkte? ich krieg das nicht hin.
kann mir jemand helfen?
danke!