Original erstellt von Gregor:
Wenn man eh nur vorhat, für Windows zu programmieren, dann ist es IMHO der richtige Schritt, bei Visual C++ zu bleiben und das .Net-Framework zu vergessen. Das bietet dann ja keinerlei Vorteile. (...wenn man mal davon absieht, dass die Sprache unkomplizierter ist)
Es hat aber noch weitere Vorteile als nur die unkomplizierte Sprache. Das .NET-Framework bietet IMHO viel mehr Funktionalität und Sicherheit als die MFC.
Wer vernünftige Windows-Anwendungen programmieren will, sollte schon mal daran denken, sich mit .NET zu befassen.
Original erstellt von Gregor:
Wenn man für mehrere Plattformen programmieren möchte, dann ist es IMHO der richtige Schritt, in Java zu programmieren. "Plattformunabhängigkeit" ist bei C# durch die fehlende Standardisierung der Winforms so nicht gegeben und ist auch nicht in Zukunft zu erwarten. Zudem fehlt ein Support von MS für andere Plattformen. ...und Portierungen des .Net-Frameworks auf andere Plattformen sind Mangelware.
Das ist zur Zeit noch der Fall, da stimme ich dir zu.
Aha!
Das is jetzt aber seltsam, hatte eigentlich nie Probleme mit einer Verbindung auf einen SQL Server...
Kanns Du Dich denn per Enterprise Manager auf den SQL Server verbinden, mit User "sa" und dem nötigen Passwort?
Schöne Grüße,
Envi
Ich glaube direkt nicht! Aber du kannst das Paint Ereigniss benutzen. Denn das wird nach dem die Scrollbar bewegt wurde auf alle Fälle aufgerufen. Dort rufst du einfach über DisplayRectangle das Aktuelle Rechteck ab was angezeigt wird!
Hoffe das funzt für dein Prob!
cu
Hier ist meine Lösung (für eine Formularanwendung):
folgenden Namespace einbinden:
using System.Runtime.InteropServices;
Innerhalb der Formularklasse eine Klasse definieren um Win-API-Funktionen
zu importieren:
public class WinAPI
{
[DllImport("user32.dll", CharSet=CharSet.Auto)]
public static extern int
FindWindow( string strClassName, string strWindowName );
[DllImport("user32.dll", CharSet=CharSet.Auto)]
public static extern int
SetForegroundWindow( int iHwnd );
}
Die Main-Funktion sollte in etwa so aussehen:
static void Main()
{
int iHwnd =
WinAPI.FindWindow( "EineFensterKlasse", "EinFensterTitel" );
if ( iHwnd != 0 )
{
WinAPI.SetForegroundWindow( iHwnd );
Application.Exit();
return;
}
Application.Run( new MyForm() );
}
Die Fensterklasse läßt sich z.B. gut über das "Spy"-Tool ermitteln.
Gruß
Grunzer
Zu 1: Arbeite mit Objekten (Objektreferenz)!
class Node
{
char[] info;
Node next;
}
Wenn du auf .next dein nächstes Objekt "Node" übergiebst, hast du eine Referenz darauf.
Zu 2: Nein
Zu 3: MSDN, http://www.c-sharpcorner.com/, oder googeln
@Happy Builder,
danke, habe aber mittlerweile festgestellt, dass das Problem nicht an meinem Programm liegt, sondern dass der der DB-Server bremmst ( momentan mein Arbeitsrechner ).
Trotzdem danke für die Informationen
Gruß
Jo, dass weiss ich.
Aber der VC7 kann nix. Garnix! Borland, Intel, GNU sind besser. Gerade mal DigitalMars hinkt in konformitaet hinterher...
Mal abwarten wann VC8 kommt...
Danke Scania,
so nun noch ein Problem: Wenn ich jetzt ein tlb file erzeugt habe und es in einem C++ Konsole Programm per Import einbinde, erzeugt der Compiler ne reihe Dateien: tlh, tli.
Aber wie kann ich jetzt ein Objekt von der Klasse erstellen?
Hat jemand vielleicht dazu nen guten Link?
danke cu
Ist ja nicht der Sinn da man wieder Windows installieren muß.
Da kann man gleich einen Windowsrechner verwenden.
Mit VMWARE geht es aber und so langsam ist VMWARE auf einem PIII 900 mit > 300 MB Speicher auch nicht.
[ Dieser Beitrag wurde am 26.08.2002 um 11:16 Uhr von Unix-Tom editiert. ]
Hat es schon mal einer geschafft ein "__value enum" zu boxen und an ein "System::Object" Objekt zu übergeben?
Bekomme andauernd einen "Internal Compiler Error"!
ExactSpelling
Auschnitt aus einem Buch:
"PInvoke versucht, den Namen der angegebenen Funktion dem tatsächlichen Namen, wie im Prototyp angegeben, zuzuordnen. Wenn dieses Feld auf true festgelegt ist, muss der Name des Einstiegspunkts in der nicht verwalteten DLL genau mit dem übergegebenen Namen übereinstimmen."
Danke für die Hilfe.
Wenn dein Boss sagt lerne Java, lerne Java.
Wenn dein Boss sagt lerne C#, lerne C#.
Wenn dein Lehrer sagt lerne Java, lerne Java.
Wenn dein Lehrer sagt lerne C#, lerne C#.
Wenn die neueste Umfrage sagt lerne Java, lerne Java.
Wenn die neueste Umfrage sagt lerne C#, lerne C#.
Wenn dein Freund der den ganzen Tag am CSen ist sagt lerne Java, lerne C#.
Wenn dein Freund der den ganzen Tag am CSen ist sagt lerne C#, lerne Java.
Sollte nichts von dem zutreffen, lerne das was dir Spass macht, nicht das was dir igend jemand sagt.... und schuß.
[ Dieser Beitrag wurde am 19.08.2002 um 12:32 Uhr von CMatt editiert. ]