Announcement

Collapse
No announcement yet.

Daten aus Thread heraus nach Excelblatt schreiben

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Daten aus Thread heraus nach Excelblatt schreiben

    Hallo,

    in meiner Anwendung muss ich aus einem Thread::Execute() heraus
    Daten in ein Excel-Forumlar schreiben. Dabei treten nach diveresen Versuchen
    hauptäschlich 2 Fehler auf:

    1. Coinitialize wurde nicht aufgerufen oder
    2. Eine Schnittstelle, die fuer einen anderen Thread marshalled war, wurde von der Anwendung aufgerufen.

    bei meinen Recherchen im Internet wird mir klar dass ich mit CoInitialize,
    CoUnInitialize, CoMarshalInterThreadInterfaceInStream usw. hantieren muss.

    Leider habe ich für C++ (C++Builder BDS2006) weder ein HowTo noch
    ein Beispiel gefunden.

    Kann mir jemand weiterhelfen? Wie Synchronisiert man das? Hat jemand ein
    Beispiel?

    --------hier ein paar Code-Schnipsel---------------------------------

    __fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)

    Excel =new MyExcel;
    Excel->Visible=true;
    ...
    ...
    Thread0 = new MyThread(false);
    -----------------------------------------------
    while (!this->Terminated){
    Form1->Excel->.....

  • #2
    Eigentlich kein akt.
    Nur das alle funk von cb5 zu bds geändert werden müssen.

    In der bds erzeugst du deinen excelserver und initialisiertst ihn.
    dann thread starten.
    wenn thread arbeit hat, dann arbeiten ansonsten nichts tun.
    am besten über ein flag.
    // kleiner aussug
    EWBook->ConnectTo( EApp->Workbooks->Open( fname,
    fa, tr, Empty, nu,
    fa, fa, Empty, Empty,
    fa, fa,
    Empty, fa, 0 ) );
    EWBook->Activate();
    long count = EWBook->Worksheets->get_Count();

    Nicht vergessen, com server wieder zu schließen beim beenden.
    Ich hoffe du hast prof version von bds.

    mfg
    Fred

    Comment

    Working...
    X