![]() |
OLE - Excel schließt sich nach Create
hallo
ich bin hier schon am verzweifen. Ich erstelle mir eine neue Excel Instanz mit diesem code
Delphi-Quellcode:
aber sobald ich aus der procedure raus gehe schließt sich excel.
try
Excel := CreateOleObject('Excel.Application'); //Instanz wird erstellt Excel.Visible := True; //Ohne Worte except ShowMessage(ERROR_MSG); end; Hat jemand eine vermutung woran das liegen könnte? |
AW: OLE - Excel schließt sich nach Create
Wo ist die Variable Excel definiert.
Ich Tipp darauf das sie in der Methode definiert ist. |
AW: OLE - Excel schließt sich nach Create
nimm mal die Variablendeklartion vom Stack, also irgendwo in den Private oder Public Bereich....
|
AW: OLE - Excel schließt sich nach Create
Zitat:
|
AW: OLE - Excel schließt sich nach Create
klappt wunderbar. Danke.
Was mich dann aber wundert das es bei Word funktioniert. |
AW: OLE - Excel schließt sich nach Create
Zitat:
|
AW: OLE - Excel schließt sich nach Create
habe die Variablen jetzt im Privat bereich deklariert.
jetzt wirft er mir aber eine exception wenn ich excel oder word createn will. hier mal mein code
Delphi-Quellcode:
//********************************************************************************************************
// Microsoft OLE *} {* Anfang *} type TOffice = class(TObject) private // Excel : OleVariant; // Word : OleVariant; public Excel : OleVariant; Word : OleVariant; constructor Create; destructor destroy;override; procedure OeffneWord(NeuesDokument: Boolean = False); procedure OeffneExcel(NeueTabelle : Boolean = False); end; {* Ende *} implementation //********************************************************************************************************* // MICROSOFT // *Anfang* //********************************************************************************************************* constructor TOffice.Create; begin // mach was end; destructor TOffice.destroy; begin //destroy end; procedure TOffice.OeffneExcel(NeueTabelle : Boolean = False); const ERROR_MSG : string = 'Microsoft Excel kann nicht starten!'; begin try Excel := GetActiveOleObject('Excel.Application'); Excel.Windowstate := wsNormal except {* Ist keine Vorhanden wird neu erstellt *} try screen.Cursor := crHourGlass; //SandUhr Aktiv Excel := CreateOleObject('Excel.Application'); //Instanz wird erstellt Excel.Visible := True; //Ohne Worte if NeueTabelle then Excel.Workbooks.Add; //ein Tabsheet wird hinzugefügt screen.Cursor :=crDefault; //Sanduhr Deaktiv except ShowMessage(ERROR_MSG); end; end; screen.cursor:=crDefault; end; procedure TOffice.OeffneWord(NeuesDokument: Boolean = False); var Word : OleVariant; begin try {* Prüfe ob instanz vorhanden ist *} Word := GetActiveOleObject('Word.Application'); Word.WindowState := wsNormal; except try screen.Cursor := crHourGlass; Word := CreateOleObject('Word.Application'); Word.Visible := True; if NeuesDokument then Word.Documents.Add; except ShowMessage('Microsoft Word kann nicht starten.'); end; end; screen.cursor:=crDefault; end; //********************************************************************************************************* // MICROSOFT // *Ende* //********************************************************************************************************* |
AW: OLE - Excel schließt sich nach Create
Zitat:
Meine Glaskugel ist noch in den Osterferien |
AW: OLE - Excel schließt sich nach Create
Hast Du eine Instanz von TOffice erzeugt und verwendest diese?
|
AW: OLE - Excel schließt sich nach Create
ohhh Kommando zurück. hatte im constructor und im destructor inherited vergessen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz