DragDrop register failed

zioProduct

Erfahrenes Mitglied
Huhu, ich bins mal wieder :)

Also ich habe folgendes "schwerwiegendes" Problem;
Nach unzähligen Blogs und FAQ Pages wende ich mich nun an euch. Ich bekomm die Exception: Additional information: DragDrop registration failed.

Das Problem ist, es liegt nicht an einer CodeZeile...
Wenn ich die "befallene" Codezeile umgehe, erscheint der Fehler einfach in der nächsten Codezeile...

In nem Blog hab ich gelesen das es einen einfluss hat, das diese Form, in welcher der Fehler auftritt keine Main hat, sondern von einer anderen Form aufgerufen wird. Doch hat auch dieser arme Wicht keine Antwort gefunden/erhalten.

Also ich bin für alle Information über die DragDrop registration failed dankbar.

PS: Ich benötige kein DragDrop... Der Fehler erscheint momentan bei einem EventHandler und wenn ich den umgehe beim setzen des ChildIndexes etc...

Bin echt überfragt...Schon die kleinste Stütze bringt mich vielleicht weiter...

mfg
ziop
 
Das ist leider nicht möglich;
1. vieeel zu gross
2. Betriebsinterne Sachen sollte man nicht veröffentlichen :)

Ist auch nicht so wichtig, der Fehler kommt im InitializeComponents einer Unterform vor:
Code:
this.AllowDrop = true;
this.ClientSize = new System.Drawing.Size(893, 658);
this.Controls.Add(this.tcPanelViews);
this.Controls.Add(this.tcPanelModuls);
this.Controls.Add(this.tcPanelStatus);
this.Visible = true;
this.FirmaVisibilityChanged += new Firma.Touch.Forms.VisibilityEventHandler(this.ProduceScreen_TrumpfVisibilityChanged);
this.Controls.SetChildIndex(this.tcPanelStatus, 0);
this.Controls.SetChildIndex(this.tcPanelModuls, 0);
this.Controls.SetChildIndex(this.tcPanelViews, 0);
this.Controls.SetChildIndex(this.mContextButtonPanel, 0);
this.mContextButtonPanel.ResumeLayout(false);
this.tcPanelViews.ResumeLayout(false);
this.tcPanelStatus.ResumeLayout(false);
this.tcPanelModuls.ResumeLayout(false);
this.ResumeLayout(false);
Momentan kommt der Fehler beim VisibilityChanged Handler, doch wie gesagt wenn ich den auslasse, kommt der Fehler einfach beim SetChildIndex des PanelStatus etc...

Wie gesagt bin eher auf allgemeine Hinweise bedacht, da dieser Fehler häufig auftritt, aber fast niemand ihn schlau beseitigen konnte ohne gross den ganzen Code zu changen...

mfg
ziop
 
zioProduct hat gesagt.:
.....
Code:
this.FirmaVisibilityChanged += new Firma.Touch.Forms.VisibilityEventHandler

Kann das sein das du da eher "new System....." stehen haben solltest ? (so ist das zumindest im normalfall....)

Weil das System ja das Event auslößt, nicht deine Klasse, oder irre ich da gerade ?

Was soll das Teil den Beobachten ? ob das Fenster Visible ist oder nicht ? (da würde sich eine static Variable auch anbieten *g*)


Gruss

MFC OpenGL
 
Sry, detail vergessen :)

Dieser VisibilityChangedHandler ist ein Handler der von meiner Firma geschrieben wurde. Dieser tritt auf wenn eine unterForm, in der MainForm geändert wird, also die Form im Frame für UnterForms geändert wird.

Und nein, da es eine "eigenProduktion" ist, ist mit dem Befehl alles korrekt, trotzdem Danke :suspekt:
 
"Sry, detail vergessen :)"

löööl :p


Also bei mir sieht ein Event immer so aus :

Code:
this.lboxAnrede.SelectedIndexChanged += new System.EventHandler(this.lboxAnrede_changed);

Pauschal würd ich sagen, du solltest das auf jedes "Bauteil" deines Forms legen, und dann entsprechend bei dem Event das ändern was du ändern willst. Also auf jeden Button, jedes Textfeld.... (würde das mal mit 1-2 Textfeldern testen, weil auf nen komplettes Form anwenden... )

Gruss

MFC OpenGL

PS : Wenns noch mehr versteckte Infos gibt, dann heraus damit ;)
 
Der Handler kann nicht auf jeden Bauklotz gelegt werde, der wurde eigens für diesen Zweck erstellt, und ist nur der Form gutzuschreiben, alles andere müsste ich über normale Handler machen, was aber keinen Sinn ergibt :)
 
Sorry, dann reichen meine 2 Wochen C# Kenntnisse nicht aus um dir weiterzuhelfen... Sorry

War trotzdem nen nettes Gespräch *gg*

Gruss

MFC OpenGL


PS : Denke die Gurus vom Dienst sind Mittwoch wieder da
 
Na, das mit dem EventHandler passt so schon. Ist einfach nur ein benutzerdefinierter EventHandler und sonst ist nichs aufregendes dabei.

Wenn es mich nicht täuscht, dann kann man die Drag&Drop-Funktionalität in den Form-Eigenschaften ja aus- bzw. einschalten. Ich weiß jetzt die entsprechende EIgenschaft nicht auswändig, aber guck mal, sollte eine dafür geben.
 
Jo, gibts, aber hat nichts gebracht. Naja ich glaube der Fehler ist durch das Initialisieren der anderen Form in den versch. Forms aufgetreten...
Habe nun einfache jede Form nach dem Singelton ansatz gemacht, nun Funktioniert es, trotzdem falls jemand den Fehler kennt, würd mich doch intressieren was das ist :)

Für die, die nicht wissen was ich unter Singleton-Ansatz verstehe, ist ein Ansatz, der die Form in sich selber Initialiesiert, und so gewährleistet wird, das die anderen Forms nur auf eine einzige "instanz"? dieser Form zugreifen können. Kommt von Java her, hier ein Bsp:

Code:
private static FormName instance = null;

public static FormName getInstance()
{
if(instance == null)
instance = new FormName();
return instance;
}

// Nun könnt ihr in jeder anderen Form von eurem Projekt über
FormName.getInstance().methodenName

//auf eure Methoden zugreifen, ohne das ihr die Form irgendwo initialisieren müsst.

Hoffe der Tipp hilft den Neulingen hier, die alten Hasen muss mann ja nicht belehren ;)

Wie gesagt, falls jemand noch infos zu dem Fehler findet bitte hier Posten, deshalb lasse ich den Thread noch ne weile auf "nicht Erledigt".

so long
ziop
 

Neue Beiträge

Zurück