Dzięki za odpowiedzi.
Pozdrawiam
Tomek
Użytkownik RobertW <rob@onet.plw wiadomości do grup dyskusyjnych
napisał:ag3nnc$rh@news.onet.pl...
Witam
W DAO jest TableDef - można wyświetlić strukturę tabel.
Natomiast w ADO tego nie znalazłem. Przeczytałem o obiekcie Catalog i
Table - ADOX, ale to ??? chyba ??? nie to samo.
Więc pytanie brzmi jak wyświetlić strukturę tabeli wykorzystując ADO?
ADO to tak właściwie kilka bibliotek
ADODB - Microsoft ActiveX Data Objects 2.7 Library
ADOMD - Microsoft ActiveX Data Objects (Multi-dimensional) 2.7 Library
ADOR - Microsoft ActiveX Data Objects Recordset 2.7 Library
ADOX - Microsoft ADO Ext. 2.7 for DDL and Security
JRO - Microsoft Jet and Replication Objects 2.6 Library
Nie jest to połączone w jednej bibliotece jak to było w przypadku DAO
Jeśli interesuje cie struktura bazy otwierasz ją za pomocą ADODB.Connection.
Sama baza reprezentowana jest jako ADOX.Catalog, masz tam dostęp do
kolekcji tabel, perspektyw i procedur. Oczywiście najpierw musisz
zainicjować
ADOX.Catalog poprzez przypisanie do ADOX.Catalog.ActiveConnection
wcześniej utworzonego obiektu ADODB.Connection.
Jest jeszcze jeden sposób, odczytanie tych informacji jako rekordsetu
poprzez ADODB.Connection.OpenSchema.
Proponuje ci test.
menu Project / Components...
Druga zakładka Designers
Wybierz Data Environment i OK
Teraz znowy menu Project / Mode ActiveX Designers... / Data Environment
Powinno pojawić ci sie okienko z TreeView (DataEnvinment1/Connection1)
Weź teraz 'Properties...' dla 'Connection1'
Wybierz 'Microsoft OLEDB Provider for SQL Server'
Potem musisz tylko wybrać baze i sposób logowania
Baza na SQL'u musi wcześniej istnieć, ja osobiście korzystam do utworzenia
bazy z Enterprise Menagera z MS SQL 2000 wersji ewaluacyjnej,
chociaż można to zrobić za pomocą komend SQL'a z konsoli.
PS.
VisData pozwala na podłączenia do SQL Servera
File / Open Database...
ODBC...
DSN: (None)
Driver: SQL Server
i rejestrujesz nowego DSN'a
Skonfiguruj go na odpowiedni komputer (nazwa ,baza, logowanie)
Po kolejnym otwarciu okna ODBC... powinien być już tam widoczny nowy DSN
Witam Wszystkich
Mam prosbe, czy ktos z Was moglby mi przyslac przykladowy kod do obslugi
GRID w polaczeni go z baza MSSqlServer,
lub podac adres jakiejs storny z takim kodem.
Z gory dzieki
Michal
Założenia
1) Serwer z MS SQL nazywa się ALPHA. Serwer pozwala na uwierzytelnianie
zintegrowane (upraszczając: SQL jest na WinNT). Jeśli jest na Win9X doczytaj
o otwieraniu połączenia przez ADODB.Connection
2) Projekt w VB zawiera formularz o nazwie Form1
3) Na Form1 będzie osadzona kontrolka DataGrid1 typu DataGrid
niech będzie stworzony następujący projekt w VB 6.0
4) W referencjach dodaj odwołanie do microsoft ActiveX Data Objects (...)
5) Docelowa baza nazywa się CZYNSZE_TBS_M
6) Docelowa tabela nazywa się Klient
I teraz najprostszy kod który zadziała dla w/w założeń:
Option Explicit
Dim con As ADODB.Connection
Dim rst As ADODB.Recordset
Private Sub Form_Initialize()
Set con = New ADODB.Connection
Set rst = New ADODB.Recordset
con.CursorLocation = adUseClient
con.Open "Provider=SQLOLEDB;Data Source=ALPHA;Integrated
Security=SSPI;Initial Catalog=CZYNSZE_TBS_M"
Set rst = New ADODB.Recordset
rst.CursorLocation = adUseClient
rst.Open "SELECT TOP 10 * FROM Klient", con
Set DataGrid1.DataSource = rst
End Sub
Teraz przeczytaj dokumentację Microsoftu i pobaw się tym przykładzikiem.
Za szkody wyrządzone przez powyższy kod redakcja nie ponosi w żaden sposób
odpowiedzialności finansowej. Korzystanie z niego wiąże się z ryzykiem
osobistym i nie podlega ubezpieczeniu przez PZU.
Czas przeznaczony na czytanie i testowanie kodu jest bezpłatny
Dziesiejszy przykład sponsorowała literka B
Pozdrawiam ;-)
Siudek Sławomir
Witam Wszystkich
Mam prosbe, czy ktos z Was moglby mi przyslac przykladowy kod do obslugi
GRID w polaczeni go z baza MSSqlServer,
lub podac adres jakiejs storny z takim kodem.
Z gory dzieki
Michal
Założenia
1) Serwer z MS SQL nazywa się ALPHA. Serwer pozwala na uwierzytelnianie
zintegrowane (upraszczając: SQL jest na WinNT). Jeśli jest na Win9X
doczytaj
o otwieraniu połączenia przez ADODB.Connection
2) Projekt w VB zawiera formularz o nazwie Form1
3) Na Form1 będzie osadzona kontrolka DataGrid1 typu DataGrid
niech będzie stworzony następujący projekt w VB 6.0
4) W referencjach dodaj odwołanie do microsoft ActiveX Data Objects (...)
5) Docelowa baza nazywa się CZYNSZE_TBS_M
6) Docelowa tabela nazywa się Klient
I teraz najprostszy kod który zadziała dla w/w założeń:
Option Explicit
Dim con As ADODB.Connection
Dim rst As ADODB.Recordset
Private Sub Form_Initialize()
Set con = New ADODB.Connection
Set rst = New ADODB.Recordset
con.CursorLocation = adUseClient
con.Open "Provider=SQLOLEDB;Data Source=ALPHA;Integrated
Security=SSPI;Initial Catalog=CZYNSZE_TBS_M"
Set rst = New ADODB.Recordset
rst.CursorLocation = adUseClient
rst.Open "SELECT TOP 10 * FROM Klient", con
Set DataGrid1.DataSource = rst
End Sub
Teraz przeczytaj dokumentację Microsoftu i pobaw się tym przykładzikiem.
Za szkody wyrządzone przez powyższy kod redakcja nie ponosi w żaden sposób
odpowiedzialności finansowej. Korzystanie z niego wiąże się z ryzykiem
osobistym i nie podlega ubezpieczeniu przez PZU.
Czas przeznaczony na czytanie i testowanie kodu jest bezpłatny
Dziesiejszy przykład sponsorowała literka B
Pozdrawiam ;-)
Siudek Sławomir
Teraz dostaje komunkat
"The rowset is not bookmarkable"
Wiesz moze o co chodzi?
michal
to także ADOR (Microsoft ActiveX Data Objects Recordset 2.7 Library)
pozwalajacy na tworzenie i operowanie rekordsetami bez połaczenia z żadną
bazą
ADOR.Recordset to to samo co ADODB.Recordset i klasy te mogą być stosowane
zamiennie
to także ADOX (Microsoft ADO Ext. 2.7 for DDL and Security)
moduł do tworzenia baz i zarządzania urawnieniami
ADOMD (Microsoft ActiveX Data Objects (Multi-dimensional) 2.7 Library)
moduł do manipulacji na danych wielowymiarowych pochodzących np. z OLAPa
JRO (Microsoft Jet and Replication Objects 2.x Library)
moduł do kompaktowania, naprawy i konwersji baz Accessa
oraz do obsługi replikacji w Accesie
Pozostaje jeszcze MDACVer (Microsoft Data Access Components Installed
Version)
pozwalajacy na ustalenie która wersja MDACa znajduje sie na danym komputerze
RDS (Microsoft Remote Data Services 2.7 Library)
i RDSServer (Microsoft Remote Data Services Server 2.7 Library)
pozwalajace na zdalny dostęp do danych poprzez IISa
Jak widać ADO to "troche więcej" niż DAO
Przeczytaj wszystkie posty z tego wątku
Skąd zainstalować na WinXP bibioteki związane z ADODB?
Chodzi o przeniesie programu na inny komputer, na którym jest sam WinXP.
ADODB.dll to interop assembly opakowujace w kod zarządzany
funkjonalność oferowaną przez Microsoft ActiveX Data Object (ADODB)
Jak zarejestrować pliki DLL jeśli nie ma RegSrv.exe?
Tej biblioteki nie rejestruje się,
podobnie jak pozostałych bibliotek zarządzanych
jeśli są wykorzystywane przez zarządzana aplikacje.
Jeśli nie przekonałeś sie do brodziejstw ADO.NET i dalej używasz ADODB
w stoich .NET'owych aplikacjach to nie pozostaje ci nic innego jak
razem ze swoja aplikacją dystrybuować to assembly.
Instalując środowisko developerskie Visual Studio
tworzony jest na twoim dysku katalog
(przy standardowych ustawieniach systemu)
c:Program FilesMicrosoft.NETPrimary Interop Assemblies
Znajdziesz tam właśnie plik adodb.dll,
który mozesz dystybuować ze swoją aplikacja.
PS.
W przypadku środowiska .NET nie jest konieczna rejestracja
bibliotek wymaganych do uruchmienia danego programu,
(poza obecnościa odpowiednierj wersji .NET Framework'a)
wystarczy jest tylko obecność uzywanych bibliotek
w katalogu z którego uruchamiany jest program
Dotyczy tych które nie znajdują sie w dystrybucji samego Framework'a
PS.2
Jeżeli jakdnak z biblioteki .NETowej korzysta wiecej aplikacji
a chciałbyś zaoszczędzić miejsce na dysku
to możesz poprosić Framework'a aby przechował ja w Global Assembly Cache
Służy do tego program gacutil.exe
Reference=*G{00000205-0000-0010-8000-00AA006D2EA4}#2.5#0#......WINDOWSS
YSTEMmsado25.tlb#Microsoft ActiveX Data Objects 2.5 Library
Reference=*G{00025E01-0000-0000-C000-000000000046}#5.0#0#......WINDOWSS
YSTEMDAO360.DLL#Microsoft DAO 3.6 Object Library
Reference=*G{6B263850-900B-11D0-9484-00A0C91110ED}#1.0#0#......WINDOWSS
YSTEMMSSTDFMT.DLL#Microsoft Data Formatting Object Library 6.0 (SP4)
Object={EAB22AC0-30C1-11CF-A7EB-0000C05BAE0B}#1.1#0; SHDOCVW.DLL
Reference=*G{56BF9020-7A2F-11D0-9482-00A0C91110ED}#1.0#0#......WINDOWSS
YSTEMMSBIND.DLL#Microsoft Data Binding Collection VB 6.0 (SP4)
Reference=*G{B45E0189-CF19-11D6-8C2D-0050FC2F0D73}#2.0#0#......PROGRAM
FILESPIEKARNIAREGISTERLICENCJA.DLL#Licencja
Reference=*G{84B7C305-D151-11D6-8C2D-0050FC2F0D73}#1.0#0#......PROGRAM
FILESPIEKARNIAREGISTERCOD.DLL#Cod
Object={6B7E6392-850A-101B-AFC0-4210102A8DA7}#1.3#0; COMCTL32.OCX
Object={65E121D4-0C60-11D2-A9FC-0000F8754DA1}#2.0#0; MSCHRT20.OCX
Object={67397AA1-7FB1-11D0-B148-00A0C922E820}#6.0#0; MSADODC.OCX
Object={C932BA88-4374-101B-A56C-00AA003668DC}#1.1#0; MSMASK32.OCX
Object={CDE57A40-8B86-11D0-B3C6-00A0C90AEA82}#1.0#0; MSDATGRD.OCX
Object={0ECD9B60-23AA-11D0-B351-00A0C9055D8E}#6.0#0; MSHFLXGD.OCX
Object={3B7C8863-D78F-101B-B9B5-04021C009402}#1.2#0; RICHTX32.OCX
Object={BDC217C8-ED16-11CD-956C-0000C04E4C0A}#1.1#0; TABCTL32.OCX
Object={86CF1D34-0C5F-11D2-A9FC-0000F8754DA1}#2.0#0; MSCOMCT2.OCX
Object={F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0; COMDLG32.OCX
Reference=*G{0D452EE1-E08F-101A-852E-02608C4D0BB4}#2.0#0#......WINDOWSS
YSTEMFM20.DLL#Microsoft Forms 2.0 Object Library
Object={FAEEE763-117E-101B-8933-08002B2F4F5A}#1.1#0; DBLIST32.OCX
Object={F0D2F211-CCB0-11D0-A316-00AA00688B10}#1.0#0; MSDATLST.OCX
Object={648A5603-2C6E-101B-82B6-000000000014}#1.1#0; MSCOMM32.OCX
Object={48E59290-9880-11CF-9754-00AA00C00908}#1.0#0; MSINET.OCX
Object={00028C01-0000-0000-0000-000000000046}#1.0#0; DBGRID32.OCX
Object={248DD890-BB45-11CF-9ABC-0080C7E7B78D}#1.0#0; MSWINSCK.OCX
Object={5E9E78A0-531B-11CF-91F6-C2863C385E30}#1.0#0; MSFLXGRD.OCX
Object={38911DA0-E448-11D0-84A3-00DD01104159}#1.1#0; COMCT332.OCX
Object={ED2BF553-CF2C-11D6-8C2D-0050FC2F0D73}#1.0#0; BROWSEMDB.OCX
Object={4A26529F-AE17-4F66-B265-70227BBF77DA}#1.1#0; RYSUNEK.OCX
Object={E043FC54-CFFB-11D6-8C2D-0050FC2F0D73}#1.0#0; INFORM.OCX
Najlepiej w tym celu przeslij na grupe naglowek pliku vbp,
gdzie sa wymienione uzyte obiekty.
pzdr aci
Nie dziala poprostu :-(
No to trzeba tak było od razu. A w którym konkretnie miejscu się wywala?
Dodałeś referencje do Microsoft ActiveX Data Object ?
przem
Rzeczywiście formanty ActiveX znajdują się w Downloaded Programe Files
ale plikich z których pochodzą to pliki CAB i znajdują się w Temporary
Internet Files i w katalogu który wydaje się być lustrzanym odbiciem tego
ostatniego Local Settings/Temoporary Internet Files. (Po co potrzebny
jest ten katalog?)
We właściwościach formantów ActiveX na karcie Zależności widzimy oprócz
plików z których składa się formant ActiveX biblioteki dll od których
działanie formatu zależy.
Wychodzi na to te formanty są przechowywane cały czas w postaci spakowanej
i kiedy następuje do nich odwołanie następuje ich instalacja w systemie.
Formatny które mam w systemie pochodzące z różnych źródeł w swoich
plikach *.inf mają sekcje:
[MSVBVMb5.cab_Installer]
file-win32-x86=http://activex.microsoft.com/controls/vb5/MSVBVMb5.cab
InfFile=MSVBVMb5.inf
którą nie zastanwiając się zinterpretuje jako odwołanie do ... no właśnie
nie bardzo wiem do czego? Być może a nawet na pewno to ma związek z tym
jak powiedziałem po odinstalowaniu hosta skryptów systemu windows
wspomniane już kontrolki nie działają! a nawet więcej Internet Explorer
już nawet nie pyta czy je instalować! Bardzo możliwe że go właśnie w
jakiś szczególny sposób wykorzystuje.
Do czego się przydaje host skryptów jeśli tylko interpretuje skrypty
VBScript?
Nie wiem, ale
file-win32-x86=http://activex.microsoft.com/controls/vb5/MSVBVMb5.cab nie ma
nic wspólnego z VBScript. To raczej runtime dla VB, nie dla VBS! VB jest
kompilowany do kodu maszynowego, a VBS interpretowany przez host skryptów.
analizując plik tekstowy wyławiam dane w dużej ilości ...czy konieczne jest
tworzenie bazy mdb do której na końcu podłączę kontrolki np. data i dbgrid.
czy można to w jakiś inny sposób zrobić?
Jeśli chesz je tylko wyświetlić to nie potrzebujesz bazy (pliku MDB)
ale jeśli chesz je analizować, to już co innego.
A teraz szczegóły
Dodaj do projektu biblioteke (References)
Microsoft ActiveX Data Objects Recordset 2.x Library
C:Program FilesCommon FilesSystemADOmsador15.dll
oraz kontrloke grida
Microsoft DataGrid Control 6.0 (SP5) (OLEDB)
C:WINDOWSSystem32MSDATGRD.ocx
A oto prosty kod:
Private Sub Form_Load()
Dim mDane As ADOR.Recordset
Set mDane = MakeRacordset
mDane.AddNew
mDane!ID = 1
mDane!Nazwa = "Element 1"
mDane!Wartość = 0
mDane.AddNew
mDane!ID = 2
mDane!Nazwa = "Element 2"
mDane!Wartość = 10
mDane.AddNew
mDane!ID = 3
mDane!Nazwa = "Element 3"
mDane!Wartość = 7
mDane.UpdateBatch
Set DataGrid1.DataSource = mDane
DataGrid1.ReBind
End Sub
Private Function MakeRacordset() As ADOR.Recordset
Dim mRS As ADOR.Recordset
Set mRS = New ADOR.Recordset
mRS.Fields.Append "ID", adInteger
mRS.Fields.Append "Nazwa", adVarWChar, "50"
mRS.Fields.Append "Wartość", adCurrency
mRS.Open
Set MakeRacordset = mRS
End Function
Jeśli chesz je tylko wyświetlić to nie potrzebujesz bazy (pliku MDB)
ale jeśli chesz je analizować, to już co innego.
A teraz szczegóły
Dodaj do projektu biblioteke (References)
Microsoft ActiveX Data Objects Recordset 2.x Library
C:Program FilesCommon FilesSystemADOmsador15.dll
oraz kontrloke grida
Microsoft DataGrid Control 6.0 (SP5) (OLEDB)
C:WINDOWSSystem32MSDATGRD.ocx
A oto prosty kod:
Private Sub Form_Load()
Dim mDane As ADOR.Recordset
Set mDane = MakeRacordset
mDane.AddNew
mDane!ID = 1
mDane!Nazwa = "Element 1"
mDane!Wartość = 0
mDane.AddNew
mDane!ID = 2
mDane!Nazwa = "Element 2"
mDane!Wartość = 10
mDane.AddNew
mDane!ID = 3
mDane!Nazwa = "Element 3"
mDane!Wartość = 7
mDane.UpdateBatch
Set DataGrid1.DataSource = mDane
DataGrid1.ReBind
End Sub
Private Function MakeRacordset() As ADOR.Recordset
Dim mRS As ADOR.Recordset
Set mRS = New ADOR.Recordset
mRS.Fields.Append "ID", adInteger
mRS.Fields.Append "Nazwa", adVarWChar, "50"
mRS.Fields.Append "Wartość", adCurrency
mRS.Open
Set MakeRacordset = mRS
End Function
rewelacja, tego właśnie potrzebowałem, dzięki
wiesz może jak rozpoznać w którą komórkę się kliknęło w datagrid? potrzebuje to
do sortowania :)
i jak to zapisać do np txt :)
ale najpierw dodaj do projektu referencje do
Microsoft ActiveX Data Objects
a oto kod:
Dim vb_produkt As String
Dim vb_ile As Integer
'!!!!!!!!
Dim vb_cena As Currency
'!!!!!!!!
' NIGDY cen nie przechowuj w zmiennnych zmiennoprzecinkowych
' w VB jest specjalny typ Currency przeznaczony dla takich wartości
' Jeśli typ Currency jest mało precyzyjny, to jest jeszcze typ Decimal
' np.
' Dim decCenaEx as Variant
' decCenaEx = CDec("100,01")
Dim vb_typ As String
Dim vb_vip As String
Dim vb_kod As Integer
Dim cn As ADODB.Connection
Set cn = New ADODB.Connection
'cn.Open ("DSN=MAGAZYN;UID=userek;Password=haselko;")
cn.Open "Provider=SQLOLEDB.1;Password=hasełko;Persist Security Info=True;User ID=userek;" & _
"Initial Catalog=nazwa_twojej_bazy;Data Source=IP_lub_nazwa_twojego_serwera"
' pozbądź się ODBC i DSN'ów, wszystkie wywołania poprzez ODBC w VB są kilka razy wolniesze od OLEDB
Dim mCmd As New ADODB.Command
' Obiekt ADODB.Command dokonuje wszystkich wymaganych konwersji przed wykonaniem T-SQLa
Set mCmd.ActiveConnection = cn
mCmd.CommandType = adCmdText
mCmd.CommandText = "UPDATE PRODUKTY SET PRODUKT = ?, ILE = ?, CENA = ?, " & _
"TYP = ?, VIP = ? WHERE ID_PRO = ? "
' Tutaj ważna jest teraz kolejność deklaracji
mCmd.Parameters.Append mCmd.CreateParameter("Product", adVarChar, adParamInput, 20)
' ostatni parametr {wielkość} jest zależny od wielkości pola w bazie
mCmd.Parameters.Append mCmd.CreateParameter("Ile", adInteger, adParamInput)
mCmd.Parameters.Append mCmd.CreateParameter("Cena", adCurrency, adParamInput)
mCmd.Parameters.Append mCmd.CreateParameter("Typ", adVarChar, adParamInput, 20)
' to samo co w pierwszym parametrze
mCmd.Parameters.Append mCmd.CreateParameter("Vip", adVarChar, adParamInput, 20)
' to samo co w pierwszym parametrze
mCmd.Parameters.Append mCmd.CreateParameter("Kod", adInteger, adParamInput)
' *****
mCmd!Product = vb_produkt
mCmd!Ile = vb_ile
mCmd!Cena = vb_cena
mCmd!Typ = vb_typ
mCmd!Vip = vb_vip
mCmd!Kod = vb_kod
mCmd.Execute
' *****
' kod między gwiazdkami możesz wykonywać wielokrotnie w pętli
' dla różnych wartosci parametrów vb_*,
' bez ponownej koniecznosci dekalaracji obiektu ADODB.Command
Set mCmd = Nothing
cn.Close
Set cn = Nothing
Witam!
Jak dojsc co powoduje takie cos w programie VB?
"Program spowodował błąd: nieprawidłowa strona w
module <nieznanyprzy 0141:518915b0.
Rejestry:
EAX=00000000 CS=015f EIP=518915b0 EFLGS=00010202
EBX=0077fa34 SS=0167 ESP=0077f9e4 EBP=0077fa00
ECX=00000000 DS=0167 ESI=0000ca58 FS=663f
EDX=0000ca74 ES=0167 EDI=0077f9e8 GS=84a7
Bajtów w CS:EIP:
Stos:
bff7363b 00000f6c 00000002 00000000 00000000 ca326637 00000167 0077fa14
bff942e7 84a7ca58 000084a7 00000000 bff719b8 0000ca52 0077fe28 bff7186d"
Najgorsze w tym jest to, ze w win2000 i NT chodzi toto poprawnie natomiast w
win9x za kazdym razem sie wywala.
Zrobilem zapisywanie kolejnych krokow wykonywanych przy wychodzeniu i
wyglada na to, ze wywala sie na samym koncu.
[04-18-2000] [12:24:41 PM] początek MDIForm_QueryUnload
[04-18-2000] [12:24:41 PM] MDIForm_QueryUnload-SaveProjectPos
[04-18-2000] [12:24:41 PM] MDIForm_QueryUnload-Unload frmProject
[04-18-2000] [12:24:41 PM] MDIForm_Unload-pDetachMessages
[04-18-2000] [12:24:41 PM] MDIForm_Unload-UnlockWindow
[04-18-2000] [12:24:41 PM] MDIForm_Unload-KoniecProgGielda
[04-18-2000] [12:24:41 PM] KoniecProgG
ielda-fMainForm.rbrMain.RemoveAllRebarBands
[04-18-2000] [12:24:41 PM] KoniecProgGielda-SaveSetting
[04-18-2000] [12:24:41 PM] KoniecProgGielda-EndApp
[04-18-2000] [12:24:41 PM] KoniecProgGielda-Unload fMainForm
[04-18-2000] [12:24:41 PM] KoniecProgGielda-gdb.Close
[04-18-2000] [12:24:41 PM] KoniecProgGielda-end
Refernecje w projekcie
Reference=OLE Automation
Reference=Microsoft Scripting Runtime
Reference=VB Web Subclassing DLL
Reference=vbAccelerator Popup Menu DLL. Compiled to VB6. Create unlimited
new pop-up menus.
Reference=VB Web Common Dialog DLL
Reference=Microsoft Jet and Replication Objects 2.5 Library
Reference=Microsoft ActiveX Data Objects 2.5 Library
Ma ktos jakies pomysly?
pzdroofka
M.Kierepka
-~ Wyslano ze strony - http://www.com.pl ~-
Witam!
Jak dojsc co powoduje takie cos w programie VB?
"Program spowodował błąd: nieprawidłowa strona w
module <nieznanyprzy 0141:518915b0.
Rejestry:
EAX=00000000 CS=015f EIP=518915b0 EFLGS=00010202
EBX=0077fa34 SS=0167 ESP=0077f9e4 EBP=0077fa00
ECX=00000000 DS=0167 ESI=0000ca58 FS=663f
EDX=0000ca74 ES=0167 EDI=0077f9e8 GS=84a7
Bajtów w CS:EIP:
Stos:
bff7363b 00000f6c 00000002 00000000 00000000 ca326637 00000167 0077fa14
bff942e7 84a7ca58 000084a7 00000000 bff719b8 0000ca52 0077fe28 bff7186d"
Najgorsze w tym jest to, ze w win2000 i NT chodzi toto poprawnie natomiast w
win9x za kazdym razem sie wywala.
Zrobilem zapisywanie kolejnych krokow wykonywanych przy wychodzeniu i
wyglada na to, ze wywala sie na samym koncu.
[04-18-2000] [12:24:41 PM] początek MDIForm_QueryUnload
[04-18-2000] [12:24:41 PM] MDIForm_QueryUnload-SaveProjectPos
[04-18-2000] [12:24:41 PM] MDIForm_QueryUnload-Unload frmProject
[04-18-2000] [12:24:41 PM] MDIForm_Unload-pDetachMessages
[04-18-2000] [12:24:41 PM] MDIForm_Unload-UnlockWindow
[04-18-2000] [12:24:41 PM] MDIForm_Unload-KoniecProgGielda
[04-18-2000] [12:24:41 PM] KoniecProgG
ielda-fMainForm.rbrMain.RemoveAllRebarBands
[04-18-2000] [12:24:41 PM] KoniecProgGielda-SaveSetting
[04-18-2000] [12:24:41 PM] KoniecProgGielda-EndApp
[04-18-2000] [12:24:41 PM] KoniecProgGielda-Unload fMainForm
[04-18-2000] [12:24:41 PM] KoniecProgGielda-gdb.Close
[04-18-2000] [12:24:41 PM] KoniecProgGielda-end
Refernecje w projekcie
Reference=OLE Automation
Reference=Microsoft Scripting Runtime
Reference=VB Web Subclassing DLL
Reference=vbAccelerator Popup Menu DLL. Compiled to VB6. Create unlimited
new pop-up menus.
Reference=VB Web Common Dialog DLL
Reference=Microsoft Jet and Replication Objects 2.5 Library
Reference=Microsoft ActiveX Data Objects 2.5 Library
W zasadzie dwie sprawy (bez pełnego kodu nie da się wiele powiedzieć)
Nie wiem, czy Microsoft Jet and Replication Objects 2.5 Library nie
gryzie sie z Microsoft ActiveX Data Objects 2.5 Library
I drugie - nie próbowałeś zamienić
Reference=VB Web Subclassing DLL
na to subclassing z vbacc?
I na pewno nie pomieszałeś wersji popup dla vb6 i vb5 ??
| | jak przechowywany w pamieci recordset podlaczyc do datareport?
| Set myDataReport.DataSource = myRecordset
| Po podlaczeniu raportu do zrodla nalezy jeszcze przypisac
| wartosci do poszczegolnych kontrolek w raporcie
| With .Sections(1)Control
| .Item("text1").DataField = myRecordset.Fields(0).Name
| .Item("text2").DataField = myRecordset.Fields(1).Name
| End With
| no tak coś niebardzo,
| Argumenty są niewłasciwego typu, wykraczaja poza dopuszczalny zakres lub
| sa ze
| soba w konflikcie"
| hmmmmmmmm
| Moze wklej kawalek kodu bedzie wiecej wiadomo
| Janusz
No niestety, pomyslalem o tym ale to tez nie dziala :(
A tak wyglada kod przykladowy
Public mDane As ADODB.Recordset
Private Sub Form_Load()
Set mDane = MakeRacordset
[...]
:) Widze troche znajomego kodu.
Ale przechodząc do tematu
robiłem tak jak ty
1. dodałem do projektu DataReport (MSDataReportLib.DataReport)
C:WINDOWSSystem32MSDBRPTR.DLL
Microsoft Data Report Designer 6.0 (SP4)
2. umieściłem na raporcie 3 pola tekstowe (RptTextBox)
3. umieściłem na domyślej formatce projektu przycisk
4. wkopiowałem do tej formatki twój kod
5. dodałem referencje do 'Microsoft ActiveX Data Objects 2.8 Library'
zmieniłem tylko .Show na .Show vbModal
I najgosze jest to, że raport się pokazał, żadnych błędów.
Proponował bym sprawdzić czy pola RptTextBox (Text1, Text2, Text3)
nie mają wypełnionych właściwości DataField i DataMember
czy DataReport1 nie ma wypełnionych właściwości DataSource i DataMember
wszystkie te pola w twoim przypadku powinny być puste gdyż wypełniasz je z kodu
(moga tam być pozostałości po eksperymentach z DataEnvironment)
Sprawdź też czy masz zainstalowanego ServicePack'a 5 do Visual Basic'a
| | Set myDataReport.DataSource = myRecordset
| Po podlaczeniu raportu do zrodla nalezy jeszcze przypisac
| wartosci do poszczegolnych kontrolek w raporcie
| Â With .Sections(1)Control
| Â .Item("text1").DataField = myRecordset.Fields(0).Name
| Â .Item("text2").DataField = myRecordset.Fields(1).Name
| Â End With
| no tak coś niebardzo,
| Argumenty są niewłasciwego typu, wykraczaja poza dopuszczalny zakres lub
| sa ze
| soba w konflikcie"
| hmmmmmmmm
| Moze wklej kawalek kodu bedzie wiecej wiadomo
| Janusz
| No niestety, pomyslalem o tym ale to tez nie dziala :(
| A tak wyglada kod przykladowy
| Public mDane As ADODB.Recordset
| Private Sub Form_Load()
| Â Set mDane = MakeRacordset
[...]
:) Widze troche znajomego kodu.
Ale przechodząc do tematu
robiłem tak jak ty
1. dodałem do projektu DataReport (MSDataReportLib.DataReport)
  C:WINDOWSSystem32MSDBRPTR.DLL
  Microsoft Data Report Designer 6.0 (SP4)
2. umieściłem na raporcie 3 pola tekstowe (RptTextBox)
3. umieściłem na domyślej formatce projektu przycisk
4. wkopiowałem do tej formatki twój kod
5. dodałem referencje do 'Microsoft ActiveX Data Objects 2.8 Library'
zmieniłem tylko .Show na .Show vbModal
I najgosze jest to, że raport się pokazał, żadnych błędów.
Proponował bym sprawdzić czy pola RptTextBox (Text1, Text2, Text3)
nie mają wypełnionych właściwości DataField i DataMember
czy DataReport1 nie ma wypełnionych właściwości DataSource i DataMember
wszystkie te pola w twoim przypadku powinny być puste gdyż wypełniasz je z
kodu
(moga tam być pozostałości po eksperymentach z DataEnvironment)
Sprawdź też czy masz zainstalowanego ServicePack'a 5 do Visual Basic'a
--
_______
Robert Winkler
jakie argumenty to nie wiem bo mi nie podaje :(
mam pusty datareport z pustymi polami
i puste pola tekstowe
ponadto jak podlaczylem DR do mdb to dziala bez problemu a pola txt jak mialy
wspomniane przez ciebie parametry puste tak sa nadal.
Użytkownik Tomasz Urbański <z@poczta.onet.plw wiadomości do grup
dyskusyjnych napisał:000f01c045ba$860ce700$2f66fea9@tomaj...
| Z tego co widze to ładujesz flexa ręcznie w kodzie. Nie bardzo
| rozumie dlaczego nie pozwalasz mu aby załadował się automatycznie,
| to jest dużo szybciej niż kodem.
Sorki, ze sie wtracam w dyskusje, ale pisze akurat cusik i moze mi sie
przydac ta informacja. Mianowicie, czy istnieje (jesli tak to jaki) sposob
automatycznego ladowania flexa (tzn. chce sciagnac dane z MDB).
Tak. Najprosciej zrobic to w ten sposob:
1. W menu VB6.0 Project-References dodaj Microsoft ActiveX Data Objects
Library 2.0
2. W menu Project-Components-Controls dodaj Microsoft Hierarchical
FlexGrid Control 6.0 (OLEDB)
3. Umiesc na formularzu komponenty: Adodc (bedzie mial domyslna nazwe
Adodc1) i MSHFlexGrid (bedzie mial nazwe MSHFlexGrid1)
4. Dla Adodc1 ustaw wlasciwosc 'Connection String' (jest tam kreator
polaczenia z roznymi bazami danych np. MDB)
5. Dla Adodc1 ustaw wlasciwosc 'Record Source' (mozesz np. wpisac komende
SQL SELECT * FROM MojaTabela, jesli tabela o tej nazwie jest w Twojej bazie
MDB, albo wybrac tabele z listy 'Table or Stored Procedure Name', jesli
'Command Type' ustawisz na 2-adCmdTable).
5. Dla MSHFlexGrid ustaw wlasciwosc 'Data Source' na 'Adodc1'.
6. To wszystko. Niestety, FlexGrid ma ograniczona pojemnosc, na raz zaladuje
sie ~kilkanascie tys. rekordow. Aby to obejsc, trzeba troche pokombinowac w
kodzie, np. ladowac baze kawalkami po kilkanascie rekordow za nacisnieciem
przyciskow przewijania.
Powodzenia,
Marek
Pozostałe problemy, a dotyczą mnie także, są dla mnie zagadką.
___
jang
Witam.
Czy ma ktoś problemy z instalacją ostatniej poprawki 834707 ?. IE w
Pomoc-Informacje pokazuje, że ta poprawka jest zainstalowana, lecz
Windows Update ciągle pokazuje, że należy zainstalować w/w poprawkę. W
historii instalacji, na WU, jest informacja, że taka aktualizacja była
już instalowana (nawet dwukrotnie) a pomimo to, po wizycie na WU,
ponownie ta poprawka chce być instalowana. Jak temu zaradzić ?.
Dopisz do rejestru (wklej do notanika i zapisz jako plik.reg) :
------
REGEDIT4
[HKEY_LOCAL_MACHINESoftwareMicrosoftActive SetupInstalled
Components{3e7bb08a-a7a3-4692-8eac-ac5e7895755b}]
@="Q834707"
"IsInstalled"=dword:00000001
"Version"="6,0,2800,1584"
"ComponentID"="Q834707"
[HKEY_LOCAL_MACHINESoftwareMicrosoftInternet Explorer]
"ChannelLocale"="0415"
"Build"="62800.1106"
"Version"="6.0.2800.1106"
@=""
"IntegratedBrowser"=dword:00000001
"MkEnabled"="Yes"
"IVer"="103"
"CustomizedVersion"="IC"
"UpdateInf"="C:\WINDOWS\INF\Q834707.inf"
[HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionInternet
Settings]
"CodeBaseSearchPath"="CODEBASE;<http://activex.microsoft.com/objects/ocget
.dll;<http://codecs.microsoft.com/isapi/ocget.dll"
"UrlEncoding"="0x00000000"
"ActiveXCache"="C:\WINDOWS\Downloaded Program Files"
"AccessMedium"=hex:01,00,00,00
"AccessType"=hex:02,00,00,00
"MinorVersion"=";SP1;Q867801;q313829;Q837009;Q833989;Q834707;"
[HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionUninstallie
update]
"DisplayName"="Internet Explorer Q834707"
"QuietDisplayName"="Internet Explorer Q834707"
"UninstallString"="C:\WINDOWS\ieuninst.exe
C:\WINDOWS\INF\Q834707.inf"
"RequiresIESysFile"="6.0.2800.1106"
"QuietUninstallString"="C:\WINDOWS\ieuninst.exe /d
C:\WINDOWS\INF\Q834707.inf"
----------------
Po zapisie kliknij na plik.reg
PS.Przed modyfikacja wykonaj kopie Rejestru
U¿ytkownik "Piotr Palusiñski" <perf@invalid.poczta.tp.plnapisa³ w
wiadomo¶ci
[HKEY_LOCAL_MACHINESoftwareMicrosoftActive SetupInstalled
Components{3e7bb08a-a7a3-4692-8eac-ac5e7895755b}]
@="Q834707"
"IsInstalled"=dword:00000001
"Version"="6,0,2800,1584"
"ComponentID"="Q834707"
Te wpisy s± w rejestrze.
[HKEY_LOCAL_MACHINESoftwareMicrosoftInternet Explorer]
"ChannelLocale"="0415"
"Build"="62800.1106"
"Version"="6.0.2800.1106"
@=""
"IntegratedBrowser"=dword:00000001
"MkEnabled"="Yes"
"IVer"="103"
"CustomizedVersion"="IC"
"UpdateInf"="C:\WINDOWS\INF\Q834707.inf"
Brak wpisu CustomizedVersion=IC. Pozosta³e s±.
[HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionInternet
Settings]
"CodeBaseSearchPath"="CODEBASE;<http://activex.microsoft.com/objects/ocget
.dll;<http://codecs.microsoft.com/isapi/ocget.dll"
"UrlEncoding"="0x00000000"
"ActiveXCache"="C:\WINDOWS\Downloaded Program Files"
"AccessMedium"=hex:01,00,00,00
"AccessType"=hex:02,00,00,00
"MinorVersion"=";SP1;Q867801;q313829;Q837009;Q833989;Q834707;"
[HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionUninstallie
update]
"DisplayName"="Internet Explorer Q834707"
"QuietDisplayName"="Internet Explorer Q834707"
"UninstallString"="C:\WINDOWS\ieuninst.exe
C:\WINDOWS\INF\Q834707.inf"
"RequiresIESysFile"="6.0.2800.1106"
"QuietUninstallString"="C:\WINDOWS\ieuninst.exe /d
C:\WINDOWS\INF\Q834707.inf"
Te wpisy równie¿ s±.
Ustawilem folder w outlooku jako strone sieci Web
Html-lek odwoluje sie do kalendarza z folderow wspolnych (Exchange 2000)
kod wyglada tak:
"
<HTML
<HEAD
<TITLEPersonal</TITLE
<META HTTP-EQUIV="Expires" CONTENT="0"
<table id="tblTopNavBar" border="0" cellpadding="0"
cellspacing="0"
<tr</tr
</table
<object ID="HighPriorityMessages"
CLASSID="CLSID:0006F063-0000-0000-C000-000000000046"
style="width:100%;height:100%"
codebase="http://activex.microsoft.com/activex/controls/office/outlctlx.cab#
ver=9,0,0,3203"
<param name="View" value="Day"
<param name="Folder" value="\public foldersall public foldersKalendarz"
<param name="Namespace" value="MAPI"
<param name="Restriction" value=""
<param name="DeferUpdate" value="0"
</object
</td</tr</table</body</html
"
I widze sobie w outlook'u ten kalendarz
- po lewej dzien/godzina/wpisy_w_kalendarzu
- po prawej miesiac/dzien
Chcialbym sformatowac wyglad tego kalendarza --- przede wszystkim, aby
nie pokazywal "miesiac/dzien" - czyli tego co jest standardowo po prawej
stronie
nie wiem czy dobrze wytlumaczylem, ale to powinno wygladac jak "outlook na
dzis"
tyle ze wiekszosc rzeczy ma byc pobierana z folderow wspolnych Exchange'a
Wie moze ktos jakich uzyc parametrow aby to osiagnac ????
jakies wskazowki/podpowiedzi ????
Bede wdzieczny za kazda podpowiedz
Pozdrawiam
Jacek
Skoro tak jesteś z Windows zaznajomiony, to powiedz mi, do czego służy
klucz
HKEY_CLASSES_ROOTCLSID{00000319-0000-0000-C000-000000000046}MiscStatu
Eh, czy ja powiedziałem, że znam cały rejestr? Albo czy Ty znasz całe /etc?
HKEY_CLASSES_ROOTCLSID przechowuje konfiguracje interfejsów i klas
COMowych, które siedzą w DLLkach i OCXach. MiscStatus przechowuje opis
obiektu w postaci kombinacji flag bitowych. U mnie ma wartość 536 a więc są
to flagi:
OLEMISC_RENDERINGISDEVICEINDEPENDENT = 512
OLEMISC_STATIC = 8
OLEMISC_CANTLINKINSIDE = 16
Najpierw trzeba go znaleźć.
Kwestia dwóch kliknięć. Poza tym te pliki są zawsze w tych samych miejscach.
Logowania outputu uruchamianych komend i zapewnienia, że zadanie
nastawione na 20:30 uruchomi się o tej godzinie, nawet mimo obciążenia
maszyny. Chyba że harmonogram zadań nie martwi się, że ktoś akurat jest
zalogowany? Bo jak pamiętam, to w takim wypadku nie chciał uruchamiać
zadania.
Nie słyszałem o problemach z ociążeniem. To, czy ktoś jest zalogowany nie ma
znaczenia. Jakby miało to to rzeczywiście byłaby zabawka.
Super. Zajebiście wprost. Paroma kliknięciami. I spod WMI. Zdaje się, że
ten log musi być otwarty przez loggera systemowego, prawda?
Żeby go wyeksportować? Nie wiem, może.
Tylko że pod Linuksem służy to do czegoś innego niż w przypadku ActiveX.
Pod Linuksem (np. pod Debianem) opiekun dystrybucji potwierdza, że to
właśnie od niego pochodzi pakiet. W ActiveX Microsoft potwierdza, że
widział kontrolkę, więc ta kontrolka dosaje pełnię praw w systemie
(zamiast być po ludzku odpalona w sandboksie, niezależnie od poprawności
podpisu).
Użytkownik jest pytany czy chce zainstalować kontrolkę podpisaną przez
danego wystawcę. IE nie uruchamia ActiveX tylko dlatego, że jest podpisana.
Ano trzeba. Ale dlaczego Microsoft opiera o te podpisy pozwolenia dla
uruchamianego kodu? Spammerzy i inni wirusopisacze nie mają jakiegoś
specjalnego problemu ze zdobyciem podpisu pod robactwem.
Ale mogę zabronić uruchamiania jakichkolwiek MSH skryptów oprócz swoich.
<pawelchmiel@poczta.onet.plwrote in message
Witam!
Problem właściwie przedstawiłem w temacie... Jest napisana kontrolka
ActiveX.
Jest ona umieszczona na stronie. Przy pierwszym wejściu nie ma problemu -
kontrolka jest pobierana, a następnie sama się instaluje i rejestruje...
Problem powstaje gdy pojawia się nowa wersja kontrolki...
Jak wymusić żeby ta nowa kontrolka została pobrana, zainstalowana i
zarejestrowana? Czyżby trzeba to oprogramować w samej kontrolce, żeby
sprawdzała czy pojawiła się nowsza wersja jej samej? Wydaje mi się, że
rozwiązanie może być dużo prostsze... Może zadanie należy do samej
przeglądarki?
W atrybucie codebase elementu Object wskazującego na kotrolkę należy
zmodyfikować (lub dodać) informacje o wymaganej wersji kotrolki (#Version),
np:
<OBJECT ID="CommonDialog1" WIDTH=32 HEIGHT=32
CLASSID="CLSID:F9043C85-F6F2-101A-A3C9-08002B2F49FB"
CODEBASE="http://activex.microsoft.com/controls/vb5/comdlg32.cab#Version=1,0
,0,0"
</OBJECT
Więcej informacji:
http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dh...
erence/properties/codebase.asp
Znajomy uparcie twierdzi, że wystarczy że strona z tą kontrolką nie będzie
cache-owana a wtedy za każdym razem kontrolka będzie pobierana, ale to
chyba
nie jest prawda...?
Z góry przepraszam za lamerskie pytanie, ale mam z tym do czynienia po raz
pierwszy...
Z góry też dziękuję za odpowiedź. Można na priv'a.
Paweł Chmielarz
pa@neutra.com
Pozdrawiam
art
1. Czy ktoś mógłby mi wytłumaczyć jak to (ADO) dokładnie działa? Wyobrażam
sobie że do każdego typu bazy (np.Oracle,Mysql) potrzebny jest odpowiedni
sterownik ADO (chyba że korzysta się z polączenia ADO-ODBC wtedy konieczny
jest sterownik ODBC do bazy)-Czy mam racje?. Kilka takich znalazłem przy
czym nie podoba mi się iż do ich instalacji trzeba używać gotowych
instalatorów (.msi) a nie widzę możliwości zainstalowania takiego
sterownika
z poziomu instalatora progarmu który ma go wykorzystywać (czyli ja pisze
jakiś program naprzykład w VC,jego instalator instaluje też sterownik ADO
np.Oracle, powiedzmy wrzucająć gdzieś jakiegoś dll`a + kilk awpisów do
rejstru i po instalacji całość funguje) Czy coś takiego jest tutaj
możliwe?
jeśli tak jest, to świadczy to jedynie o trefności tych instalek. dlaczego
niby instalki msi nie da się zainicjować z poziomu instalatora programu?
pamiętaj też że czasem sterownik instalowany jest razem z serwerem, tak jest
w przypadku np. mssql. nie wiem jak jest dla innych dbmsów.
2. Frapuje mnie jeszcze jedna sprawa. W VBA z Excelu napotkałem możliwość
dorzucenia referencji do modułu "Microsoft ActiveX Data Objects 2.7". Co
to
jest? Czy jakiś uniwersalny sterownik ADO? Jak to wykorzystać?
to jest właśnie biblioteka ADO 2.7. w kolejnych wersjach ADO trochę
zmieniano, pamiętam np. poważne trudności w wersji 2.1. swoją drogą czegoś
nie rozumiem - jeśli korzystasz z ado w excelu, to dlaczego dziwi Cię
dodawanie referencji do ADO?
3. Na jakiejś tam stronce (www.connectionstrings.com)
znalazłem listę connection stringów ADO do różnych baz, np.:
Oracle - "Provider=msdaora;Data Source=MyOracleDB;User
Id=UserName;Password=asdasd;"
Mysql - "Provider=MySQLProv;Data Source=mydb;User
Id=UserName;Password=asdasd;"
Pytanie: o co chodzi z tym DataSource? Gdzie zdefiniować nazwę źródła
danych
dla tych baz? Logiucznieje było by dla mnie podawanie np. IP i portu
serwera. Moglibyście mi wytłumaczyc czemu jest tak a nie inaczej?
connectionstringi są specyficzne dla providera. na przykład dla połączeń do
mssql zamiast literalnej nazwy serwera można podać numer ip i numer portu.
nie wiem jak jest dla innych providerów, ale warto poeksperymentować. nie
traktuj przykładów z www.connectionstrings.com jako jedynych możliwości, to
są tylko przykłady.
pozdrawiam
Wiktor Zychla
Na liście komponentów do dodania nie mam ADO ani nic w podobie.
Microsoft ActiveX Data Objects 2.X Library
Wiktor Zychla
| Windows Media Services
| Windows Media Services 4.1 Security Patch: Severed Windows Media
| Server Connection Vulnerability
| Windows Media Services SDK
| Windows Media Technologies 7 Movie video
| Windows Media Tools
| Ostatni. I tak, jest za free.
| cholera nie mogę tego ściągnąć. transfery 900b/s i do tego zrywa po
| 200KB. czy ktoś z Was może ma gdzięś ten plik i mógłby mi go
| udostępnić.
| będę bardzo wdzięczny.
Podaj adres to ściągnę i wrzucę na eftepa.
dzięki wielkie za chęć pomocy, ale może nie będzie potrzebne.
otórz umieściłem plik multi.asf na serwerze, a w kodzie strony
wstawiłem coś takiego.
<object
id="MediaPlayer1"
classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95"
codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsm%20p2inf...."
standby="Loading Microsoft=AE Windows=AE Media Player components..."
type="application/x-oleobject" width="250" height="223" 1
style="border: 2px ridge rgb(0,0,0)"
param name="FileName" value="http://140.171.121.4/multi.asf"
<param name="ShowControls" value="true"
<param name="AutoRewind" value="false"
<param name="AutoStart" value="true"
<param name="EnableContextMenu" value="true"
<param name="AnimationAtStart" value="false"
<param name="EnableFullScreenControls" value="false"<embed
type="video/x-ms-asf-plugin" src="http://140.171.121.4/multi.asf"
name="MediaPlayer1" showcontrols="true" width="275" height="250"
bgcolor="##FFFFFF"
</object
i teraz animacja odtwarza się w oknie przeglądarki.
<div
<object id="MediaPlayer" width="320" height="310"
classid="CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95"
codebase="http://activex.microsoft.com/activex/controls/
mplayer/en/nsmp2inf.cab#Version=5,1,52,701" standby= "Ładuję Media
Player" type="application/x-oleobject"
<param name="FileName" value="test.avi"
</param<param name="AutoStart" value="true"
</param<param name="ShowControls" value="true"
</param<param name="ShowStatusBar" value="true"
<embed type="application/x-mplayer2"
pluginspage="http://www.microsoft.com/Windows/MediaPlayer/"
src="test.avi" width="320" height="310" name="MediaPlayer"
autostart="True" ShowStatusBar="1" ShowControls="1"</embed
</param</object
</div
<a type="video/x-msvideo" href="test.avi"Nie widzisz filmu powyżej?
Uruchom zatem film z własnej aplikacji klikając w ten link.</a
Generalnie wydaje mi się, że źle osadzam to w xhtml-u, ale naprowadźcię,
bo na google nic konkretnego w tej materii nie znalazłem.
Chciałem również osiągnąć taki efekt, aby plik avi w tym przypadku był
od razu odtwarzany, a nie dopiero jak zostanie ściągnięty, ale nie wiem
czy to przypadkiem nie jest raczej zależne od formatu pliku video. Np.
pliki asf buforują się elegancko.
Czy to raczej kwestia ustawienia playera?
Jak to jest z tym osadzaniem plików video.
Trochę dowiedziałem się:
http://www.spartanicus.utvinternet.ie/embed.htm , jednak to za mało.
Oto kod:
<html<head</head<body
<object ID="MediaPlayer1" width=280 height=45
classid="CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95"
codebase="
http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab..."
standby="Loading Microsoft? Windows? Media Player components..."
type="application/x-oleobject"
<param NAME="FileName" VALUE="konstrukcja_1.wmv"
<param NAME="animationatStart" VALUE="true"
<param NAME="transparentatStart" VALUE="true"
<param NAME="autoStart" VALUE="true"
<param NAME="showControls" VALUE="true"
<param name="Volume" value="0"
<embed type="application/x-mplayer2"
pluginspage =" http://www.microsoft.com/Windows/MediaPlayer/"
SRC="konstrukcja_1.wmv"
name="MediaPlayer1"
width=400
height=200
AutoStart=true
</embed
</object
</body</html
Równie dobrze działa u mnie otworzenie tego pliku z bezpośredniego
linku: <a
href="http://www.dragon.c.win.pl/konstrukcja_1.wmv"konstrukcja_1.wmv</a
i podobnie kolega nie potrafi tego otworzyć na Win XP (IE 6).
Czy jakiekolwiek opcje odczytywania pliku .wmv są ustawiane po stronie
serwera? Zauważyłem, że np. na serwerach and.pl nie są one w ogóle
odczytywane (dostawca blokuje rozszerzenia plików multimedialnych - wmv,
mp3 itd.), myślałem, że po przeniesieniu na inny serwer będzie ok.
Proszę o jakieś wskazówki.
Znalazłem coś takiego ale za chiny nie mogę sobie poradzić. Po prostu na
stronie widac odtwarzacz ale nie mogę wskazać żeby odtwarzany plik był w
nim
widziany
pozdr
wcprezes
<center
<b<font size="2"
<OBJECT ID="mediaPlayer"
CLASSID="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95"
CODEBASE="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.
cab#Version=5,1,52,701"
STANDBY="Loading Microsoft Windows Media Player components..."
TYPE="application/x-oleobject"
width=295
<PARAM NAME="fileName" VALUE="video/Klip1.wmv" valuetype="ref" ref
<PARAM NAME="animationatStart" VALUE="-1"
<PARAM NAME="transparentatStart" VALUE="-1"
<PARAM NAME="autoStart" VALUE="-1"
<PARAM NAME="showControls" VALUE="-1"
<param name="AudioStream" value="-1"
<param name="AutoSize" value="0"
<param name="AllowScan" value="-1"
<param name="AllowChangeDisplaySize" value="-1"
<param name="AutoRewind" value="-1"
<param name="Balance" value="0"
<param name="BaseURL" value
<param name="BufferingTime" value="5"
<param name="CaptioningID" value
<param name="ClickToPlay" value="-1"
<param name="CursorType" value="0"
<param name="CurrentPosition" value="-1"
<param name="CurrentMarker" value="0"
<param name="DefaultFrame" value
<param name="DisplayBackColor" value="0"
<param name="DisplayForeColor" value="16777215"
<param name="DisplayMode" value="0"
<param name="DisplaySize" value="4"
<param name="Enabled" value="-1"
<param name="EnableContextMenu" value="-1"
<param name="EnablePositionControls" value="-1"
<param name="EnableFullScreenControls" value="0"
<param name="EnableTracker" value="-1"
<param name="InvokeURLs" value="-1"
<param name="Language" value="-1"
<param name="Mute" value="0"
<param name="PlayCount" value="1"
<param name="PreviewMode" value="0"
<param name="Rate" value="1"
<param name="SAMILang" value
<param name="SAMIStyle" value
<param name="SAMIFileName" value
<param name="SelectionStart" value="-1"
<param name="SelectionEnd" value="-1"
<param name="SendOpenStateChangeEvents" value="-1"
<param name="SendWarningEvents" value="-1"
<param name="SendErrorEvents" value="-1"
<param name="SendKeyboardEvents" value="0"
<param name="SendMouseClickEvents" value="0"
<param name="SendMouseMoveEvents" value="0"
<param name="SendPlayStateChangeEvents" value="-1"
<param name="ShowCaptioning" value="0"
<param name="ShowAudioControls" value="-1"
<param name="ShowDisplay" value="0"
<param name="ShowGotoBar" value="0"
<param name="ShowPositionControls" value="-1"
<param name="ShowStatusBar" value="0"
<param name="ShowTracker" value="-1"
<param name="VideoBorderWidth" value="0"
<param name="VideoBorderColor" value="0"
<param name="VideoBorder3D" value="0"
<param name="Volume" value="-380"
<param name="WindowlessVideo" value="0"
</OBJECT</font</b</center
<br<br
</td</tr
</table
</td
<td colspan=3 valign=top class=content
<a name='video1'</a
Dobra już sobie poradziłem
thx
wcprezes
Function Next_Custom_Counter()
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Warunkiem działania tego kodu jest odwołanie do biblioteki:
' Microsoft ActiveX Data Objects 2.x Library
' Aby odwołać się do tej biblioteki, przejdź do menu Tools,
' kliknij polecenie References i zaznacz bibliotekę na liście dostępnych
' odwołań (w wersji 2.1 lub nowszej).
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
On Error GoTo Next_Custom_Counter_Err
Dim rs As ADODB.Recordset
Dim NextCounter As Long
Set rs = New ADODB.Recordset
' Otwarcie zestawu rekordów ADO.
rs.Open "CounterTable", CurrentProject.Connection, adOpenKeyset,
adLockOptimistic
' Pobranie następnego licznika.
NextCounter = rs!NextAvailableCounter
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Otwarcie tabeli i pobranie aktualnej wartości pola NextAvailableNumber,
' zwiększenie go o wartość 10 i zapisanie go z powrotem do tabeli '
' Następny wiersz można zmienić zgodnie z preferencjami dotyczącymi
' niestandardowego licznika. W tym przykładzie wartość zwiększa się o 10
' przy każdym wywołaniu.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
rs!NextAvailableCounter = NextCounter + 10
NextCounter = rs!NextAvailableCounter
rs.Update
MsgBox "Następna dostępna wartość licznika: " & Str(NextCounter)
rs.Close
Set rs = Nothing
Next_Custom_Counter = NextCounter
Exit Function
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Następujący podprogram obsługi błędu powinien być zastąpiony przez
' odpowiedni podprogram niestandardowy. W tym przykładzie tylko
' wznawia się wykonanie po wystąpieniu błędu. Jeśli nastąpi błąd
' blokady rekordu, wówczas to wystarczy, ale każdy inny błąd
' doprowadzi do pętli nieskończonej.
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Next_Custom_Counter_Err: MsgBox "Błąd: " & Err & ": " & Error$
If Err < 0 Then Resume
End
End Function
|| PS.
|| Na końcówkach na których będzie baza musisz mieć dao
|| zarejestrowane inaczej będzie ci wywalało błędy
|| (hehehe bo się moduł nie będzie chciał skompilować ;-)
DAO jest integralną częścią access'a, więc jeśli gdziekolwiek access jest
zainstalowany (czy to w wersji pełnej czy RT) to biblioteka ta równiez
jest instalowana !
| W nowszych wersjach MS Access w projekcie VBA defaultową referencją jest
| Microsoft ActiveX Data Objects 2.X Library (poprzednio było DAO) i
| dlatego jesli chcemy korzystać w obiektów DAO , no Recordset DAO możemy
| zrobić, a właściwie musimy, jedną z 3-ch następujących rzeczy
Nie do końca ! Access 2003 obecnie ma domyslnie zaznaczone obydwie
referencje, z DAO w pierwszej kolejności !
| 1. Dodać referencję w projekcie do Microsoft DAO 3.X Object Library, a
| linija kodu deklaracji powinna wówczas wygladać następująco:
(...)
| 2. Dodać referencję w projekcie do Microsoft DAO 3.X Object Library oraz
(...)
| 3. Zadbać o to aby refrecje w projekcie w okienku referencji były w
(...)
| czyli w każdym przypadku bezpieczniej jest użyć jednak deklaracji
| zprefiksem DAO
Jest jeszcze 4-ty sposób, wydaje się że bardzo uzyteczny dla tych
wszystkich, którzy większy akcent kładą na ADO niz DAO.
W ich przypadku DAO przydaje się w bardzo nielicznych sytuacjach, których
ADO (ADODB + ADOX) nie potrafi obsłużyć (przykłady można znaleźć na
stronie Michaela Kaplana)
Pamiętajmy, że DAO ładowane jest ZAWSZE, niezależnie od obecności na
liście referencji (oczywiście nie mówię o projektach ADP).
Bezpośrednie odwołania do jego obiektów dostarczają nam takie
funkcje/metody jak:
- DBEngine
- CurrentDb
- Me.RecordsetClone
Dlatego ZAWSZE możemy otworzyć jakiś DAO.Recordset poprzez deklarację
ogólną:
Dim db as Object ' As DAO.Database
Dim rs as Object ' As DAO.Recordset
Set db = Currentdb
Set rs = db.OpenRecordset(...)
oczywiście to nie metoda dla ludzi w ogóle nieznających DAO, bo szlag
trafia wszelkie podpowiedzi składni w IDE, niemniej ...
Bardzo popularny kawałek kodu, wyszukujący dane na formularzu:
Dim rs as DAO.Recordset
Set rs = Me.RecordsetClone
With rs
.FindFirst "MojePole=" & JakisKlucz
if .NoMatch Then
...
else
Me.Bookmark = .Bookmark
end if
End With
możemy nadal śmiało używać pomimo braku DAO na liście referencji:
Dim rs as Object ' !!!!
(...)
itd.
lub po prostu:
With Me.RecordsetClone
.FindFirst "MojePole=" & JakisKlucz
(...)
itd.
Tworząc nową bazę masz domyślnie ustawione odwołania do:
1. OLE Automation
2. MS ADO 2.1.
a brakuje
- MS DAO 3,6 Object Library
bez którego nie możesz definiować takich obiektów jak Database, QueryDef i
inne
a Recordset odwołuje się do ADO.Recordset, który ma inne metody i
właściwości niż DAO.Recordset
Oto lista referencji, które mam zaznaczone:
Visual Basic For Applications
Microsoft Access 9.0 Object Library
Microsoft DAO 3.6 Object Library
OLE Automation
Microsoft ActiveX Data Objects 2.1 Library
Microsoft Calendar 9.0
MISSING: Tutor ActiveX Control Module
Disk-Management Snap-In Object Library
ctv OLE Control Module
Microsoft Windows Common Controls 6.0
Microsoft Outlook 9.0 Object Library
Microsoft Excel 9.0 Object Library
Microsoft Office 9.0 Object Library
Microsoft SQL Parser Object Library 1.0
Microsoft Visual Basic For Applications Extensibility 5.3
acwzmain
Microsoft ActiveX Data Objects Recordset 2.5 Library
Kopiując, stosując rozwiązania przeznaczone dla DAO powinieneś:
1. Ustawić w referencjach odwołanie do DAO
(moduły / tools /references)
2. Definiować obiekty w sposób jawny:
Dim rec As DAO.Recordset
i dodatkowo (dla tych co wiedzą co robią)
- w ogóle odhaczyć tamte dwa pierwsze odwołania, albo "przesunąć" je pod
DAO
(odhaczyć i po ponownym otwarciu ponownie zahaczyć)
KN
Moja procedura wygląda tak. Nie działa gdy aktywne są wiersze 1, 2 i 3. Po
zakomentowaniu tych wierszy wszystko działa prawidłowo. O co chodzi ???
Private Sub btnFiltruj_Click()
Dim baza As DAO.Database
Dim recset As DAO.Recordset, rs As DAO.Recordset
Dim miastoid As Integer, formrozlid As Integer, cyklrozlid As Integer
Dim liczyoczy As Integer, ilerec As Integer, licznik As Integer
Dim strsql As String
Set baza = CurrentDb
Set rs = baza.OpenRecordset("szkoly")
rs.MoveLast
MsgBox "Wykonano otwarcie recordsetu"
lstFiltered.Visible = True
ilerec = rs.RecordCount ' wiersz 1
MsgBox "Liczba rekordów: " & Str(ilerec) ' wiersz 2
rs.Close ' wiersz
3
MsgBox "Koniec Procedury!"
End Sub
Pozdrawiam
Wojciech G
<OBJECT ID="mp"
WIDTH="512"
HEIGHT="400"
classid=CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6
codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.ca
b#Version=5,1,52,701"
STANDBY="Loading Microsoft Windows Media Player components..."
TYPE="application/x-oleobject"
<param name="fileName" value="Klub NK"
<param name="url" value="MyRoom04f.wmv"
<param name="showControls" value="true"
<param name="ShowCaptioning" value="1"
<param name="AnimationAtStart" value="1"
<param name="AutoStart" value="1"
<param name="ClickToPlay" value="0"
<param name="Displaybackcolor" value="#000000"
<param name="EnableContextMenu" value="1"
<param name="SendPlayStateChangeEvents" value="1"
<param name="SendOpenStateChangeEvents" value="1"
<param name="SendWarningEvents" value="1"
<param name="SendErrorEvents" value="1"
<param name="ShowStatusBar" value="1"
<param name="ShowPositionControls" value="1"
<param name="ShowTracker" value="1"
<param name="TransparentAtStart" value="1"
<param name="SetFullscreen" value="true"
<!--- <param name="uiMode" value="none"czy ma byc layout ---
<EMBED type="application/x-mplayer2"
pluginspage="http://www.microsoft.com/Windows/Downloads/Contents/Products/Medi
aPlayer/"
- SRC="MyRoom04f.wmv"
name="mp"
width="512"
height="400"
autostart="1"
windowlessvideo="TRUE"
stretchToFit="TRUE"
enableContextMenu="true"
ShowCaptioning="1"
ShowControls="1"
ShowDisplay="1"
ShowGotoBar="1"
ShowPositionControls="1"
ShowStatusBar="1"
ShowTracker="1"
<!-- uiMode="none" ---
</EMBED
</OBJECT
Andrzej.
(I cross posted this reply to all n/gs which received the original message.
The n/g's that look most appropriate to me are
*microsoft.vb.general.discussion* or
*microsoft.activex.programming.control.webdc*, so I ask other replying
authors to post to one of these two)
Some considerations:
*All the considerations you listed are fairly easily accomplished via both
ActiveX and ASP with the exception of printing. I don't know much about
printing w/ ASP but I have the impression it's hard (programmatically
impossible?)
*If the clients have IE4, ASP & dHTML are very powerful tools. Of your
considerations I'd say printing is the only hard one for ASP. To print I
think you have to tell them to go the File|Print on the browser.
*If they don't have a dHTML browser ASP won't be as effective. The web-app
won't be as 'appy' (dynamic) and will be more 'webby'(static). (ex. You
can't re-sort columns very easily, etc)
*ActiveX controls will d/l quite quickly on a LAN/ISDN
*ActiveX _may_ be more easily upgradable for future versions.
*Both of these are slow: AX in d/l'ing and ASP in processing (can be quite
slow, especially on a slow server)
*How often do you want to upgrade? ActiveX will necessitate the user
re-d/l'ing the component after every recompile while ASP changes are
invisible to the user.
Personally, I'm a fan of ASP but for your project ActiveX sounds like it
might be a better technology.
Hope this helps,
Dan Moran
mora@NOSPAM.whitman.edu
Darcy Fox wrote in message <01bd7f4e$9a892de0$cb01000a@darcy...
I am contemplating the best design approach for a Intranet Web application
and would like some input. My basic understanding is that the use of
Active X documents provides more features but will be slow for users who
have to download it, and that the use of ASPs will be fast (all processing
done on the server), but the user interface and ease of programming will
suffer. I am not sure if these are accurate perceptions or not.
Here are some facts about my project:
It will require database access to an ODBC database
I would prefer display of records from the database to be sortable by the
user (via column header clicks or something)
It will use 3-5 Active X dlls (which are already created for other
applications)
It will write to text files through one of the the dlls
It will copy text files from one location on the WAN to another (the WAN is
ISDN)
It will allow the user to print a formatted report
It will probably only require one Active X Document or ASP to accomplish
the job
It will have a small number of users, ie less than 25
If I wrote this application strictly in VB, I would consider it a small
project, taking less than a week to complete and distribute. However, I am
looking for a way to make the best use of VB's Active X options and reduce
my installation and support burden by providing a Web UI.
I am guessing there are other programmers who have tackled this question in
real-world situations. I would greatly appreciate advice from those who've
been there...
Please post repsonses to the newsgroup, since I think others will be
interested as well. However, if you can also copy me by email, I would
appreciate that too...
Thanks!
Darcy Fox
Applied Microsystems Corp.
Minneapolis, MN USA
dar@applied-micro.com
Jeśli problem nie wystepuje już przy otwierani bazy przeanalizować trzeba
będzie
zawartość pliku .vbp Pańskiego projektu, a dokładnie wszystkie linie
zaczynające się
od 'Reference' i 'Object'.
Prawidłowe działanie aplikacji na komputerze z zainstalowanym Officem
sugeruje mi
że program może korzystać z biblioteki Forms 2.0, której nie można
redystrybuować,
ani wykorzystywać we własnych programach za wyjątkiem Addinów do VB, VS i
Office'a,
a wykorzystywana jest przez Microsoft w większości ich programów do
tworzynia
interfejsu użytkownika.
Az posprawdzalem bo juz niczego nie jestem pewien - nie, nie uzywa on Forms
2.0. Poza tym ja napisalem:
"Teraz juz kabinuje - czy to moze byc wina tego za na komputerze na
ktorym
testuje program i on nie dziala jest Office XP wiec i Access XP??"
czyli ze kompa na ktorym program NIE dziala ma zainstalowanego Offica XP.
Program natomiast dziala jesli na komputerze zainstaluje sie Visual Basica
(6.0 Enterprise)...
W references z .vbp mam pliki:
C:WINNTSystem32STDOLE2.TLB#OLE Automation
C:Program FilesCommon FilesSystemADOmsado15.dll#Microsoft ActiveX Data
Objects 2.7 Library
C:WINNTSystem32MSBIND.DLL#Microsoft Data Binding Collection
C:WINNTSystem32MSDBRPTR.DLL#Microsoft Data Report Designer v6.0
C:WINNTSystem32Msstdfmt.dll#Microsoft Data Formatting Object Library 6.0
(SP4)
oraz obiekty (tu juz zostawie calosc):
Object={F0D2F211-CCB0-11D0-A316-00AA00688B10}#1.0#0; MSDATLST.OCX
Object={C932BA88-4374-101B-A56C-00AA003668DC}#1.1#0; Msmask32.ocx
Object={CDE57A40-8B86-11D0-B3C6-00A0C90AEA82}#1.0#0; MSDATGRD.OCX
Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0; mscomctl.ocx
Wszystkie obiekty sa juz na 100% zarejestrowane na tamtym kompie...
Konfiguracje Jet'a bede mogl niestety sprawdzic najwczesniej ok 14, mozliwe
ze pozniej:-(
Dziekuje za pomoc i zainteresowani, no i za wytrwalosc i cierpliwosc do
mnie...
Przy okazji, nie spotkal sie Pan z problemem o ktorym pisze w innym watku -
DataReport+MDI?
Pozdrawiam
Marcin Staniszczak
On Thu, 5 Feb 1998, Marcin Wieczorek wrote:
| Dostęp do internetu: 4
Z graficznych przegladarek o jakim takim standardzie masz tylko
Netscape. Czyli jestes odciety od ActiveX ( wazniejsze w intranetach
niz w internecie ale zawsze ) i kanalow informacyjnych.
ActiveX ??? Nie rozsmieszaj mnie bo pekne...
Podaj 10 - niewiele, prawda - 10 POPULARNYCH stron WWW *(z wyjatkiem firmy
ktora produkuje ActiveX - Microsoft) - ktore korzystaja z tego....
Nawet Java rzadko sie zdarza, a to Netscape obsluguje swietnie. Poza
Netscape'm masz jeszcze stale rozwijajaca sie przegladarke KDE, podobnie
jak IE4 zintegrowana z FileManagerem...
| Polonizacja: 0 (!)
Nie wierz w to, ze Linuksa mozna spolonizowac. Przejrzyj sobie troche
postow z tej listy i wyjdzie Ci, ze poswiecisz na to kilka dni a i tak
nie bedzie to pelna polonizacja.
Aha... a wedlug ciebie Windows albo jakikolwiek inny system JEST w PELNI
zpolonizowany? Ile masz programow calkowicie po polsku - niewiele. Sam
system mozna w pelni zpolonizowac. Mylisz tu pojecia - bo Linux zawiera w
standardowej dystrubucji setki programow, z ktorych kazdy z osobna trzeba
by zpolonizowac.
Przyklad - mam kaprys i chce miec Netscape po polsku pod Windowsem - i nie
bede mial bo nawet nie ma jak tego zrobic.
| Środ.programistyczne: 4 (?)
0 za brak Delphi i wizualnych narzedzi do projektowania aplikacji pod
X.
10 za GCC. Wizualnych narzedzi uzywac mozna, ale konieczne one nie sa.
Akurat tutaj w skali bezwzglednej to moze bym i sie zgodzil, ale po
obejrzeniu tego typu softu na innye systemy dalbym 3. I nie mowcie mi,
ze vi to edytor HTML.
Java developement Kit pod Linuxa jest. Czyli pisac mozna. Nie ma
oczywiscie IDE dla tego jezyka. Sa wizualne edytory HTML'a... np Amaya czy
tez Netscape. Sa edytory ASCII o niebo lepsze niz pod windowsem. A HTML
pisze sie o wiele przyjemniej pod dobrym edytorem ASCII, niz pod jakims
BackPagem - chyba ze sie HTML'a nie zna...
gry,gry,gry 0 a nawet -1
jedynymi grami na Linuksa, o ktorych sie dowiedzialem to Doom,Quake 1,
Quake 2 oraz okrojona Civilization ( tylko z opcja gry sieciowej, nie
mozna grac z komputerem ).
Abuse, Angband, Nethack, XBill, XInsane, XBomberMan z tych w ktore
ostatnio tylko gralem (nie liczas wymienionych powyzej). + Wiekszosc gier
dzialajacych pod DOS'em - jest DOSemu (chodza co najmniej wszystkie gry
dzialajace w niskiej rozdzielczosci... chyba mam problemy z karta
graficzna znowu). Np. dziala Mortal Kombat 1-3. (Czegoz chciec wiecej).
No i wszystko co wyszlo pod Windows 3.11 - dzieki WABI. No i sporo gier na
Macintosha - Executor.
Juz nie mowiac o tym ze mnostwo gier pod Linuxa jest stricte multi-player,
(niewazne, ze grafika do ***, liczy sie zabawa).
Aha i -100 punktow dla Windy czy innego badziewia: pokazcie mi emulator
Linuxa na taki system. NIE MA. a na odwrot sa, chocby nie w pelni
funkcjonalne. To tyle.
© 2009 Najlepszy miesiąc kawalerski w Polsce !!! - Ceske - Sjezdovky .cz. Design downloaded from free website templates